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
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 Maturerated (Mrated) game hit or beat up someone, compared with 39% of boys and 14% of girls who did not play Mrated 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%.
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.
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
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
Week 2: Build Your Own Commands
Week 3: Abstraction Revisted
Week 4: Creativity
Week 5: Programming Paradigms
Week 6
BJCx.1 “Fun Programming Project” Specification
-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.
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%.
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.
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