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.
To maximize your learning efficiency during class time, you are expected to read summary of lecture notes and/or lecture notes before the class and come to the class with questions and engage in group activities.