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:
- software design principles
- good coding style, and documentation
- debugging and testing
- design and coding with a team
- programming in C
- programming on Unix
- use of git for source-code management
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.