Trying my hand at CS has been an enlightening and fascinating experience. I had been curious about computer programming since my high school days but I hadn’t felt so attracted to it before. The instructor of CS106A, Mehran Sahami, really shows how programming is an art and how it is full of creativity. Using logic to solve small yet tricky problems is the most gratifying thing ever.
The course material in CS106A is truly for a beginner. It is only the basics and nothing more. Neither should it be. Learning to code is an overwhelming experience and it can be an ordeal at the start. But sticking with the course makes it a much smoother and fun ride. The material covers only introductory aspects of CS but also drills in the learner an appreciation for good software engineering. As Julie Zelinsky (instructor for the next course CS106B) says in her intro lecture, it’s easy to hack at the keyboard and produce a working program by trial and error, but , writing well structured, designed and documented code is good software engineering.
So, that is my biggest takeaway from CS106A, along with all the basics and programming knowledge of java. I watched all the lectures multiple times. I read the course reader from cover to cover and also did a lot of the exercises at the back of each chapter. And, I did all the assignments and section handout problems. A fruitful endeavour, in my opinion.
Now, onto CS106B with Julie Zelinski, to learn the cooler and harder stuff!