CompSci 101, Fall 2014
Syllabus

Professor: Susan Rodger (lectures)

  • Office: LSRC D237
  • Office Hours: Mon 1:30-2:30, Wed 2-3
    (You can also come by anytime for a quick question,
    I'm usually in Mon-Fri til 3:00, sometimes later.)
  • Email:
  • Phone: 660-6595

Graduate TA: Hieu Bui

  • Office: LSRC D104
  • Office Hours: Tues 12-1, Thurs 12-1
  • Email: hbui AT cs.duke.edu
  • Phone: 660-6504

Graduate TA: Yan Chen

  • Office: LSRC D330
  • Office Hours: Wed 1-2, Fri 1-2
  • Email: yanchen AT cs.duke.edu
  • Phone: 660-6589

HEAD Undergraduate TAs (UTAs)

All Undergraduate TAs (UTAs)

See the names and pictures of the rest of the UTAs here.

  • William Broughton, Head UTA
  • Fuchsia Chen
  • Monica Choe
  • Prashanth Ciryam, UTA in Afternoon Lecture
  • Isabelle (Izzi) Clark
  • Mary Elizabeth Dowd, UTA in Morning Lecture
  • Jimmy Fang
  • Sharon Fang
  • Megan Gutter
  • Yossra Hamid, UTA in Afternoon Lecture
  • Samantha Huerta
  • Abby Hoffman
  • Julie Hong
  • Evan Kaplan, Head UTA
  • Sung-Hoon Kim, UTA in Morning Lecture
  • Huage (Jenny) Kuo
  • John LeBeau
  • Ethan Levine
  • Yijun Li
  • Victor Liao
  • Bohan (Bobby) Lin
  • Ting Lu
  • Benjamin Moussa, UTA in Morning Lecture
  • Daniel McKee
  • Elizabeth Onstwedder
  • Alex Park
  • Dhrumil Patel
  • Zhicheng (Tony) Qiao
  • Kannan Raju
  • Alex Simko
  • Eshita Singh
  • Nick Strelke
  • Sakura Takahashi
  • Wesley Valentine
  • Jie Wang, Head UTA
  • Frank Wang
  • Nicole Wong
  • Ellen Yuan
  • Leanna Zhan
  • Jimmy Zhang
  • Rica Zhang
  • Jingyi Zhu
  • Dayou Zhuo
  • Course Meeting Time

    Lecture:

    SEC 001:
    Tuesday and Thursday
    White Lecture 107
    10:05am-11:20am

    SEC 002:
    Tuesday and Thursday
    LSRC B101
    1:25pm-2:40pm



    Lab:

    Section Time Place Leaders
    11 Wed 11:45-1:00pm LSRC A156 Nicole Wong, Sung-Hoon Kim, Monica Choe
    12 Wed 11:45-1:00pm Allen 103 Yossra Hamid, Rica Zhang, Jie Wang
    01 Wed 1:25-2:40pm Languages 109 Samantha Huerta, Abby Hoffman
    02 Wed 1:25-2:40pm LSRC A156 Kannan Raju, Elizabeth Onstwedder
    03 Wed 3:05-4:20pm Bio Sci 063 Bohan Lin, Sakura Takahashi
    04 Wed 3:05-4:20pm Bio Sci 113 Yijun Li, Elizabeth Dowd, Julie Hong
    13 Wed 3:05-4:20pm North Building 311 Evan Kaplan
    05 Wed 4:40-5:55pm Old Chem 123 Jenny Kuo, John LeBeau
    06 Wed 4:40-5:55pm Soc Sci 228 Isabelle Clark, Alex Simko
    14 Wed 4:40-5:55pm LSRC D243 Victor Liao, Elizabeth Dowd
    07 Thur 3:05-4:20pm Soc Sci 311 Ethan Levine, Sung-Hoon Kim
    08 Thur 3:05-4:20pm Old Chem 123 Eshita Singh, Wesley Valentine
    09 Thur 4:40-5:55pm Old Chem 123 Alex Park, Jimmy Fang, Leanna Zhan
    10 Thur 4:40-5:55pm Soc Science 228 Nick Strelke, Eshita Singh, Monica Choe

    You should be signed up for one lab. Labs are on Wednesdays and Thursdays. Labs start the first week of classes.

    Text (Required)

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

    How to get the book:

    Text (Optional, Recommended)

    Core Python Core Python
    by Wesley Chun Ranum

    This book is not free, but would give you additional perspective on topics.

    Reading

    All assigned reading is from the "How to Think" book and will be posted on the calendar page for each lecture. In general you should read the text in order to be prepared to ask and answer questions in class. If you've looked at material before it's discussed in class you'll get much more out of the class discussion. This is especially true once class has been going for a while.

    There may be either reading or knowledge quizes on Sakai due at 10am on the day of lecture. They will be listed on the calendar page if there is one due. Quizzes on Sakai must be completed by 10AM on the day of lecture, they won't be available anymore after that.

    Web page

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

    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!

    Lecture and Classwork

    Class attendence is required. We will work on problem solving (with and without computers) during lecture. We will sometimes submit answers electronically during lecture. Bring a laptop to class if you have one.

    Labs

    In addition to the lecture, you should be signed up for a lab that meets once a week. Attendance is required in lab. We will work on problem solving in groups during labs. We will submit answers electronically during lab. Bring a laptop to lab if you have one.

    Submit each week's lab worksheet, either individually or as part of a team of up to four, by the end of the day on which you attend lab - lab work cannot be made up later.

    One lab during the semester can be missed with no penalty. 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 worksheet by the end of day on 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 teams of up to four during lab and at least one person from each team must bring a laptop to lab each week. When working in a team, if you were not there or your team determines that you did not participate in the exercises, your name should not be included on the final submission. Your lab work will be graded on a 4 point scale and based on how complete the answers are on the form (absent, there in body only, clear effort, good and complete answers).

    Computing projects

    Beside labs, there are two types of computing projects you will turn in (assignments and apts). All computing projects should be done individually unless otherwise stated and will use Python, the Eclipse environment and Ambient for submitting. See the Resources page for information about installing these.

    All computing projects should include your name and your netID as a comment in the program and a separate README text file that gives information including your name, your netID, how long it took to work on the project, anyone you received help from, and any other information required for that specific project.

    LATE POLICY: Projects turned in on time receive no penalty. Note that 1 minute late is late! Each student is granted two extensions of three school days with no penalty during the semester. Project extensions will be determined automatically. If your program is submitted one minute late, you just used one of your two extensions. Unused extensions are worth one point each at the end of the semester.

    Projects can be submitted up to one week late for half credit. All projects must be received before the last day of class regardless of any extension.

    If you find yourself using your first extension early in the semester, you need to start working on your programming projects earlier and possibly seeking help earlier.

    See Prof. Rodger immediately if you are having difficulty with this class.

    Collaboration

    First, you should follow the Duke Community Standard.
    The Duke Community Standard

    Duke University is a community dedicated to scholarship, leadership, and service and to the principles of honesty, fairness, respect, and accountability. Citizens of this community commit to reflect upon and uphold these principles in all academic and non-academic endeavors, and to protect and promote a culture of integrity.

    To uphold the Duke Community Standard:

    Second, unless otherwise stated, all work in this course should be your own work.

    You can get help from professors, the graduate TA and the undergraduate UTAs associated with the course.

    You may consult with other students in the course but you should not share code with other students. Consult means you can discuss the project before writing it, and get help with debugging your project, but you should write your own code. Writing a program and sending copies to another student is not acceptable! For each assignment you are expected to include a list of the people with whom you have consulted (including students, TA's, tutors, professors).

    You should not search the internet for code solutions, nor ask for help on internet sites, with the one exception of the Piazza site for this course. On the piazza site, you should not post your program and ask for help, but instead describe the error you are getting best you can or post the error message and 1-2 lines of code where you are getting the error message.

    Tests must be your own work.

    Grading

    labs 10%
    quizzes(reading or knowledge)/classwork 10%
    apts 10%
    assignments 20%
    two exams 25%
    final exam 25%

    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, 70% = C, 60% = D. This scale may go down, but it will not go up.

    Extra credit in a category is applied to that category. Extra credit on APTs are applied to the APT category. You may not receive more than 100% in any category. However, extra credit that tops you over a category (more than 100%) is noted and will be considered when calculating final grades if you are close to a border.

    The tests and final exam will be closed-book.

    FINAL EXAMS:

    Course Web Sites

    We will use several course web sites for this course.