CompSci 101, Fall 2017
Syllabus

Professor: Susan Rodger

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

Graduate TA: Dan Fu

  • Office: LSRC D104
  • Office Hours:
    Mon 3-4:30pm, Thursday 4:30-6pm
    Office hours in LSRC D-wing 3rd floor area
    at the top of the stairs near LSRC D301
  • Email: dfu AT cs.duke.edu
  • Phone: 919-660-6504
  • Oversees: Assignments, APTs

Graduate TA: Yesenia Velasco

  • Office: LSRC D125
  • Office Hours: Tues 4:30-5:30pm, Wed 1-3pm
    Office Hours in LSRC D-wing 3rd floor area
    at the top of the stairs near LSRC D301
  • Email: velasco990 AT gmail.com
  • Oversees: Labs, Lecture participation
  • Phone: 919-660-6576

HEAD Undergraduate TAs (UTAs)

All Undergraduate TAs (UTAs)

See pictures of the UTAs here.

  • Izzet Akosman
  • Julie Arditti
  • Luke Bauer
  • Matthew Brecher
  • Tevin Brown
  • Jie Cai
  • Samuel Curtis
  • Kayla Derman
  • Cyan DeVeaux
  • Stephanie Ding
  • Joseph Edwards
  • Matthew Feng
  • Mitchell Gladstone
  • Diane Hadley
  • Qasim Hameed
  • Jeffrey He
  • Benjamin Hodgson
  • Giavanna Jadick
  • Jonathon Kuo
  • Robyn Kwok
  • Jonathan Michala
  • Joel Mire
  • Angela Moon
  • Kyle Murphy
  • Belanie Nagiel
  • Ademola Olayinka
  • Hank Olken
  • Lela Owens
  • Priya Sarkar
  • Elizabeth Shulman
  • Mackenzi Simpson
  • Sara Sklenka
  • Morgan Smith
  • Ashka Stephen
  • Amber Strange
  • Alethea Toh
  • Victoria Wu
  • Wei-Ting Yeh
  • Vicki Zhang
  • Qiufeng Zhang

Assignment graders:
Jeffrey He
Jonathan Micala
Morgan Smith
Ashka Stephen
Victoria Wu
Wei-Ting Yeh
Matthew Brecher
Elizabeth Shulman

Course Meeting Time

Lecture:

Section/Time Location
SEC 001:
Tuesday and Thursday
LSRC B101
3:05pm-4:20pm

Lecture UTAs:
Tuesday: Priya Sarkar
Thursday: Elizabeth Shulman
SEC 002 :
Tuesday and Thursday
LSRC B101
1:25pm-2:40pm

Lecture UTAs:
Tuesday: Izzet Akosman
Thursday: Ademola Olayinka



Lab Sections:

You should be signed up for one lab. Labs are on Wednesdays and Thursdays. Labs start August 30, 2017.


Section Day/Time Room UTA
01 Wed 11:45pm-1:00pmBioSci 155 Jonathan Kuo, Kayla Derman
02Wed 1:25pm-2:40pmSoc Sci 311 Priya Sarkar, Vicki Zhang
03Wed 3:05pm-4:20pmPerkins Link 087 (Classroom 3) Belanie Nagiel, Izzet Akosman
04Wed 4:40pm-5:55pmLSRC A155 Sam Curtis, Sara Sklenka
05/15Wed 6:15pm-7:30pmAllen 103 Kyle Murphy, Robyn Kwok
06Thu 11:45-1:00pmSoc Sci 311 Julie Arditti, Cyan Deveaux
07Thu 1:25-3:40pmSoc Sci 124 Hank Olken, Qasim Hameed
08Thu 10:05-11:20amOld Chem 101 Lela Owens, Joel Mire
09/11Wed 11:45-1:00pmOld Chem 101 Matthew Feng, Benjamin Hodgson
12Wed 1:25-2:40pmLSRC A156 Mitchell Gladstone, Alethea Toh
13Wed 3:05-4:20pmLSRC A155 Tevin Brown, Amber Strange
14Wed 4:40-5:55pmAllen 103 Diane Hadley, Angela Moon
16Thu 11:45-1:00pmAllen 326 Stephanie Ding, MacKenzi Simpson
17Thu 11:45-1:00pmLSRC A155 Ademola Olayinka, Gia Jadick
18Thu 10:05-11:20amAllen 103 Luke Bauer, Joseph Edwards
19Wed 1:25-2:40pmGross Hall 105 Jie Cai, Qiufeng Zhang

Backup UTAs:

Web page

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

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!

This site will be created around Aug 27-28. 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!

Text (Required)

How To Think Like a Computer Scientist - Learning with Python: Interactive Edition
by Jeffrey Elkner, Allen B. Downey, and Chris Meyer

How to get the book:

Reading/Reading Quizzes

You will be assigned reading from How to Think Like a Computer Scientist. Readings will be posted on the calendar page for each lecture on the course website. In general you should read the text to be prepared to participate actively in class. If you've looked at material before it's discussed in class you'll get much more out of the class discussion.

There may be either reading or knowledge quizzes on Sakai due at 1:25pm on the day of lecture. These reading quizzes will be listed on the course website if there is one due. Quizzes on Sakai must be completed by 1:25pm on the day of lecture, you will not be able to complete them past that time. You cannot makeup missed quizzes!

Lecture and Classwork

In each class the active 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). Class typically includes questions that you may complete individually or in groups, this 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.

If you fill out the lecture google forms outside of class or not near the time of the exercise we do in lecture, you will not receive credit.

If you are absent, even if you have a valid excuse, you cannot make up the lecture class participation, because you were not there to participate! We assume you may have to miss a few lectures, so we will drop a few lecture points at the end of the semester. Missing more than a few lectures may impact your grade.

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,A-); 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 (this has not happened at Duke, but could!)

You cannot earn a grade above A- without earning a grade of 85% or above on the final exam.

Labs 5%
Reading Quizzes 5%
Lecture Group work 5%
Apts 12%
Programming Assignments 12%
APT Quizzes 6%
Two Midterm Exams 30%
final exam 25%

The tests and final exam will be closed-book.

FINAL EXAMS:

Labs

You are required to attend the lab for which you've registered in taking Compsci 101. You will work with a partner during lab. You will submit lab work electronically. Please bring a laptop to lab if you have one.

You will submit the lab work, either alone or as part of a pair as dictated by the lab. You must submit your lab work by the first Sunday 11:59pm that follows the lab day. Thus, if you do not finish during the lab, you have a few days to finish it.

If you cannot attend your lab section in a given week, you are expected to still complete the material on your own and submit the lab by the end of the Sunday of that week for partial credit. No lab submissions will be accepted after Sunday. It is important to do each lab as they provide practice for the concepts you will be learning.

You will work in groups of two during lab. When working in a pair you must be present and an active participant in the lab for your name to be included in submitting lab work. Your lab work will be graded on a 4 point scale and based on how complete the answers are: complete and well done, reasonable effort but not well done/not complete, minimally complete, not done.

If you are not in lab, but complete the lab on your own, you can earn three out of the four points, i.e., one point is for attending the lab and working there.

There are no exceptions, if you miss lab you can only earn up to 3 of the 4 points for the lab. We will drop a few points at the end of the semester, so if you miss a few labs you should be fine as long as you turn them all in.

Collaboration on Programming Assignments and Tests/Quizzes

You must adhere to the Duke Community Standard in all the work you do in Compsci 101. Please be sure you've read the standard carefully.

Duke Community Standard

Work on tests, final exam and APT quizzes must be your own work, you may not collaborate in completing these.

Programming assignments and APTs. In working on and completing programming assignments and APTs you may collaborate and you may use online resources. However, we have designed the APT quizzes and the course midterms and final so that doing assignments and APTs largely on your own will help you do well on the work that must be done individually. Working with someone is a good way to learn about programming and to succeed. Copying someone else's program is not a good way to learn the material and to succeed in doing well in Compsci 101. We ask that in helping others you help them by discussion rather than by simply sharing code. Although sharing your code by simply providing it to others is not considered a violation of Duke's community standard in Compsci 101, we think it goes against the spirit of doing work collaboratively and learning together that we are working to create in the course.

REFLECT form

When you complete a set of APTs or a programming assignment you must also fill out a REFLECT form that will ask you to provide information including: how much time it took you to complete the assignment, your thoughts about the work you did and the assignment, a list of people you worked with or consulted with and a list of those people you helped in completing the assignment, a list of online/web resources you used outside of the the course website and text book. Completing the REFLECT form when you turn in these assignments is required, and your assignment will not be considered as complete and on-time unless the REFLECT form is turned in on-time.

Individual Work Reflected in Performance

We will design tests and APT quizzes so that a thorough understanding of APTs and assignments will ensure that you can succeed in these assessments that must be completed individually and without collaboration or assistance. Although you may collaborate and discuss programming assignments and APTs, we think that you will not be able to program well on your own and you will not succeed in doing well on the assessments unless you have worked by yourself with significant effort in completing the programming assignments.

Late Policy: Assignments and APTs

Assignments and APTs are typically due on Tuesdays or Thursdays. To be considered ontime, submission must be received by the end of the day 11:59pm on the day the assignment is due for it to be considered as turned in ontime.

Assignments received up to one-day late will receive a 10% penalty. Assignments turned in up-to one week late will receive a 20% penalty. No assignments are accepted after one week. STINFs and excused absences can effect the one day late penalty and provide three days of no penalty, after that the 20% penalty will be applied. If you completed a STINF or think you have a valid excuse, you must fill out the extension form on the forms page to receive the three days of no penalty.

Web Sites This Course uses

We will use several course web sites for this course.

Topics and Readings

See the readings page.