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
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
rd29@cornell.eduOffice Hours: Tuesdays, 4:30PM - 6:00PM
Wednesdays, 5:00 - 6:00PM
Sukruth Lingaraju, MEng TA
sg2257@cornell.edu
Office Hours: Wednesdays, 4:00PM - 5:30PM via ZOOM (Zoom Link Here)
Fridays, 1PM - 2PM Rhodes 402
Tiffany Coelho, Undergraduate TA
tlc232@cornell.edu
Office Hours: Mondays, 3:30 - 5:00PM Rhodes 402
Charles Wang, Undergraduate TA
cw877@cornell.edu
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.