CompSci 201, Spring 2020
Syllabus

THIS IS THE SYLLABUS BEFORE MARCH 20, 2020

Due to the COVID-19 outbreak we are adjusting the syllabus.

See the new syllabus here .

CompSci 201 Syllabus

Professor: Susan Rodger

  • Office: LSRC D237
  • Office Hours: Tues 4-5pm, Thur 2-3pm
    (You can also come by anytime for a quick question)
  • Email:
  • Phone: 919-660-6595

Teaching Associate: Kate O'Hanlon

  • Office: LSRC D105
  • Email: cco9@duke.edu

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

  • Office Hours: in LSRC D309,
    Mon and Tues 10am-11:30am
  • Email: yt150@cs.duke.edu

Graduate TA: Xiaohe "Carol" Yang

  • Office Hours: Mondays 3-6pm, Room North 306
  • Email: xy108@cs.duke.edu

HEAD Undergraduate TAs (UTAs)

All Undergraduate TAs (UTAs)

See pictures of the UTAs here.

[List all other UTAs here]

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 typically includes questions that you will complete in groups called WOTOs (WOTO is WOrkingTOgether), this in-class work contributes to your final grade, but more importantly being an active participant in class will help foster community in class as well as help you learn and master the concepts related to programming and computer science. Bring a laptop to class if you have one.


Topics

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

Discussion Sections:

You should be signed up for one Discussion section. Discussions are on Mondays. The first discussion section will be virtual (online) and is scheduled for January 8 (this is a Monday class day). The first face to face meeting will be on Monday, January 13, 2020.


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

Backup UTAs:

Web page

Many of the materials for this course (including this page) are available on
http://www.cs.duke.edu/courses/spring20/compsci201/

Bulletin Board

THE PIAZZA SITE will be created the first week of class. 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!

We will send you email once this site is ready which will be around Jan. 10-12. If you are registered for the course, you will automatically be added to it. If you add the course after we create it, you will need to add yourself to it.

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

Textbook/Reading

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.

Grading

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 10%
Two Midterm Exams 30%
final exam 20%

The tests and final exam will be closed-book.

EXAM and FINAL EXAM dates:

Exams will be held during the lecture time and in the same room. The final will also be in the same room.

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. Attendance is required and will be taken at the beginning of discussion. You are responsible for ensuring your Discussion TA marks your discussion attendance correctly. Participation is encouraged and can help improve your grade. We anticipate that every student will need to miss a few classes and discussions during the semester. Each student will be given three (3) excused discussion attendances without penalty. Each recitation will consist of three parts: warm-up, attendance and completing the work. Warm-up is one point, attendance is worth two points, completing the work is worth one point. You can earn 50% of the points even if you miss attending your discussion section. To get credit for attendance you must be in discussion no more than 20 minutes late and you must stay until the end or until you're finished. Discussion reflect document must be completed by 11:59 pm on the Wednesday after the Monday discussion.

WOTO Questions

WOTO Questions you will work on together in class. WOTO is WOrking TOgether. We encourage you to work together on these. Completing 75% of the WOTO in-class exercises will earn full credit for the WOTO part of the WOTO/Reading grade.

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. Assignments turned in up to 72 hours after the due date (typically Monday at 11:59 pm) will receive a 10% penalty (if assignment is worth X, your grade will be calculated by subtracting .1X from your score). After this first penalty late penalties are assessed at 10% per day late. No assignments will be accepted after a week.

Individual extensions will be granted for medical reasons (see the Incapacitation form) or other circumstances beyond your control that must be presented with an official Dean's excuse or by talking to the instructors. We do not grant extensions after an assignment is due.

This policy is for assignments. See the APT section below for the policy for APTs.

Points on assignments will vary. Assignments typically take more time and require more thought and analysis as the semester progresses. Assignments will be weighted, those at the end of the semester will have more weight.

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.

APTs

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. Late APTs are not accepted. 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. When you start an APT quiz, you'll have 2.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.

Collaboration

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.