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 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’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.