Overview

There are three types of programming in Compsci 201: Projects, APTs, and Engagement programs. You’ll find details about these in the course syllabus document. Broad outlines of these are included below.

APTs

An APT is an Algorithmic Problem-Solving and Testing program you write. Typically you’ll write one method, perhaps with some helper methods, to solve the problem. Testing is online and automated. These are due roughly each week on Thursday. For Fall 2025, four APTs are due for each set and late APT submissions are not accepted. The challenge and extra APTs are optional (and contribute to engagement points). In general, we will do some of these in class and discussion and you’ll do some on your own. You may collaborate with others (per course policies), but you should be able to write the code/solutions on your own since you’ll need to do that for APT quizzes and for job interviews if you pursue that opportunity.

You can find all APTs via this netid-authenticated link.

For those outside of Duke, you can see the problems via this link, but you will not be able to submit work for grading.

Projects

These are programming projects that will require several hours to complete, with later projects requiring more time to understand and complete. There are eight of these, the projects at the end of the semester will take longer and be worth more than projects at the beginning of the semester. Assignments will be weighted, those at the end of the semester will have more weight. The first two assignments will carry a weight of 1.0, the next three 2.0, and the last three 3.0. You may discuss the assignment and strategies to solve it with other students, but the programs you write and the written answers to questions you submit should be your own (see use of ChatGPT and other LLMs in the course syllabus). As a general rule of thumb, if you would not be able to explain or reproduce your code on your own, you should not submit it as your own work. Questions from projects may be part of the midterm and final and will be part of discussion sections.

Each project requires developing code and answering questions about the assignment. These questions are called the project’s analysis. Again, you may discuss the analysis questions, but your write-up should be your own.

P0:Person 201, due on January 27, 2026.

Engagement Programs

There will be assignments/programs you’re asked to understand, sometimes modify, and often analyze on your own and using an LLM as warranted. For each of these, you’ll be able to earn engagement points. The concepts in these will be related to what we cover in class and are similar to questions you might see on exams.