CompSci 101, Spring 2023
Syllabus

Syllabus

All times are in Eastern times.

Professor: Susan Rodger

  • Office: LSRC D237
  • Office Hours:
    (MAY CHANGE) TUE 5-6pm, Wed 4pm-5pm, Thur 2-3pm
    (subject to change, will post on ED if they have to be moved)
    The zoom link for my office hours are posted
    in Sakai and on Ed.
  • Email:

Professor: Yesenia Velasco

  • Office: Virtual
  • Email: yvelasco AT cs.duke.edu
  • Oversees: Accomodations and Management of Course

Graduate TA: Danyu Sun

  • Office Hours in LSRC D301
    • MON 5:00-6:00pm
    • WED 2:00-3:00pm

  • Email: ds592 AT cs.duke.edu

Graduate TA: Yubo Ding

  • Office Hours in LSRC D344
    • MON 1:00-2:00pm
    • WED 5:00-6:00pm

  • Email: yd163 AT cs.duke.edu

HEAD Undergraduate TAs (UTAs)

All Undergraduate TAs (UTAs)

See pictures of the UTAs here.

Lab UTAs:
  • Aayushi Patel
  • Adrian Doan
  • Allyson Ashekun
  • Aloye Oshotse
  • Ardil Turhan
  • Athena Wells
  • Benjamin Goldstein
  • Brandon Lopez
  • Caroline Cornett
  • Cassandra Zia Claros
  • Connor Murphy
  • Florence Wang
  • Gautam Sirdeshmukh
  • Isha Shah
  • Janet Jiang
  • Kevin Alvarenga
  • Michael Wang
  • Nolan Zhong
  • Ryan Iki
  • Sai Siddiqi

Grader UTAs:
  • Becky Pahren
  • Eden Smith
  • Gautum Sirdeshmukh
  • Georgiana Stammer
  • Isabelle Xiong
  • Jaelyn Cuellar
  • Morgan Patton
  • Terence Lee

Topics Covered

Here is a list of some of the topics we will likely cover this semester related to Python Programming (not necessarily in this order):

  1. Python Data, Variables, operators
  2. Functions
  3. Conditionals (if), logic operators
  4. Looping structions (for, while)
  5. Turtle Graphics
  6. Strings
  7. Lists, Tuples
  8. Files
  9. Sets, Dictionaries
  10. Recursion

Course Meeting Time

Lecture:

Section/Time Location

Tuesday and Thursday
10:15am-11:30am


Griffin Theatre in Bryan Center



Lab Sections:

You should be signed up for one lab. Labs are on Fridays.

Section Time Room UTAs
01 Fri 10:15am-11:30amLSRC A155 Connor Murphy and Michael Wang
02 Fri 10:15am-11:30amBio Sci 155 Aayushi Patel and Florence Wang
03 and 11 and 15 Fri 10:15am-11:30amBio Sci 113 Brandon Lopez and Janet Jiang
04 Fri 12:00pm-1:15pmBio Sci 154 Allyson Ashekun and Nolan Zhong
05 Fri 12:00pm-1:15pmBio Sci 113 Cassandra Zia Claros and Isha Shah
06 Fri 12:00pm-1:15pmSoc Sciences 124 Ryan Iki and Gautam Sirdeshmukh
07 and 09 Fri 1:45pm-3:00pmLSRC A155 Kevin Alvarenga and Athena Wells
08 and 13 Fri 1:45pm-3:00pmSoc Sciences 124 Adrian Doan and Aloye Oshotse
10 and 14 Fri 3:30pm-4:45pmLSRC A155 Sai Siddiqi and Ardil Turhan
12 Fri 12:00pm-1:15pmLSRC A155 Benjamin Goldstein and Caroline Cornett

Web page

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

Ed: Bulletin Board

We will use the Ed discussion board that is in our Sakai site. 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!

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

Text (Required)

[We have a special version of the book just for our course, see below how to get OUR VERSION of the textbook]
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:

Pre-Lecture Work: Reading/Videos/Quizzes

You will be assigned reading from How to Think Like a Computer Scientist and/or Videos to watch before each lecture. Readings and Videos 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 will be a quiz in Sakai based on the reading and/or videos that is due when lecture starts, at 10:15am on the day of lecture. These quizzes will be listed on the course website if there is one due. That means that you must SUBMIT the quiz by 10:15am, or you will not be able to submit it.

Exception: Due to drop/add, the first five quizzes QZ01-QZ05 will all turn off on Jan. 26 at 10:15am.

You get up to 3 tries on each quiz and we use your highest score. You cannot makeup missed quizzes! We do drop some quiz points at the end of the semester, so it is ok to miss a few quizzes.

There will also be a Sakai quiz for each programming assignment. They will have different deadlines but are intended for you to take before you start programming the assignment to make sure you understand what you are to do.

Lecture

Lecture is on Tuesdays and Thursdays at 10:15am-11:30am. This lecture will have class participation activities called WOTOs (WOrking TOgether) that must be completed during lecture.

If you are absent, even if you have a valid excuse, you must complete the class participation activities such as WOTO forms by 11:30pm the next day.

We assume you may have to miss a few lectures, so we will drop a few WOTO 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 with 94% cutoff for A; 80% = B range, 70% = C range, 60% = D.

Labs 10%
Sakai Quizzes 5%
Class Participation (WOTOs) 5%
Apts 10%
Programming Assignments 10%
APT Quizzes 10%
Three Exams(12% each) and Final(14%) 50%

SDAO Accommodations

If you get SDAO accommodations (for example extra time on exams), then you must DO BOTH OF THESE:

  1. Fill out the form on this page to let us know you have SDAO accommodations or are working to get SDAO accommodations.

  2. Have your official SDAO letter emailed to Prof. Rodger and Prof. Velasco.

FINAL EXAM:

Your FINAL EXAM is Thursday, May 4, 9am-Noon, in Bryan Center, Griffith Theatre.

Labs on Fridays

You are required to attend the lab for which you've registered in taking Compsci 101. Each lab UTA takes attendance.

You will work on the lab with a partner, but each person should submit the lab form. You must submit your lab form by the first Sunday 11:30pm that follows the lab day. Thus, if you do not finish during the lab, you have two 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 form by the end of the Sunday that follows the lab day 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.

Your lab work will be graded on a five point scale. Pre-lab is one point, attendance is worth two points, completing the work is worth two points. If there is no pre-lab that week, then that point will be awarded for completing the lab, so each lab is worth five points.

Since most of the lab points are for completing it during the week, and because we drop three labs, you cannot earn the credit for attending a lab due to any absence, even if your absence is excused.

If you miss lab, you should still do the lab for partial credit (you will not get the attendance points) and fill out the online form by Sunday. No lab submissions will be accepted after Sunday.

APTS

Algorithmic Problem-solving Testing problems (APTs) will be given throughout the semester. You will be given a description of a problem and asked to write code to solve it. You can test the code online and see the results of the automated tests. You will submit the code for grading when you decide you are ready. We do not look at the source code when grading in terms of providing feedback, we run it and test it. However, we may discuss alternative solutions to help you be effective programmers. If your source code simply checks the input with a sequence of if statements, it will receive no credit.

APTs should be submitted by 11:30 pm on the due date. A 24 hour grace period allows you to turn in APTs the next day. Late APTs are not accepted. Keeping up with APTs ensures you understand the topics we are discussing in class.

APT Quizzes

APT Quizzes are like APTS but are your own work and have a time limit. There will be two APT quizzes during the semester. When you start an APT quiz, you will have a block of time to complete it. You will have at least a three-day window to complete APT quiz problems.

If you have a SDAO letter that allows for more time on the exams, you will get the same extended time on the APT Quizzes.

If your source code simply checks the input with a sequence of if statements, OR your code is not using problem solving towards a solution, it will receive no credit.

[Discussing the quiz] You cannot discuss the quiz with anyone until we announce that it is okay to do so. If you have a question, you can ask it as a private post on ED Discussion. The staff may convert it to a public post if it is appropriate. However, keep in mind as a quiz the staff cannot help you with it beyond clarification questions. Also we are not on at all hours of the day, so we cannot guarantee we will be able to answer your question in time.

[Protect yourself when taking the quiz] Your quiz work must be your own and must not be seen by others. Therefore, we recommend finding a secure place (stay in your room and lock the door) where no one can see your work nor do you risk talking to someone while taking the quiz.

Programming Assignments

Assignments are due at 11:30 pm on their due date, typically Tuesday or Thursday. This allows you to access consulting hours up to the time an assignment is due. A grace period of 24 hours will allow you to turn in assignments until 11:30 pm the next day with no penalty (Note: There are no consulting hours on Friday and Saturday). Assignments turned in up to 3 days after the original due date will receive a 10% penalty (if the assignment is worth X, your grade will be calculated by subtracting .1X from your score). Assignments turned in after that, but up to a week later from the original due date will have a 30% penalty (subtract .3X from your score). No assignments will be accepted after the 30% penalty (one week late).

Assignment 6 and Assignment 7 are both due around the last week of class. Assignment 6 has only one grace day and cannot be turned in after that. Assignment 7 has three grace days and cannot be turned in after that.

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

We use Gradescope to offer automatic testing for your assignments while you are working on them. These tests are a work in progress and constantly being improved. However, these tests are checked before they are released and considered reasonably stable. Therefore, if your submission gets an error on Gradescope, you must confirm with a Grad TA or the Teaching Associate that the error is caused by Gradescope, not the submitted code. Only after getting this confirmation will your grade get special handling when it is moved from Gradescope to Sakai. The best way to do this is through Ed Discussion or office hours.

If you are having trouble, be sure to see a UTA/TA or Professor as far before the due date as possible. Do not give up. PLEASE ask for help.

Extensions on APTs and Assignments

Everyone gets 3 free 2-day extensions total that can be used on either an APT or an assignment (except the last week). If you need more than 3, you must setup a meeting with Prof. Yesenia Velasco. You must fill out the extension form in order to take them. It is best to save them for the second half of the semester if you can.

Any extension is for 2-days (two days beyond the grace day). For example, if the assignment is due on January 17, the grace day is January 18 and the extension is good til January 20 evening.

Extensions are also granted for medical reasons (see the Short-term Incapacitation Notification policy), athletes travelings, or other circumstances beyond your control.

Our extension form is on this page. We do not grant extensions after an assignment is due.

Note that this is a tough course to catch up in if you get behind. We have several items due every week. You want to make every effort to catch up quickly if you start to get behind.

Exams and Final Exam

Exams are your own work.

[Missing Exam] If you miss a midterm for an excused absence, e.g., a Short-Term Incapacitation, you'll need to make up the exam within three class days.

[Discussing the exam] You cannot discuss the exams with anyone (except the professors for this course) until we announce that it is okay to do so.

Collaboration on Programming Assignments and Exams/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 exams, 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. 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 for assignments and APTs 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.

Note that we have designed the APT quizzes and the course exams and final exam so that doing assignments and APTs largely on your own will help you do well on the work that must be done individually.

Individual Work Reflected in Performance

We will design exams 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.

Web Sites This Course uses

We will use several course web sites for this course.