handout #1
Computer
Science & Engineering 142
Computer Programming I
Instructor Karanbir
Singh Email:
karanbir@uw.edu Phone:
--- Office:
CSE 216 Office
hours: on website or
by appointment or when my office door is open |
|
Course
Administrator Pim Lustig Email:
cse142@uw.edu (email
for registration issues) |
Course
Overview
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).
Course
Web Page
Information
about the course will be kept at http://www.cs.uw.edu/142.
Lecture Policy
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 the classroom. If it is
important to you to use your laptop during lecture, email Karan to describe
your situation and request an exception.
TAs will periodically enforce this policy during lecture.
Textbook
Building Java Programs, 4th edition, Reges
& Stepp, required.
Can be purchased from UW Bookstore, online (e.g. Amazon.com), or as a download
for lower cost. 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.
Discussion Sections
You
will be expected to participate in a weekly 1-hour 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.
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 that
week. It will be graded for effort, not
for whether or not you have the right answers.
You will receive 3 homework points for each written assignment you bring
to section, up to a maximum of 18 points.
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.
Computer
Access/Software
The
department operates an Introductory Programming Lab (IPL) that is located in room
334 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.
Grading
You
will be expected to complete a variety of programming assignments for this
course, written section assignments, and to take two exams. The resulting scores will be combined
according to the following weightings:
45% weekly homework
assignments
20% midterm
(Friday, 7/21/17, in lecture)
35% final exam (in two parts: Thursday, 8/17/17 in section &
Friday, 8/18/17 in lecture)
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
Exams
The exams will be closed-book and closed-note. If you need to miss an exam, you must contact
Karan 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. You will not be able to get permission to miss an exam after
the exam has started. Students wishing
to take an exam at the DRS testing facility must schedule their exam at least
two weeks in advance of the exam or they may not be accommodated. For all
students, contact us in the first two weeks of the quarter if you have a
conflict with these dates and times.
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 to your TA within 2 weeks of receiving the grade.
Assignments are graded on a 20-point scale, although a few early assignments
may be worth fewer points.
Late
Policy
Each
assignment will list its due date. Most
will be due on Tuesdays at 11 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 3 days after its due-date. There are no exceptions for
this. No assignment can be submitted
after 11 pm of the last day of class (Friday, August 18th).
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.