Computer Science & Engineering 142
Computer Programming I
Instructor: Stuart Reges
Office: Paul G. Allen Center, room 552
Office hours: Wed 1-3 pm
(email for registration issues)
A: MWF 11:30-12:20, Kane 130
B: MWF 3:30-4:20, Kane 120
Building Java Programs, 4th edition, Reges & Stepp, required. The second and third editions have substantially the same material as the new edition for the CSE142 material, but the new edition has new material that is relevant to the CSE143 class. If you are buying a book, you are strongly advised to buy the new edition.
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. 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 I. Students with significant prior programming experience should consider skipping cse142 and taking cse143 (we allow students to do so without any special permission).
In the lecture room students should keep talking to a minimum and are limited in their use of electronic equipment. Students who want to use cell phones or laptops will be required to sit in the last four rows of Kane 120 or the balcony section in Kane 130. If it is important to you to use your laptop during lecture, email Stuart to describe your situation and request an exception. TAs will periodically enforce this policy during lecture.
You will be expected to participate in a weekly 50-minute discussion section. 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 week we will assign a written homework to be turned in and discussed in section. These are meant as “warm up” problems to get you thinking about the topics we cover, graded for effort, not for whether or not you have the right answers. You will receive 3 points for each written assignment you bring to section, up to a maximum of 20 points, which means it acts like an extra homework assignment. The points are for the combination of completing the assignment and attending section. You won’t get points for just attending section or just doing the written part.
The department operates an Introductory Programming Lab (IPL) that is located on the third floor of Mary Gates Hall. TAs will be available at the lab to help students with problems. You can use any Java environment you want although the recommended software for this course is the Java Development Kit (JDK) version 8 and the jGRASP editor. More information can be found on the class web page under the “working at home” link.
Course Web Page
Information about the course will be kept at http://www.cs.uw.edu/142.
To add the class or switch sections, email email@example.com.
You will be expected to complete a variety of programming assignments for this course and to take two exams. The resulting scores will be combined according to the following weightings:
40% weekly homework assignments
20% midterm (Friday, 2/15/19, 5:00-6:15 pm)
40% final exam (Wednesday, 3/20/19, 12:30-2:20 pm)
Contact us in the first two weeks of the quarter if you have a conflict with these dates and times. 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 70% at least 1.5
80% at least 2.5 60% at least 0.7
The exams will be closed-book and closed-note. If you need to miss an exam, you must contact Stuart prior to the exam to get permission. Even if you are sick, you should be able to call your instructor’s office phone and leave a message that you need to be contacted. Students wishing to take an exam at the DRS testing facility must schedule their exam at least one week in advance of the exam or they may not be accommodated.
Assignments are graded on a 20-point scale, although a few early assignments may be worth fewer points.
Each assignment will list its due date. Most will be due on Tuesdays at 9 pm. Each student 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 policy, students will not be granted extensions for assignments unless they have highly extenuating circumstances. Once a student has used up all free late days, each successive late day will result in a loss of 1 point. No assignment will be accepted more than 4 days after its due-date. No assignment can be submitted after 11 pm of the last day of class (Friday, March 15th).
We will grade only one version of any given program. If you make multiple submissions for an assignment, we will grade the last version submitted. If you submit a version that you later decide you do not want to have graded, you must warn your TA not to grade that version and to wait for a later submission from you.
Policy on Collaboration
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:
Under our policy, a student who gives inappropriate help is equally guilty with one who receives it. Instead of providing such help, refer other students to class resources (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 taking the course a second time, you are allowed to submit a previous solution that you authored unless that program was involved in a case of academic misconduct. For any assignment where academic misconduct was involved, you have to write a new version of the program. We enforce this policy by running similarity-detection software over all submitted student programs, including programs from past quarters.