- 22C:016:AAA Computer Science I: Fundamentals (Fall 2012)
- Instructors, Prerequisites, Textbooks
- General Information
- Miscellaneous Announcements: The University of Iowa Policies
The College of Liberal Arts and Sciences: Policies and Procedures
- Administrative Home of the Course
- Academic Fraud
- Making a Suggestion or a Complaint
- Accommodations for Disabilities
- Understanding Sexual Harassment
- Reacting Safely to Severe Weather
- College of Liberal Arts Resources
- Student Classroom Behavior
- University Examination Policies
- Final Examinations
- Electronic Communication
22C:016:AAA Computer Science I: Fundamentals (Fall 2012)
Lecture Location:: Seamans Center room 1505 (Map)
Course Website: http://weblog.cs.uiowa.edu/22c016f12
College Home: This course is administered, and regulated by the College of Liberal Arts and Sciences, 120 Schaeffer Hall.
Discussion Sections meet on Tuesdays, at six different times and locations published on the Isis course information system. In addition, for make-up quiz and exams or help sessions, there can be additional meetings at times and locations yet to be determined.
Extra Course Section: due to overflow of the main classroom, an additional section of 22C:016 is being taught this semester, 22C:016:SCA, which is 5:00-18:45 on Monday and Wednesday, in 118 MacLean Hall. For this extra section, Dr. Gary Monnard (Gary-Monnard AT uiowa.edu) is the instructor. See the Office Hour Table for Dr. Monnard's office hours.
Adds and Drops: as of late August, the course is filled to capacity (and then some), so adding this course is not feasible. Drops will be handled at the Department of Computer Science Office, room 14 MacLean Hall. Important deadlines for dropping a class are 24 August (last day without $12 charge), 31 August (last day to drop without W & to reduce tuition), 29 October (undergrad last day for dropping a course), 6 November (grad student last day to drop)
Instructors, Prerequisites, Textbooks
Professor: Ted Herman, 201M MacLean Hall, Telephone: 335-2833, Email: ted-herman AT uiowa.edu (replace AT by "@" and remove spaces), Office Hours: 10:30-11:30 after class (Monday, Wednesday, Friday). Temporary Change: in September and October, office hours Wednesday may move to Thursday, 10:30-11:30 The office hours may change during the semester, and the place for office hours may move from my office to computer labs or other larger spaces, so that I can help more students and see problems interactively at the keyboard. Teaching assistants are Jamie Moore, Roy Zhang, Jason Fries and Renjitha Nair: offices, hours, and contact information to be added to the syllabus soon.
Important Note any email regarding this course should have  somewhere in the subject line
(otherwise, the email may be discarded by a spam filter)
Teaching Assistants: The teaching assistants for the course are Jason Fries, Roy Zhang, Jamie Moore, and Renjitha Nair. Their office hours are listed on the course web page. During the semester, grading of exams, quizzes, and homeworks will be shared by the teaching assistants, and it likely will not always be the same person who grades your work. Scores of exams and project parts will be posted through ICON. Please visit the Office Hour Table for a list of office hours and locations.
Course Prerequisites: Students are not required to have previous computer programming experience, but basic knowledge of how to use a computer (simple word processing, using a web browser) is assumed; students should have some competency with basic arithmetic and algebra (formally, this means 22M:005 or MPT II score of 20 or above or MPT III score of 10 or above).
Approved GE: Quantitative or Formal Reasoning.
Textbooks: There is no required textbook for this course. Reading notes will be published via the course web site. Students are welcome to use supplementary texts to learn Python, though this is not required. Several textbooks and tutorials are available for free via the Internet. A few of these are:
Beginners Guide (not so easy!)
Many books for learning Python have been published. Here are a couple by Iowans:
Python Programming by John Zelle.
Problem Solving with Algorithms and Data Structures Using Python (Advanced Textbook, too advanced for this course, but Iowa author, so listed anyway.)
If you already know Java,
Computing Facilities: All students in this course will get accounts and passwords to log in and use department of computer science workstations. These computers have the software installed that students will use to experiment with Python, write programs and submit homeworks. However, for some quick experiments, you might want to know that Python is available on Windows, Mac (usually already installed), and Linux. Instructions for installing Python are found at the official Python site www.python.org. It's also possible to run Python in a chrome browser, and even on an iPad, iPhone, or Android device --- though Python on these platforms can be quite difficult to install and use.
Goals and Objectives of the Course
Computer Science I (Fundamentals) is an introductory course on computer programming with emphasis on problem solving techniques. The course is a basis for computer science major and minor curricula, and also useful to other majors as an initial exposure to programming. Lectures are three times per week, with an additional discussion section once per week. Concepts are presented in the context of working examples and exercises. The key programming topics include data types, functions, objects and classes. The course will exclusively use Python (programming language). Python can be used interactively and can be accessed on Linux/Unix, Mac, and Windows platforms. However, the ultimate focus of the course is more than just the Python programming language. The same concepts covered in this course are used in other languages such as Java, C#, C, C++, Perl, PHP, SQL, and more. The last part of the course will cover topics in classes and objects, which are essential to nearly all modern programming languages.
Computer Science I is a four-credit course (four fifty-minute sessions per week). The official university policy is to expect about two hours of work, outside of class, for each credit unit. Thus a typical expected workload would be about eight hours per week outside of class. This is not a course where students read or write essays. Most of the time will be on experimenting with programs and on studying programming language conventions and techniques to understand concepts.
Grading Procedures and Policy
Four events determine the grading in this course: three exams and one programming project. There is no final exam in the course, but instead the final examination period (in the week of 10-14 December) will be for a make-up exam.
The final examination period is scheduled on Wednesday 12 December 2012 5:30p--7:30p in room W10 PBB .
Plus/minus grading will be used, based on normalizing total student scores to a curve. While ideal grading could follow a usual percentage table (90% for A, 80% for B, and so on), the College of Liberal Arts recommended GPA (average, taken over all students) for this course is 2.50, so scores may need adjustment to fit recommended norms. Typical average scores on a quiz or exam could be 58%, however using a curve a score of 60% might equate to a B- depending on the distribution of all student scores.
Grades - There are four gradable events in this course, three exams and a programming project. For scoring the graded events, an event score is passing if it is at least 70 points out of 100 for an exam, or at least 90 points out of 100 for the project. Here is the guide to letter grades:
- A = passing on 4 events
- B = passing on 3 events
- C = passing on 2 events
- D = passing on 1 event
Near misses to passing scores, say 68 points on an exam, will be considered for +/- letter grades. Higher scores, such as 98 on an exam, do not carry over to other events.
Exams - the three examinations cover these course aspects:
- 18 September - The first level of abstraction is mechanical data manipulation, types and evaluation, functions with conditional logic, primitive functionals and elementary recursion. Most students will be comfortable with this material, though not without some study.
- 16 October - The second level of abstraction is a mental model of state and behavior. This includes mutables (variables and aliases), comprehensions, iteration, recursion, flow of control and naming scope.
- 27 November - The third level of abstraction includes software engineering topics, where modules, files, networking and units from standard libraries are integrated into programs.
No Class Days
There will be no class on 3 September (University Holiday), and 19-23 November (Thanksgiving Recess); the last day of class is 7 December.
Attendance, Tardiness, Late Policy
Students do better when they attend classes; there is no guarantee that lecture notes or summaries of what happened in class will be published (though usually there will be a brief note about each class on the course web page, and there may be a recording of the lecture available through ICON). For discussion sections, the TA may take attendance at certain points during the semester, and record this to check if it correlates to poor student performance. All practice exams and regular exams will be held during discussion sections (on Tuesday).
Project work will be turned in using ICON's dropbox system, which records the time and date precisely. Each portion of the project will be due at 11:59:59 (before midnight) on a specified date. There is no guarantee that late submits will be accepted; if the Professor or TA agree to accept a late homework, the score will be penalized: work submitted late, but before the TA has graded all the on-time work, will be penalized by 20%; work submitted after the TA has finished grading all the on-time work, but within a week of the deadline, will be penalized 50%. No late projects are accepted if solutions have already been posted to the course web site.
Cheating and Plagiarism
Grades in courses are supposed to be an evaluation of your mastery of the course material. Any method of getting a grade that evades this evaluation is cheating. Copying answers, getting programming solutions from the Internet or other students in the class are ways of cheating, technically called plagiarism. Providing answers, sharing solutions, or doing someone else's work also counts as cheating. Cheating is a significant problem in computer science ("cheating computer science" turned up over 25,000 hits on a web search), but the definition of cheating is not so simple in software. During the semester there will be parts of lectures about cheating. The consequences and procedures for suspected cheating are described below, under the College of Liberal Arts policies.
Most of the additional resources are online or in libraries. They will be announced on the course web page. You are expected to have an account on the department's computer cluster (an account will be given to you if you do not already have an account). Homework assignments are expected to work properly on the department's cluster (thus, it is not enough that programs work on your own computer).
Miscellaneous Announcements: The University of Iowa Policies
This course is given by the College of Liberal Arts and Sciences (CLAS). This means that course policies on matters such as requirements, grading, and sanctions for academic dishonesty are governed by the College of Liberal Arts and Sciences. Students wishing to add or drop this course after the official deadline must receive the approval of the Dean of the College of Liberal Arts and Sciences. Details of the University policy of cross enrollments may be found at: Cross Enrollments Document.
See the student academic handbook for administrative procedures, your rights and responsibilities, and other topics. The official classroom procedures for faculty includes policies on cheating and plagiarism, students with disabilities, and other topics. In particular, we are required to state the following: I would like to hear from anyone who has a disability which may require seating modifications or testing accommodations or accommodations of other class requirements, so that appropriate arrangements may be made. Please contact me during my office hours. More information is found below.
Also, we are required to specify the following information. The name of the department, location of the departmental office, and information on how to contact the Department Chair (DEO) or his/her designee: Department of Computer Science, 14 MacLean Hall, Professor Alberto Segre, DEO
- "Statement that, for each semester hour credit in the course, students should expect to spend two hours per week preparing for class sessions (e.g., in a three-credit-hour course, standard out-of-class preparation is six hours)."
- "Procedures for student complaints." There is rather specific language (legalese) describing the escalating hierarchy of complaint procedures in several University documents. Typically, the student tries to resolve the matter with the instructor; then it can go to the department chairman or higher levels of authority. Please see the official documents for all the details of grievances and appeals.
- "Academic Honesty. The College of Liberal Arts and Sciences expects all students to do their own work, as stated in the CLAS Code of Academic Honesty. Instructors fail any assignment that shows evidence of plagiarism or other forms of cheating, also reporting the student's name to the College. A student reported to College for cheating is placed on disciplinary probation; a student reported twice is suspended or expelled."
The collegiate policy on academic honesty states that cheating is not tolerated. In the past, I've gone so far as making multiple versions of quizzes and examinations to discourage cheating (which had the unfortunate side-effect of being "unfair" because not all examinations were identical). I am now required to report suspected events of cheating to the DEO, so any doubts about what is and what is not plagiarism should definitely be clarified. While you are encouraged to discuss homework problems with others in the class (this is a good way to learn), do not copy solutions!
- Schedule of topics, readings, and course materials or other description of course content. See above, and frequently consult the course web page for assigned readings, pointers to online documents, and other announcements.
- Corrections or changes (if any) in the information about the course printed in the Schedule of Courses or other official University publications. Corrections, updates and announcements will be posted on the course web page version of this syllabus.
The College of Liberal Arts and Sciences: Policies and Procedures
Administrative Home of the Course
The College of Liberal Arts and Sciences is the administrative home of this course and governs such academic matters as the add/drop deadlines, the second-grade-only option, issues concerning academic fraud or academic probation, and how credits are applied for various graduation requirements. Different colleges may have different policies. Students with questions about these or other CLAS policies should speak with an academic advisor or with the staff in 120 Schaeffer Hall. Also see the CLAS Academic Handbook.
Plagiarism and any other activities that result in a student presenting work that is not his or her own are academic fraud. Academic fraud is reported to the departmental DEO and then to the Associate Dean for Academic Programs and Services in the College of Liberal Arts and Sciences who deals with academic fraud according to these guidelines: Code of Academic Honesty. The College of Liberal Arts and Sciences expects all students to do their own work, as stated in the CLAS Code of Academic Honesty. Instructors fail any assignment that shows evidence of plagiarism or other forms of cheating, also reporting the student's name to the College. A student reported to the College for cheating is placed on disciplinary probation; a student reported twice is suspended or expelled.
Making a Suggestion or a Complaint
Students have the right to make suggestions or complaints and should first visit with the instructor, then with the course supervisor if appropriate, and next with the departmental DEO. All complaints must be made within six months of the incident. See Student Rights.
Accommodations for Disabilities
A student seeking academic accommodations should first register with Student Disability Services and then meet with a SDS counselor who determines eligibility for services. A student approved for accommodations should meet privately with the course instructor to arrange particular accommodations. See Student Disability Services Website and complete the SAAR form with appropriate information.
Understanding Sexual Harassment
Sexual harassment subverts the mission of the University and threatens the well-being of students, faculty, and staff. See University Policies on Sexual Harassment.
Reacting Safely to Severe Weather
If severe weather is indicated by the UI outdoor warning system, class members will seek shelter in the innermost part of the building, if possible at the lowest level, staying clear of windows and of free-standing expanses which might prove unstable. The class will resume after the severe weather has ended. Some severe weather may result in classes being cancelled as noted in the University Operations Manual.
College of Liberal Arts Resources
There are several other programs and resources available to you.
Student Classroom Behavior
The ability to learn is lessened when students engage in inappropriate classroom behavior, distracting others; such behaviors are a violation of the Code of Student Life. When disruptive activity occurs, a University instructor has the authority to determine classroom seating patterns and to request that a student exit immediately for the remainder of the period. One-day suspensions are reported to appropriate departmental, collegiate, and Student Services personnel (Office of the Vice President for Student Services and Dean of Students). Please control your phones. Texting during quizzes and exams is prohibited, of course.
University Examination Policies
Missed exam policy. University policy requires that students be permitted to make up examinations missed because of illness, mandatory religious obligations, certain University activities, or unavoidable circumstances. Excused absence forms are available at the Registrar web site: Registrar Forms.
Recently, the Student Health Services changed the policy on class excuses, please read here: Student Health Forms and Reports.
An undergraduate student who has two final examinations scheduled for the same period or more than three examinations scheduled for the same day may file a request for a change of schedule before the published deadline at the Registrar's Service Center, 17 Calvin Hall, 8-4:30 M-F, (384-4300).
University policy specifies that students are responsible for all official correspondences sent to their standard University of Iowa e-mail address (@uiowa.edu). Students should check their account frequently. (See Operations Manual on technology use.) In case of any official grading or other official information, I will not be able to email to destinations outside of @uiowa.edu.