In Computer Science 50 you will learn how to design & build large, reliable, maintainable, and understandable software systems. In the process you will learn to program in C with Unix development tools.

The objectives of this course are for you to learn:

The first few weeks of this course are a crash course in Unix and C. After that, you will build your very own Search Engine application. Finally, you will join a team of other students to design, build, document, and test a large software project.

We are adopting the flipped-classroom format. We expect that you’d watch the pre-released video (on Canvas) before the class and come to the class with questions and engage in group activities.