All labs and projects involve C programming on the Linux OS. You will use Duke’s VCM service to host containers for building, running, and debugging your programs. To get started, you will: 1) create your VCM container, 2) attach to it with VSCode, and 3) fork lab/project directories from the course Git repository. You can find more details on this process in the Getting Started Guide in the course repository.
There are short (1-3 hours), individual programming labs associated with each lecture that help: 1) reinforce concepts learned from readings and lectures, and 2) prepare you for the projects. Labs are released after each lecture (Wednesday and Friday) and are due the following Tuesday by 11:59pm ET. Please see the course schedule for more details on the release and due dates. The Monday discussion sections will focus on the labs due that week; you should start working on both labs prior to your discussion section. You may skip the discussion if you have completely finished the work prior to the start of your discussion section.
You can find the specification and starting code for each lab in the course repository. Be sure to read the README file associated with each lab and follow directions with care. Add a text file (statement.txt) listing the nature and sources of any assistance that you received, as well as anything else you want to tell us. You can submit your labs to Gradescope via the Gradescope button on GitLab.
There are four projects that are spread throughout the semester (roughly one every two weeks). You must submit your projects by 11:59pm ET on the day they are due. Please see the course schedule for more details on the release and due dates. 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.
You can find the specification and starting code for each project in the course repository. Be sure to read the README file associated with each project and follow directions with care. Add a text file (statement.txt) listing the nature and sources of any assistance that you received, as well as anything else you want to tell us. If you choose to work in a team of two for the project, please add a reflection of the collaboration within your team to the file. You can submit projects to Gradescope via the Gradescope button on GitLab.