CompSci 201, Spring 2020


Due to the COVID-19 outbreak we are adjusting the syllabus. This page is the adjusted syllabus.

The old syllabus is here just for reference.

CompSci 201 Syllabus

Professor: Susan Rodger

  • Office: LSRC D237, Now Virtual
  • Office Hours: Mon 8am-9am, Tue 8pm-9pm, Thur 2-3pm
    These office hours are 1-on-1, you will be in a Zoom waiting room until I let you in.
    Zoom Link: Posted at the top of the Piazza Q&A, also an announcment in Sakai.
  • Email:
  • Phone: 919-660-6595

Teaching Associate: Kate O'Hanlon

  • Office: LSRC D105, Now Virtual
  • Email:

Graduate TA: Yongxin Tan (goes by "Tan")

  • Office Hours: in LSRC D309, now Virtual, TBD
  • Email:

Graduate TA: Xiaohe "Carol" Yang

  • Office Hours: Room North 306, now virtual, TBD
  • Email:

HEAD Undergraduate TAs (UTAs)

All Undergraduate TAs (UTAs)

See pictures of the UTAs here.

Arushi Bhatia
Carolyn Chen
Karen Chen
Vanessa Chen
Jacob Cimerberg
Kevin Deng
Cooper Edmunds
Zack Freid
Josh Geden
Doherty Guirand
Angelo Guo
Jeff Kim
Shruthi Kumar
Laura Li
Tess Lipsky
Julia Long
Rachel Ma
Merrill O'Shaughnessy (1/2 the semester)
Jessie Ou
Sanna Symer
Cathy Wang
Cady Zhou

Lecture Meeting Time

In each class the lecture is designed to provide important and useful information that will allow you to learn concepts and complete the assignments that you are working on (APTs and programming assignments). Lecture videos typically include WOTO questions that you should try to complete before the lecture meeting time if possible.


Here are some of the topics we will cover, not in particularly any order.

List of Discussion Sections:

Discussion sections are now virtual. Discussions are still on Mondays. You should try to attend your discussion section. If your discussion time is not at a good time for you, you can attend another discussion section. We will have a few discussions at new times for those in a different time zone. For those of you who are not able to attend any discussion section, we will post one video of one of us going through the discussion problems. More on how Discussions will work is below in another section.

Our original discussion sections are listed below. You will still have your discussion section graded by your Discussion leaders from your original discussion section.

Sections Day/Time Room UTA
01D/19D Mon 10:05am-11:20amGray 228 Belanie Nagiel
Cooper Edmunds
13D Mon 10:05am-11:20amGross Hall 104 Laura Li
Daniel Hwang
02D Mon 11:45am-1:00pmBioSci 154 Jake Cimerberg
Jessie Ou
10D Mon 11:45am-1:00pmOld Chem 003 Zack Freid
Doherty Guirand
17D Mon 11:45am-1:00pmAllen 103 Megan Phibbons
Kevin Deng
03D Mon 1:25pm-2:40pmBioSci 063 Vanessa Chen
Tess Lipsky
14D/15D Mon 1:25pm-2:40pmLSRC D106 Arushi Bhatia
Jeff Kim
04D/20D Mon 3:05pm-4:20pmBioSci 155 Sanna Symer
Angelo Guo
05D Mon 3:05pm-4:20pmOld Chem 201 Rachel Ma
Josh Geden
08D Mon 3:05pm-4:20pmPerkins Link 065
Classroom 2
Shruthi Kumar
Carolyn Chen
09D/12D Mon 3:05pm-4:20pmPhysics 235 Karen Chen
Merrill O'Shaughnessy
11D/16D Mon 3:05pm-4:20pmAllen 318 Julia Long
Cathy Wang
06D/07D/18D Mon 4:40pm-5:55pmLSRC A156 Cady Zhou
YongXin Tan

Web page

Many of the materials for this course (including this page) are available on

Bulletin Board

We will use Piazza for the class bulletin board. Look here for announcements, hints, and information relevant to this class. You can also post questions here. You should check this page at least once a day!

If you have not added yourself to the piazza site, the link to add the course add yourself is in a Sakai announcement.

Note that you can post anonymously. We also encourage students to answer other student's questions and we will endorse correct answers!


The ZyBooks textbook we'll use in the first part of the course is STRONGLY Recommended. Participation points in the textbook will contribute to 25% of your WOTO/Reading grade. You can make these points up with extra APT problems, but we strongly suggest reading for those not knowing Java. Note that to get this 25% of your WOTO/Reading grade, you must complete either 75% of the reading questions in Zybooks or do 6 extra APTs.


The table below shows how the categories of work done in class are used to calculate your grade in Compsci 101. Grading is done on an absolute, but adjustable scale. This means that there is no curve. Anyone earning 90% or more of the total number of points available will receive a grade in the A range, (A+,A is 94%, A- is 90%); 80% = B range, 70% = C range, 60% = D. This scale may go down, i.e., we could make the A- cut off at 88%. However, the scale will not go up. So if everyone gets 90% or above, then everyone will get an A- or above.

Discussion Sections 6%
Programming and analysis assignments 23%
WOTOs(75%)/Reading(25%) 5%
APTs 6%
APT Quizzes (2) 10%
Exam grade: Exam1, Exam2 and Final Exam 50%

The first exam was closed-book. The second exam and final exam will be open-book, open notes.

NEW: The 50% for the exam grade of Exam1, Exam2 and Final Exam will now be the maximum of the three grades.

NEW: The 10% for the two APT Quizzes will be the maximum of the two apt quizzes.

EXAM and FINAL EXAM dates:

Exams will be held online.

Discussion Sections

Discussion sections will be held every Monday. Discussions may include warm-up problems to be completed prior to discussion and individual and group work during section. As of March 20, attendance is strongly encouraged but not required for the remaining discussion sections. Participation is encouraged and will be a chance to hang out with your discussion mates. Each discussion will consist of one or two parts: pre-discussion (if any) will be one point. Discussion will be three points (if there is a pre-discussion), four points if there is not a pre-discussion.

You will need to submit the pre-discussion and discussion forms for credit. Discussion reflect document must be completed by 11:59 pm Eastern time on the Wednesday after the Monday discussion.

WOTO Questions

WOTO Questions will still be given at lectures. Submit them when you watch the lecture video. They will be graded still if you turn them in by 3:05pm when the lecture starts. We will leave the form on for those doing them later.

NEW (MARCH 27): Completing 40% of the WOTO in-class exercises will earn full credit for the WOTO part of the WOTO/Reading grade. Most of you should already have 100% for your WOTO grade, so if you cannot turn them in on time, it won't affect your WOTO grade. It is fine to do them at your own pace, try not to get behind.

Programming & Analysis Assignments

Assignments are due at 11:59 pm on their due date, typically Thursday. This allows you to access helper hours up to the time an assignment is due. A grace period of 24 hours will allow you to turn in assignments until 11:59 pm the next day with no penalty.

If you need a few more days, then fill out the extension form on the forms tab and take the extra days. Try not to get too far behind.

Points on assignments will vary. Assignments typically take more time and require more thought and analysis as the semester progresses.

If you're having trouble, be sure to see a UTA/TA and preferably the professor as far before the due date as possible. Don't give up, PLEASE ask for help.


Algorithmic Problem-solving Testing problems (APTs) will be given throughout the semester. You'll be given a description of a problem and asked to write code to solve it - testing the code online and seeing the results of the automated tests. You'll submit the code for grading when you decide you're ready. We don't look at the source code when grading, we run it and test it. However, we may discuss alternative solutions to help you be effective programmers. It is explicitly forbidden to write code that looks for specific test cases -- such code will receive a grade of zero. APTs should be submitted by 11:59 pm on the due date. A one day grace period allows you to turn in APTs until 11:59 pm after the day they are due. If you need a few days extension, fill out the extension form on the forms page. Keeping up with APTs ensures you understand the topics we're discussing in class.

APT Quizzes

There will be two APT quizzes during the semester. For APT Quiz 2, quiz, you'll have 5 hours to complete it. You'll have a three to four day window to block out the time you have to complete APT quiz problems. Typically this window will include a weekend.

Bonus Points

Doing APTs beyond requirements can earn bonus points. In general, bonus points are useful for students close to the boundary between grade cutoffs, e.g., B-/B or A-/A or B+/A- and so on . We may use bonus points to move students who are slightly below a cutoff to slightly above.


There is absolutely no collaboration allowed on quizzes and tests/exams. This applies to APT quizzes, Midterm Exams, Final Exam, and any other quizzes and tests given during the semester.

In general we expect that you are taking 201 to learn and master topics in computer science. You cannot do this without doing work. However, we want to ensure that you are able to use best practices in learning. These practices include collaboration and finding online resources, but there is clearly some tension in learning material on your own and collaborating.

In no case may you ever show your code to someone as a way of helping them. You may ask for help with your code, e.g., in debugging it. However, you should never show your code to someone with the intent of helping them with their own questions. There is clearly a hard-to-enforce guideline here. We include this guideline to make it clear what we hope you will do as far as your own work.

For APTs, we allow collaboration while you are adhering to the "show no code" guideline above. You may find solutions to some APTs online. You will not learn how to solve APTs by using these solutions, and if you use code found online we ask you to document that in an APT reflect form as well as in comments in the code you write. Failure to document your collaboration and any online code you use can result in a grade of zero for the APT assignment.

For assignments, we sometimes allow partners. In general we encourage collaboration subject to the "show no code" guideline -- you may ask for help in debugging your own code for example. If you find code online, you should note this in the assignment reflect. If you don't document code you use, and we determine that you've external sources, we will use Duke's office of student conduct policies and you may receive a zero on the assignment.

Duke Community Standard

You must adhere to the Duke Community Standard.

Duke Community Standard

Web Sites This Course uses

We will use several course web sites for this course.

Emergency Procedures

See this link about what to do if there is an emergency during class.