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.

Let’s break that down. The objectives of this course are

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