EdX and Coursera (Update at the bottom of the previous post)

October 16, 2015

For Edx, I was able to complete the course The Beauty and Joy of Computing which is from the university of Berkeley.

Week 1: Abstraction

147+.PNG
Introduction to Abstraction
  • using Snap! and “big ideas” component
  • there is more to computer science than just writing computer programs
  • aspects of the social context of computing
  • theoretical explorations of the limits of computation
  • important moments of computer science
  • Big Ideas: Abstraction is the central ideas of all of the computer science
  • the bigger the program the harder to keep up with the details of the program that is why the smaller programs the easier they are
  • chunking and layering are two metaphors for abstraction
  • technological progress to greater abstraction is to reduce the extent of the people going into detail
  • all the complexity of the machinery is important
  • the development of technology is a god thing
  • abstraction barrier which is behavior, standardized, and the mechanical factors
  • there are computers that can override cars and control the functions of the car
  • interface has survived through several generations of underlying technology

Week 2: Build Your Own Commands
Building You own Command
  • Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks
  • incidental or consequential damages in connection with or arising out of the use of the information or programs
  • it can replicate and move around the world in a heartbeat
  • Instead of sending prints through the mail to Grandma, we put pictures of our children on a photo album web site such as Flickr
  • We already live in a world in which there is enough memory just in digital cameras to store every word of every book in the Library of Congress a hundred times over
  • disk storage is being produced every year that it could be used to record a page of information, every minute or two, about you and every other human being on earth
  • The digital explosion is creating both opportunities and risks. Many of both will be gone in a decade, settled one way or another
  • Text message alert groups for political candidates it would allow, but not for political causes it deemed controversial
  • Even information that exists in digital form is useless if there are no devices to read it

Week 3: Abstraction Revisted
Abstraction Revisted
  • Yet there is much about the digital world that Orwell did not imagine. He did not anticipate that cameras are far from the most pervasive of today’s tracking technologies
  • we leave digital footprints, while computers of staggering capacity reconstruct our movements from the tracks
  • even when no one requires or even asks us to do so. 55% of teenagers and 20% of adults have created profiles on social networking web sites
  • The explosive growth in digital technologies has radically altered our expectations about what will be private and shifted our thinking about what should be private
  • The social evolution that was supported by consumer technologies in turn made us more accepting of new enabling technologies; the social and technological evolutions have proceeded hand in hand
  • Many privacy-shattering things have happened to us, some with our cooperation and some not
  • If I send an email or download a web page, it should come as no surprise that I’ve left some digital footprints
  • There was a sensible rationale behind this technology
  • Many people, for perfectly legal and valid reasons, would like to protect their anonymity
  • Finally, we give up data about ourselves because we don’t have the time, patience, or single-mindedness about privacy that would be required to live our daily lives in another way
  • So far, we have discussed losses of privacy due to things for which we could, in principle anyway, blame ourselves

Week 4: Creativity
Creativity
  • New participatory websites create even bigger opportunities for information-sharing
  • The digital explosion is shattering old assumptions about who knows what
  • Bits move quickly, cheaply, and in multiple perfect copies
  • We may once have had the privilege of turning it off, but we have that privilege no more
  • the deviations from social norms that are much riskier to the individual in the glare of public exposure, but which can be, and often have been in the past, the leading edges of progressive social changes
  • We don’t want to have to keep retyping our name and address when we return to a web site
  • Some ongoing research is outlining a possible new web technology, which would help ensure that information is used appropriately even if it is known
  • Perhaps a nuanced classification of the ways in which others are allowed to use information about us would relieve some of our legitimate fears about the effects of the digital explosion
  • university’s computer kept track of his comings and goings, just as other computers keep track of every card swipe

Week 5: Programming Paradigms
Programming Paradigms
  • An estimated four out of five US households with a male child own a video game system and worldwide sales of video games are predicted to reach $102.9 billion in 2017
  • Pros
  • 60% of middle school boys and 40% of middle school girls who played at least one Mature­rated (Mrated) game hit or beat up someone, compared with 39% of boys and 14% of girls who did not play M­rated games
  • Video games often require players to simulate violent actions, such as stabbing, shooting, or dismembering someone with an ax, sword, chainsaw, or other weapons
  • Young children are more likely to confuse fantasy violence with real world violence, and without a framework for ethical decision making, they may mimic the actions they see in violent video games
  • Cons
  • boys, play video games as a means of managing their emotions: "61.9% of boys played to 'help me relax,' 47.8% because 'it helps me forget my problems,' and 45.4% because 'it helps me get my anger out."
  • Their ability to distinguish between fantasy and reality prevents them from emulating video game violence in real life.
  • Video game experiments often have people playing a game for as little as ten minutes, which is not representative of how games are played in real life.
November 13, 2015
Week 6
BJCx.1 “Fun Programming Project” Specification
WHAT MAKES A GOOD PROJECT
-a good project should demonstrate the ideas you have learned in the course
-make use of variables, conditionals, loops, custom blocks and have some form of user interaction (clicking, typing, etc
-clear how to interact with your project – you might show your project to a friend (without telling them how to use it) to see if your project is intuitive
- add comments to your code to help explain what it does
-might take a look at the blocks in the Sensing, Sound, Graphics palette; they can be used to make your project more engaging.
Week 7
Final Exam
For the final exam it consisted of 10 question which were kind of difficult but I was still able to pass with 8/10 which is an 80%.
14.PNG
In this question that was on the final exam, I got it correct because I was able to recall that the second one does not accomplish the goal of code segments which this one was more towards the easy questions on the test.
13.PNG
This was however a very difficult question because I could not remember all of the programming paradigms that sketchpad demonstrates. I thought of only two which were the functional and declarative which were incorrect because I know that one of them is not correct and that I need to replace it with another answer choice.

For Coursera, I am now attending Algorithms Part 1 of Princeton University online course.
Coursera for Algorithms consist of watching videos which can vary from 5 minutes to about 20 minutes which there were many videos for one week and some of material so far is a lot so I am reviewing the same material from the previous video so the information can stick and I can remember it so that when I do the activities at the could get a decent score.

Week 1: Union-Find
Dynamic Connectivity
  • data type
  • sorting and searching
  • number of data structures and algorithms
  • that are basic to all the methods we
  • consider including stacks, queues, bags
  • and priority queues
  • classic algorithms for sorting, putting
  • things in order. That's quicksort, mergesort, heapsort and radix sorts
  • binary search trees, red-black binary search trees and hash tables
Quick Find
  • union find problem
  • algorithm for solving the dynamic connectivity problem, called Quick-find
  • integer array indexed by object that representation is, shows that they're connected ID is equal to one of them to the other one
  • One has ID one, six has ID zero. They're not in the same connected component
  • we set up the ID array, with each entry, equal to its index
  • concrete demo in mind then moving to coding up this algorithms
  • That's our ID array. That's the data structure that's going to support this implementation
  • situation we're going to try to avoid by developing more efficient algorithms for solving problems like this
Quick Union
  • Costing involving in the ray axises just to do the find operation and that's going to be too slow if you have a lot of operations
  • code for implementing Quick-union
  • just follow ID equals ID of I until they're equal quick and elegant implementation of code to solve the dynamic connectivity problem
  • merge components containing two different items
  • uses the same data structure or array ID with size M but now it has a different interpretation
  • data structure we can associate with each item a root, which is representative, say, of its connected component
Quick- Union Improvements
  • spend millions on a super computer, and maybe
  • you could get it done in six years instead of 30, or in two months but with a fast logarithm, you can do it in seconds, in seconds on
  • iterated log function
  • running time of weighted quick union with path compression is going be linear in the real world and actually could be improved to even a more interesting function
  • huge dynamic connectivity problems only two items to link it, it works, works the same way as before
  • some guarantee that no item is too far from the root and we'll talk about that explicitly in a second
  • Java implementation and then we'll look in more detail at, at that quantitative information
Union- Find Applications
  • solve the unifying problem for huge problem
  • dynamic connectivity in networks
  • overall architecture for studying algorithms that we're going to use throughout the course
  • modeled the problem to try to understand precisely what kinds of data structures and algorithms we'd need to solve it
  • involves the scientific method
  • run a simulation for this connectivity problem
  • what we want to do is, connect, check whether any site in the bottom row is connected to any site in the top row, and use union find for that
  • run this experiment millions of times, which we can do in a computer, as long as we can, efficiently do the calculation of does it percolate or not

Add Discussion