The course schedule includes release dates for all assignments: labs, projects, and discussion section exercises.
Getting started.
The assignments involve C programming on the Linux OS. Use Duke’s VCM service to host containers for building, running, and debugging your programs. See the Resources tab and follow the directions there to setup and submit your first assignment. See the summary of steps below.
About half the discussion days on the course schedule feature named group exercises (e.g., Performance). Attendance is required for these sessions to get credit. The other discussion days are designated as Labs (Optional), which are for assistance with labs that week.
The labs are short (2-3 hours) programming exercises associated with each lecture. You work on the labs individually. Their purpose is to: 1) reinforce concepts learned from readings and lectures, and 2) prepare you for the projects. Labs are due by 11:59pm ET on the date noted on the schedule (typically the following Tuesday).
There are four projects that are spread throughout the semester (roughly one every 2-3 weeks). See the course schedule for more details on the release and due dates. Projects are due by 11:59pm ET on the date noted on the schedule.
Each project builds on concepts and skills obtained from lectures, readings, and labs. You may work on projects individually or with at most one other person. If you choose to work as a pair, please summarize the collaboration in your statement.txt file for the assignment.
Each assignment has a folder/directory with a corresponding name in the course repository. More precisely, coursework.cs.duke.edu is a GitLab service, and the course repository is a GitLab group on coursework with a page for each assignment, with a git project repository.
The class Gradescope page has a list of assignments and a page for each assignment. You submit the assignment by clicking the submit button there.
For each assignment:
Take time to set up git for a smooth workflow. Time you invest to become familiar with git will pay off later (see Resources tab for more information).