Taking a computer science course that is given at Harvard University feels good. I may not have the experience of being there, or the office hours for one on one help, however I do have reddit and stack overflow when I am confused and need some help.
Week 0 starts off with David Malan telling his students “20 years today since I last sat where you guys do now.” David is a great speaker, has a lot of energy and makes the topic of computer science fun and exciting. He goes on to explain many other domains intersects with computer science. Very quickly we are learning the binary system. I didn’t realize how easy it was to figure out.
If you need that value to create a number just “switch” it on. That is how I think of it. For example if I need to “make 10,” I “switch on” the 2 position and the 8 position.
ASCII, the American Standard Code for Information Interchange, is explained briefly, as well as RGB min/max values 0-255. There is a lot of content discussed within the 2 hour lecture. Lots of respect to David who puts a great deal of enthusiasm into his delivery to keep students engaged.
One part of the lecture that made an impact on me, was creating not just solutions, but good solutions. I guess he means code that is efficient. There were visuals on his digital black board showing a straight linear line versus the logarithm curved line. I hope to understand this better.
Towards the end we start coding using scratch, a free programming language built by MIT. It is very easy to get started with drag and drop widgets that you connect together to create programs. It’s exciting many young children will have the opportunity to use this program and may become experts one day.
Finally I got the chance to create a small scratch program. It’s very basic, looping n number of times the string “cough” and then “sneeze.” The words come out of scratch the cat, the default sprite that appears when you create a new project.
By doing this exercise we’re taught the basics of abstracting functionality. Instead of a cough method that handles the details of how to say something, we abstract that out to a say method, which is general enough to re-use for other functions that are more specific.
Tomorrow it’s back to work. I’ve already taken weeks 1 and 2 as well, and really wanted to keep writing about what i’ve learned, but I have to get to bed for early morning cardio.
That’s all for now!