|
CS5416: CLOUD AND ML SYSTEMS PROGRAMMING
CS5416 is an evolution of CS5412, which is not currently being offered. The idea is to share some lectures with CS4414 (two per week, the ones on Tuesday and Thursday), but to have a completely different Friday discussion section (recitation). Whereas CS4414 will focus primarily on projects that looks at performance and parallelism internal to a single "monolithic" program, CS5416 will include a big hands-on project that will look at a complicated machine learning pipeline with multiple processes that talk to one-another and can run on different computers, and explore performance issues in that context. The grading formula reflects this: both CS4414 and CS5416 will share the same prelim2 (and neither has a final), but the assignments for CS5416 will take more time, and project performance counts for 75% of your grade, versus 50% for CS4414 students. Where will the cloud content come from? Partly, we from moving a bit faster than CS4414 did in the past two years: by requiring CS3410 as a prerequisite, CS4414 can assume familiarity with C, threads, synchronization and how programming languages compile to instructions. This will free up some of the Tuesday/Thursday lectures and about six lectures of content from CS5412 will be migrated into those new slots. But the other big difference relates to the recitations, which are required: the Friday session is a genuine lecture, led by a CS PhD TA with a lot of experience. In CS4414 the Friday lectures will focus on helping people become strong programmers in C++ and then teaching them to apply ideas about performance to a big program using various performance tools and ideas from the course. In CS5416, we will also introduce C++, but then will shift much more towards understanding the practical question of how people deploy applications on clouds, and how to assess performance (all the tools are different than for a single process) and how to improve performance. The focus will be on the ML pipeline mentioned above -- specifically, a multimodal RAG LLM that can answer questions about images using a precreated knowledge base that we'll provide, but will also teach you how it was built. So you'll emerge from CS5416 with more of a hands-on cloud perspective, while CS4414 students will emerge with more of a single process orientation. Because the lectures need to created for this new course, we'll do our best to post them after each lecture but won't have them earlier (and we also can't provide videos in this first instance of the course). So if you do not attend lectures, you will quickly feel lost and there won't necessarily be a simple way to catch up. Prerequisites: CS3410 or equivalent. Appropriate use of AI tools: Please read our Academic Integrity policy. Recitation: Required. We cover as lot of the material specific to CS5416 in the Friday recitation (which differs from the CS4414 one) Enrollment restrictions: Students who have taken cs4414 are not permitted to enroll in cs5416. CS Undergraduates: Undergraduates are permitted to enroll under this course number, but should note that cs5416 does not satisfy the CS undergraduate systems course requirement. Grading: We compute a weighted curve (a ranking) based on your scores, and assign letter grades based on this ranking. Grades generally range from B- to A, with half or more of the students receiving A or A- grades. At the instructor's discretion a few A+ grades are also awarded, but these are not purely based on the score ranking (attendance and participation are also considered, and prelim performance is given a slightly higher weighting). Getting Help
Course Materials
Course Information
Main Instructor
Recitation Instructors
Undergraduate TAs
|