Welcome to CS2024, Fall 2022 edition!

This site is a work in progress. Stay tuned for more details!

Course Syllabus

CS2024 Syllabus Fall 2022

About the Course

The goal of CS2024 is to teach as much of the C++ language as possible with an eye towards your being able to use it effectively in future classes that may depend on it and/or in a professional setting. C++ is ever changing with new standards released every three years. This semester I'm presenting the material in a new way with major changes. The first half of the semester will focus on "Classic C++" (C++ '03 standard). We'll address C++11 and newer the second half.

A Note on Compilers
In order to build a C++ program on your machine, you will need a C++ compiler. MacOS users should just download Xcode from the Apple Store (it's free). Linux users should be able to use g++ (also freely available). Windows users should download Visual Code from Microsoft. For the first half of the semester you WILL NOT be able to use Visual Studio as Visual C++ does not allow you to compile against the C++03 standard. In addition to downloading Visual Code, you will need to get a specific compiler for C++ (NOT the Visual Studio compiler). More instructions will be posted by the time the first assignment is posted on Thursday.

Instructions for Installing VSCode for Windows

NEW: Building Multi-File projects with VSCode

NEW: How to check your solutions for valid C++03 syntax in Windows

Configuring and Using Xcode

Building on the Command Line for Mac/Unix/Linux users


Assignments will be given weekly (check syllabus for due dates) and will be submitted electronically via the computer science department's CMS system. Your assignments will be submitted via a .zip file containing all required C++ files as well as a writeup. Check out the sample assignment for more details.

A writeup is a document that accompanies your source code and gives you a chance to summarize the problem you are trying to solve, write a little bit of detail on how you solved it and then talk about other ways to solve the problem (if applicable) and what you've learned from completing the assignment. CS2024 is not a technical writing class, so I'm not expecting you to write long essays. However, especially for the more complicated assignments, I do expect that you might get to the point where your write-ups are between 1-2 pages. All of this said, do not stress over this. The write-ups are worth 10 points on every assignment, and you'll always receive 5 points just for trying!

Course Staff and Office Hours

Ron DiNapoli, Lecturer — 441B Gates Hall

Office Hours: Tuesdays, 4:30PM - 6:00PM
Wednesdays, 5:00 - 6:00PM

Sukruth Lingaraju, MEng TA

Office Hours: Wednesdays, 4:00PM - 5:30PM via ZOOM (Zoom Link Here)
Fridays, 1PM - 2PM Rhodes 402

Tiffany Coelho, Undergraduate TA

Office Hours: Mondays, 3:30 - 5:00PM Rhodes 402

Charles Wang, Undergraduate TA

Office Hours: Tuesdays, 2:30PM - 4PM Rhodes 402

Course Management

We'll be using Canvas for course management this semester (in addition to using the Computer Science department's CMS system for assignment submission). Please let me know if you do not have access to CS2024 in Canvas by Thursday, August 25.