Syllabus and Class Information
Computer Science 127
Fall 2016

Note: Remember to refresh your browser to see updates to this document. Rooms, office hours, and other details are subject to change!

Recording or photographing lectures is not allowed unless you have obtained explicit permission, in advance, from the instructor. Please turn off and put away your phone during class.

Meeting times


MWF 2:10 - 3:00 in Durham 171 (subject to change)


Labs will start on Wednesday, August 31 (the second week of classes).

The lab is the two-hour weekly meeting in Pearson. Note that the schedule below differs slightly from the information on the ISU schedule of classes.
Section 4Wednesday 6:10 - 8:00 pm in Pearson 108
Section 6Wednesday 6:10 - 8:00 pm in Pearson 158
New sectionThursday 4:10 - 6:00 pm in Pearson 158
Section 5Friday 8:00 - 9:50 am in Pearson 158


Steve Kautz
Office: Atanasoff 101
ISU email: smkautz
Phone: 294-4183

Office hours during final exam week:
Tuesday 11-12 and 1-3
Wednesday 12-1

Prerequisites and course content

This is an introductory course in programming and problem-solving that is intended for students with no prior programming experience who are planning to major in Computer Science.

Prerequisite: Math 140 (College Algebra) or equivalent

Major topics include:

Teaching Assistants

There are no TA office hours during final exam week

See top of page for Steve's office hours during exam week.
Name ISU email Office Hours Lab Section
Tejaswini Gutti tgutti T 4:10 - 5:00 Lab: W 6:10 - 8:00 (Pearson 158)
Preeti Bhardwaj preetibh W 3:10 - 4:00 Lab: F 8:00 - 9:50 (Pearson 158)
Kate McClintock katmc F 3:10 - 4:00 Lab: W 6:10 - 8:00 (Pearson 108)
Ziyang Yu yzy M 5:10 - 6:00 Lab: R 4:10 - 6:00 (Pearson 158)


Attendance in labs is required. Attendance in lectures is expected, but will not always be checked unless there is an in-class quiz or other activity. (See the "Grades" section of the document to understand the impact of these things on your grade.)

We adhere to an Equal Opportunity Attendance Policy: If you miss lab or you miss an in-class quiz for any reason, it's a zero. You can oversleep, go to the beach, perform in the symphony, get the flu, attend a funeral, or fly to Afghanistan with the ISU Beef Team; we will not discriminate. Therefore you do not ever need to provide excuses when you miss class or lab.

We will drop the two lowest lab scores and the two lowest quiz scores, so you can get sick for a couple of days or go home for an emergency without a negative impact on your grade. Choose wisely.

If you miss the lecture, it is your responsibility to find out what was covered and study it on your own. Please do not ask the professor what happened in class, just consult the "topics" page. This page summarizes the topics covered, give relevant sections of the text, and include links to all code examples discussed in class. For links, see "Notes and sample code" in the pinned messages at the top of the Piazza Q & A.

Piazza and Blackboard

We will be using a web site called Piazza for announcements and discussions in this course. All students are expected to check Piazza every day for announcements about the course, homework, or exams. If you were registered for the class as of about August 20, you will have received a welcome email from Piazza with instructions for signing up. Otherwise just go to and create an account using your ISU email address.

Turning off email notifications

By default, Piazza sends out periodic emails. It is easy to turn these off. After you sign up for Piazza,
  1. Find your name in the upper-right corner of the Piazza screen
  2. Click the drop-down menu and select "Account/email settings"
  3. Under "Class and email settings", find Com S 127
  4. Click on the link "Edit email notifications" in the small, blue font
  5. Edit as you see fit, e.g. "No Email"
Note that even if you select "No Email", you will still get course announcements that we believe to be either urgent or important. We will keep this to a minimum.

The Piazza Q & A

The most useful aspect of Piazza will be the question-and-answer discussion forum. This is the first place to look when you have questions about a homework assignment, about the course in general, or about Python. As you familiarize yourself with Piazza, you'll find that you can easily search the posts using any word or phrase, but you can also search using special tags called folders. For example, any posts that concern Exam 1 should be tagged with exam1 to make it easy to find them. Whenever you post a question on Piazza, you'll be prompted to select one of the pre-defined folders for it. For example, here are the folders that we'll be using this semester:

generalGeneral questions about the course
pythonQuestions about the Python language
labsQuestions about the labs
hw1, hw2, etc. Questions about the homework
exam1, exam2, final_exam Questions about the exams


We will also be making limited use of a course management system called Blackboard. Blackboard will be used only for submitting homework and recording grades. Unless announced otherwise, all assignments must be submitted electronically via Blackboard. We will review the procedure for doing this during the first or second lab.

You can log into Blackboard with your ISU NetID and password at

Textbook and Other Resources

There are two books:
  1. There Are Eels in my Hovercraft. This is a set of notes written by the instructor. It is a work in progress that is currently being updated for Python 3 and posted in html format. See for current updates.
  2. The second textbook is a free, online interactive version of a book called How to Think Like a Computer Scientist that has been sort of an online classic for a while. See

    and take a look at the "ActiveCode" and "CodeLens" features. Click on the book title at the top of the page to get the whole table of contents. For now, don't worry about registering or logging in, you can still read and use the book.

Python 2 vs Python 3

We will be using Python 3 for this course. Many examples and books still use Python 2. The two versions are not compatible, but it is not hard to translate one to the other. The differences that will matter to us are:


We will using the Python programming language for this course, specifically version 3. We also recommend a development environment (an editor and project manager for writing Python programs) called Wing 101.

The labs in the basement of Pearson will all have this software available (rooms 108, 105/109, 113, and 158). Some of the labs are heavily booked during the day for classes, so check the schedule on the door of each lab first. Note: labs are still being updated as of the first day of classes, so the Python/Wing installation may not be available until later in the week.

If you wish, you can also install the software, which is all free, on your own computer. For Python, go to

and download the Python 3 installer for your platform.

For Wing 101, see


You can expect to have two in-class exams plus a final. The exact dates will be announced at least 10 days in advance.

*** You must bring your university ID to all exams. ***

If you cannot attend an exam, you must notify your instructor at least one week prior to the exam to make other arrangements. The instructors will normally adhere to ISU policies regarding exam conflicts.

The final exam will not be returned to you, but you may come to the instructor's office hours during the following semester to review it.


Letter grades will be based on an overall weighted average of the three exams, the homework, labs, and in-class quizzes or other exercises, with approximately the following weighting.

Specifically, you can calculate your overall score as follows:
exam1 = your Exam 1 score
exam2 = your Exam 2 score
final = (your final exam score) / 2
homework = 100 * (sum of your homework scores) / (total points for all homework)
labs = 100 * (sum of your lab points) / (total lab points)
overall = exam1 * .15 + exam2 * .15 + final * .20 + homework * .35 + labs * .15
Final exam is normally out of 200 points, Exams 1 and 2 are 100 points each.

Letter grades are not assigned until the end of the course. We can promise that your grade, determined by the overall weighted average described above, will be at least the grade given by a standard 10-point scale, that is,
90 and aboveA-
80 and aboveB-
70 and aboveC-
60 and aboveD-
In practice the grading scale may "curved" slightly (i.e. shifted down by couple of points). An approximate guideline is that the overall median score for students completing the course will be a B-.

Homework Assignments

Important note regarding dead week: The last programming assignment will normally be due during the last week of classes.

Programming assignments will be posted on Blackboard in the Homework section and announced on Piazza.

Submissions and feedback

In general, late assignments will NOT be accepted, except that programming assignments may usually be turned in up to 24 hours late with a 25% grading penalty (weekends and university holidays are not counted in the 24 hours).

Homework scores will be posted for you on Blackboard. For the assignments, additional feedback is normally provided in the form of attached text files indicating where points were taken off and showing the results of whatever functional tests we performed. To see the attached file or files, go to the "Review Submission" page on Blackboard for your latest assignment submission.

If you have questions about the grading or if you feel an error has been made in grading your assignment, first contact the TA that graded it, either during office hours or by email. In particular, requests for regrades must be made within one week of the date when the results were made available on Blackboard. If you are not satisfied with the response from the TA, please contact your instructor promptly. If necessary, your homework will be regraded. Note that a regrade may result in a lower score.

Correct submission of an assignment is your responsibility. Remember that when submitting an assignment via Blackboard, you can immediately check whether the submission was successful, and you can always download your submission and verify that it is what you intended. Don't forget that with Blackboard, it is NOT enough to just select the file to be submitted. You also have to remember to click the "Submit" button.


The lab period is the numbered section that normally meets 2 hours per week in one of the computer labs in the basement of Pearson. It is an opportunity to try things out while there are other people and TAs around to help you.

Grading of lab work

Working ahead on labs

We expect that the lab writeup will normally be posted each Wednesday before the first lab that week. If it is posted early, or if you have a Friday lab, you are welcome to start working on it early. If you finish the checkpoints before your lab period, you still need to come to lab on time to get credit for it (but you can leave as soon as the TA is able to check off your work). The class will follow Iowa State University's policy on academic dishonesty. Faculty are required to report apparent or suspected incidents of academic dishonesty to the Dean of Students Office. See

What is academic dishonesty?

Unless specifically instructed otherwise, all homework assignments for this course are to be the product of your own intellectual effort and are to be done on your own.

If you turn in work that was based on or copied from someone else's work, you have committed plagiarism, which is one form of academic dishonesty. However, you are also responsible for academic dishonesty if you allow someone else to copy your work or otherwise provide information.

Anyone found responsible in an academic dishonesty case will receive an automatic F in this course.

How to avoid academic dishonesty

There is a simple guideline for this course that covers most cases. When you are working on an assignment that is to be turned in:

Don't look at anyone else's code.
Don't let anyone look at your code.
Don't talk about the code at a level of detail that might lead to the same solution.

A W-W-W-Warning

Just as a word to the wise, note that random examples you find on the web are likely to mislead you more than help you, since those who post them have no idea of the ideas and techniques being covered in our particular class. You will be much better off reviewing examples from class and posting your questions on the Piazza discussions, where the instructor, TAs, and other students going through the same experience can help you.

Disability Accommodation

Iowa State University complies with the Americans with Disabilities Act and Sect 504 of the Rehabilitation Act. If you have a disability and anticipate needing accommodations in this course, please contact (instructor name) to set up a meeting within the first two weeks of the semester or as soon as you become aware of your need. Before meeting with (instructor name), you will need to obtain a SAAR form with recommendations for accommodations from the Disability Resources Office, located in Room 1076 on the main floor of the Student Services Building. Their telephone number is 515-294-7220 or email Retroactive requests for accommodations will not be honored.

Dead Week

This class follows the Iowa State University Dead Week policy as noted in section 10.6.4 of the Faculty Handbook. There will be an assignment due during dead week.

Harassment and Discrimination

Iowa State University strives to maintain our campus as a place of work and study for faculty, staff, and students that is free of all forms of prohibited discrimination and harassment based upon race, ethnicity, sex (including sexual assault), pregnancy, color, religion, national origin, physical or mental disability, age, marital status, sexual orientation, gender identity, genetic information, or status as a U.S. veteran. Any student who has concerns about such behavior should contact his/her instructor, Student Assistance at 515-294-1020 or email, or the Office of Equal Opportunity and Compliance at 515-294-7612.

Religious Accommodation

If an academic or work requirement conflicts with your religious practices and/or observances, you may request reasonable accommodations. Your request must be in writing, and your instructor or supervisor will review the request. You or your instructor may also seek assistance from the Dean of Students Office or the Office of Equal Opportunity and Compliance.

Contact Information

If you are experiencing, or have experienced, a problem with any of the above issues, email