University of Washington
Computer Science & Engineering 142: Introduction to Programming I
Course Syllabus, Spring 2009

Course Instructors

 

Instructor

Dan Grossman (Section A)

Alan Borning (Section B)

email

djg at cs.washington.edu

borning at cs.washington.edu

phone

206-616-1124

206-543-6678

office

Paul G. Allen Center, room 556

Paul G. Allen Center, room CSE 644

office hours

Tuesdays 9:00-10:50AM  

Mondays 1:30-3:20PM

 

 

This is one course with two instructors.  Homework assignments, due dates, etc. are the same for both sections.

 

Course Administrator

 

Pim Lustig

pl@cs.washington.edu

Paul G. Allen Center, room 126

(206) 616-3225

 

Pim handles many course details, such as registration issues and switching sections.

 

Course Overview

This course provides an introduction to computer science using the Java programming language.  CSE 142 is primarily a programming course that focuses on common computational problem solving techniques.  No prior programming experience is assumed, although students should know the basics of using a computer (e.g., using a web browser and word processing program) and should be competent with math through Algebra 1.  Students with significant prior programming experience should consider skipping CSE 142 and taking CSE 143 (we allow this without any special permission).

Lecture Time

MWF 9:30-10:20, KNE 210   (Section A)
MWF 11:30-12:20, SMI 120  (Section B)

Discussion Sections

You need to participate in a weekly discussion section, held at various times and places on Thursdays (see the course web site for details).  The TA who runs your section will grade your homework assignments.  In section we will answer questions, go over common errors in homework solutions, and discuss sample problems in more detail than we can in lecture.

Each student will be assigned a section participation score that is weighted the same as one homework assignment.  You will receive 3 points for each section you participate in, up to a maximum of 20 points.

Course Web Site

http://www.cs.washington.edu/142/

All resources for the class will be posted here, including handouts, lecture notes, assignments, and important announcements.  Check the web site regularly.

Textbook

Reges/Stepp, Building Java Programs: A Back to Basics Approach.  ISBN 0536240167 (or 0321382838). 

Homework assignments will not come directly from the book.  Lectures and sections will cover the material necessary for the assignments and exams.  However, the book was written specifically for this course.  It has thorough explanations and examples that are directly relevant to the course material and assignments.  We consider the textbook a required resource.

Computer Access and Software

The department operates an Introductory Programming Lab (IPL) located in room 334 of Mary Gates Hall. TAs and consultants will be available at the lab to help students with problems.  The recommended software for the course is the Java Development Kit (JDK) version 6 and the jGRASP editor.

The course web site contains links to download this software free of charge if you want to work at home.

Grading

50%     weekly homework assignments (including section participation)

20%     midterm       (Friday, May 8, 2009, in class)

30%     final exam   (Wednesday, June 10, 2009, time to be announced)

Exams

Our exams are open-book and open-notes.  You may bring any written materials, such as textbooks, printed handouts, homework assignments, or programs.  No electronic devices may be used, including calculators.

Make-up exams will not be given except in case of a serious emergency.  If you must miss an exam, even if you are sick or injured, you must contact the instructor before the exam (or arrange for someone to do so).  You must show evidence that you are physically unable to take the exam, such as a doctor's note specifically mentioning the CSE 142 midterm, before the exam.  No make-ups will be granted for personal reasons such as travel, employment, or personal hardship.  No student will be permitted to take an exam early for any reason.

Homework

Homework consists of weekly programming assignments done individually and submitted electronically from the course web site.  Programs will be graded on "external correctness" (behavior) and "internal correctness" (style and design).  Disputes about homework grading must be made within 2 weeks of receiving the grade.

Lateness

Each student receives 5 "late days" for use on homework assignments.  A late day allows you to submit a program up to 24 hours late without penalty.  For example, you could use 2 late days and submit a program due Tuesday 9pm on Thursday before 9pm with no penalty.  Once a student has used up all the late days, each successive day that an assignment is late will result in a loss of 1 point on that assignment.  Regardless of how many late days you have, you may not submit a program more than 4 days after it is due or after the last day of class.  Students will not be given extensions unless they have extreme extenuating circumstances as decided by the instructor. 

Academic Integrity

Programming assignments must be completed individually; all code you submit must be your own work.  You may discuss general ideas of how to approach an assignment, but never specific details about the code to write.  Any help you receive from or provide to classmates should be limited and should never involve details of how to code a solution.  It is unfair to yourself, your classmates, and the course staff to submit an assignment that does not reflect your individual work.  To ensure a fair course, we vigorously pursue all cases of academic misconduct.

You must abide by the following:

Under our policy, a student who gives inappropriate help is as guilty as one who receives it.  Instead of providing such help, refer other students to class resources such as lecture examples, the textbook, the IPL, or emailing a TA or instructor.  You must not share your solution and ideas with others.  You must also ensure that your work is not copied by others by not leaving it in public places, emailing it others, posting it on the web, etc.

If you are retaking the course, you may resubmit a previous solution unless that program was involved in an academic misconduct case.  If misconduct was found, you must write a new version of that program.

We enforce this policy by running similarity-detection software over all submitted student programs, including programs from past quarters.  Violations are pursued aggressively: It is unpleasant for the course staff and very unpleasant for the students involved.  In some cases, the situation is sent to a University committee and can lead to marks on permanent academic records.