Required
Recommended
The course schedule with all due dates and exam dates is posted on the course website at the start of the semester. We expect few if any changes after the Drop/Add period. Labs are due every Tuesday night. Four projects are due on various Mondays. There are two in-class midterm exams on Friday, September 27 and Friday, November 8.
We use several channels of communication in this class, primarily the course discussion platform Ed, but occasionally we’ll send an email via Canvas. We also occasionally announce things in class and/or on the lecture slides. You are responsible for monitoring all these communication methods to stay up-to-date.
Category | Percentage |
---|---|
Labs | 25% |
Projects | 25% |
Discussions | 5% |
Midterm Exam I | 20% |
Midterm Exam II | 20% |
Concurrency Quiz | 5% |
Extra credit may be available via labs and is capped at 10% of the category: it can increase the total score by at most at 2 points. We generally use a 10 point scale for grading in this course (A 90-100; B 80-89; C 70-79; D 60-79; F < 60), these ranges include - and +. We reserve the right to drop (not raise) the minimum total scores for each grade level. We make no adjustment that results in anyone getting a lower grade than they would otherwise.
There are small programming labs associated with each lecture. These labs are designed to reinforce concepts learned from readings & lecture and also to prepare you for the projects. Labs are released at or before each lecture and are due the following Tuesday at 11:59 PM. You should start work on both labs prior to your discussion section; they are designed as dedicated help time for the labs.. Labs should take students 1-3 hours each, once you understand the relevant concepts and skills. Start with the lab’s README file and follow the directions with care.
We will drop 3 labs with the lowest grades. This policy allows us to accommodate illness, etc.. Extensions require a dean’s excuse.
Collaboration policy for labs: The work you turn in should be your own work. The labs are to be completed solo. Do not provide or receive or share or post code or solutions for any labs. (See notes below on academic misconduct.) Add a text file called statement.txt to your repository for each lab, and disclose there the nature and source of any assistance you received for the lab.
There are four programming projects in this class. Each project builds on concepts and skills obtained from lecture, readings, and labs. Start with the project’s README file and follow the directions with care. Projects are due on designated Mondays at 11:59:59 PM.
Collaboration policy for projects: You may complete the projects solo or collaboratively in pairs. Each student must submit a solution to Gradescope. You can switch partners for different projects, but you cannot switch during a project (i.e., don’t drop someone). You may choose your partner or we can help to match you with someone on a first-come-first-served pairing. Do not provide or receive or share or post code or solutions for any project, except with your partner for that project. (See notes below on academic misconduct.) Add a text file called statement.txt to your repository for each lab, and disclose there the nature and source of any assistance you received for the project, along with a reflection on your collaboration.
Discussion grades are based on participation/effort. Discussion sections are dedicated to assistance on the labs. If you show up and work on the labs you will get credit for the discussion session. If you complete the labs for the week and submit them for full credit prior to the discussion session, then you will receive credit for the session even if you do not attend. To accommodate various issues, such as illnesses, job interviews, etc. You are granted 2 missed discussions. Incapacitation Forms (see below) consume these until used up.
There are two in-class midterm exams, each worth 20% of your course grade. Midterm exams are cumulative. A Concurrency Quiz (5%) will be given in class during the last week.
The Final Exam slot this semester is on the last day of exams. We plan an optional final exam that will permit you to bring midterm scores up to the score you get for the final exam questions on the same material, but no higher than the original median for that midterm. Missing the optional final exam does not reduce your final grade, but taking the exam might raise your grade.
0-3 hours late: grace, no penalty
3-24 hours late: 10% penalty
24-72 hours late: 20% penalty
> 72 hours late: No Credit
Exceptions to this late policy are allowed only for Dean’s excuses.
Office hours are provided both in person and online at various times on most days of the week. Office hours with TAs will have both group Q&A and the opportunity for 1:1 help. The group Q&A are used to get conceptual questions answered quickly and efficiently in a group setting. To receive 1:1 help please wait until the conceptual questions are answered. The TAs will help students in the order they arrive.
We expect you to put in a good faith effort toward solving the labs/projects before seeking help at office hours. You will need to tell the TAs the steps you’ve taken toward solving the problem.
Tips
All regrade requests (labs, projects, exams) must be submitted within one week of the release of the grade. Use the form on the Resources page.
We do not tolerate any academic dishonesty. This includes cheating on the labs, projects, quizzes or exams. We report all suspected cases of academic misconduct to the Duke Office of Student Conduct and comply with their policies for handling incidents.
Your submitted work should be your own. We want you to learn. The following are examples of academic misconduct in this class:
Please do your part to keep everyone safe.
Please contact the instructors if you have any concerns or questions.