CSCI 499, Section ID: 29998D
Tuesday 2-5:20pm, KAP 164
Instructor: Barath Raghavan
Course Producers: Aliya Petranik (firstname.lastname@example.org), Tianhang Liu (email@example.com)
Office Hours: Barath Raghavan (W 9-10am, SAL 214), Aliya Petranik (Th 4-6pm, SAL lab), Tianhang Liu (M 2-4pm, SAL lab)
This course will concern how to build robust and elegant software, structured around a single project, and leveraging best practices from industry. Over the semester you'll write a single system in C++ that is several thousand lines long, all from scratch. All projects will be done individually. More importantly, every line of code will be code reviewed and we will iterate on the specifics of project designs and implementations over the semester. We will put into practice code review (both in and out of class, including peer review), design review, unit testing, style guides, interpretation of automated analysis, and benchmarking. While your projects will be individual, you will do peer review and collaborate throughout the course. Class time will be largely devoted to code/design review and discussion, and to student presentations.
The course will involve discussion and group work during class and very little traditional lecture. The focus of the class will be on submitting code for review and fixing it after review, and presenting the design and review of others' code. Attendance is required due to the discussion-oriented course structure.
There will be a few reading assignments, mostly in the early weeks of the semester, and class discussion about those reading assignments. There will be no written responses required for reading assignments.
Details of grading will be provided in class. Unlike in other courses, code can and should be submitted and resubmitted, with grades being assigned only on the final version. Grades will be determined based upon the project, class participation, and attendance as follows:
75% Project (25% for each of 3 milestones)
25% Class participation and attendance
|-||First PR due.|
Quick vs. Clever