Computer Science & Engineering 142
Computer Programming I
Paul G. Allen Center, room 552
Lecture and Section Times
Lecture A MWF 9:30—10:20, Kane 210
Lecture B MWF — Kane 220
Sections various times and locations on Thursdays
We will be using a textbook-in-progress for this
course. Chapters will be posted on the
class web page and will be available for purchase from Professional Copy ‘n
This course provides an introduction to computer science using the Java programming language. CSE142 is primarily a programming course, but the focus is on the problem solving techniques common in computer science. We will endeavor to teach some practical aspects of the Java language, but students should not expect to be competent Java programmers after just one quarter of exposure. No prior programming experience is assumed, although students should know the basics of using a computer (e.g., using a word processing program) and should be competent with math through algebra 1.
You will be expected to participate in a weekly 50-minute discussion section. The TA who runs your discussion 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.
Because the section experience is an important aspect of the course, every student will be assigned a section participation score that is weighted as if it were an extra weekly assignment (20 points). You will receive 3 points for each of the first 6 sections you participate in and 2 points for the 7th section you participate in (max of 20 points). Notice that once you reach the maximum, you get no extra credit for participating in more sections.
We designate certain sections for students with “extensive prior programming experience.” Students attending these sections will be graded in exactly the same way as other students, but the TA is likely to spend less time reviewing basic concepts.
Course Web Page
Information about the course will be kept at http://www.cs.washington.edu/142. Links to course handouts will be kept on this page along with useful links to other class resources.
Pim Lustig (firstname.lastname@example.org, 616-3225) is the course administrator and will handle many details including registration and switching sections.
You will complete a variety of programming assignments for this course and will take two open-book, open-note exams. The resulting scores will be combined as follows:
40% weekly homework assignments
20% midterm (in class on Friday,
40% final exam (on Wednesday,
Using the weightings above, each student’s scores will be turned into an overall score ranging from 0 to 100 percent. These will be turned into grades as follows:
90% at least 3.5
80% at least 2.5
70% at least 1.5
60% at least 0.7
If you need to miss an exam, you must contact Stuart prior to the exam to get permission. Even if you are sick at home, you should be able to call your instructor’s office phone number to leave a message that you need to be contacted.
The weekly assignments will generally be graded on a 20-point scale, although a few of the early assignments may be worth fewer points.
Each assignment will list its due date. Most will be due on Tuesdays at 2 pm. Each student in the class will have a total of five “free” late days (a late day is 24 hours of lateness). There are no partial days, so assignments are either on time, 1 day late, 2 days late, etc. Because of this generous late policy, students will not be granted extensions for assignments unless they have some highly extenuating circumstances. Once a student has used up all of his or her late days, each successive late day will result in a loss of 1 point. No assignment will be accepted more than 7 days after its due-date. All assignments must be submitted by of the last day of class (Friday, December 9th), whether or not a student has free late days left.
The department operates an Introductory Programming Lab (IPL) that is located on the third floor 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 TextPad editor for Windows and Sun’s JDK 5.0 compiler for Java. More information can be found on the class web page. You are responsible for keeping backup copies of your work, either on your Dante account, floppy disks, or other media. Your files are not retained on the lab machines. When you use a public machine, be sure to log out when finished.
Policy on Collaboration
From the class webpage you will find a link to the department policy on collaboration which will be applied in this course. You should familiarize yourself with this policy.
You are to complete programming assignments individually. You may discuss the assignment in general terms with other students including a discussion of how to approach the problem, but the code you write must be your own. The intent is to allow you to get some help when you are stuck, but this help should be limited and should never involve details of how to code a solution. You must abide by the following: