Welcome to Computer Science! In this course, we will be covering a broad range of topics, including the fundamentals of algorithms, programming, electronics, robotics, networking, iPhone and Android apps, web design, politics, social and environmental issues, electronic music and visual art and much more. The goal of the course is not for students become experts in any one of these fields, but to spark their interest in the vast and ever-expanding field of Computer Science towards a lifetime of learning.
In order to cover such an enormous amount of material, students will have to come prepared to learn on their own. There is no possible way to accomplish our goals by having a teacher stand up and lecture every day while students sit and take notes. This class is going to be very hands-on and student-driven. My goal is to give meaningful assignments and guide students to acquire the knowledge they need to solve these problems.
The corollary to this philosophy is that questions like “is the class hard?” and “will there be homework?” become meaningless. If students choose to work on topics that interest them, it will not be “hard” or “a lot of work”. Will this class take up a lot of your time? I certainly hope so. I hope that you find topics so compelling that you are often surprised to look up and find you’ve spent the evening on your project without even realizing it. I hope that you continue to play with and learn about these ideas even after the course is complete. There will be times when this course is very frustrating, but with any luck, you will also find it very rewarding.
Now, on to the first week!