|
|
|
|
CSE 142: Computer Programming I Syllabus -- Autumn 2003
Course Website: http://www.cs.washington.edu/education/courses/142/
Course Instructors
Name
|
Office
|
E-Mail Address
|
Office Hours
|
Martin Dickey (9:30 lecture)
|
Allen 640
|
cse142-instructors @cs.washington.edu
OR
dickey@cs.washington.edu
|
MWF immediately after class, outside Kane
210
Other
times TBA Allen 640
Other times by appointment (check schedule)
|
Rob Duisberg (11:30 lecture)
|
Allen 210
|
cse142-instructors @cs.washington.edu
OR
duisberg@cs.washington.edu |
MWF immediately after class, Kane 220
Tu 1:30 Allen 210
Other times by appointment (check schedule)
|
Teaching Assistants |
full
information on the web. You are welcome to visit any instructor or
TA during scheduled office hours, not just your own TA. |
Class Meetings
Lecture A --- Monday, Wednesday, and Friday from 9:30 to
10:20 in Kane 210
Lecture B --- Monday, Wednesday, and Friday from 11:30 to 12:20 in Kane
220
Quiz Section --- Thursdays. Check UW
online time schedule for times and locations.
Course Goals and Objectives
The major goals of this course include:
- To learn the general principles of computer programming
- To develop skills in analyzing, designing, implementing,
describing, testing, and debugging, in the context of computer
science. These skill are not necessarily technical in the narrow
sense of the word, but encompass a range of abilities often described
as "critical thinking."
These goals will be accomplished by:
- Completing homework assignments, projects, quizzes, and
exams
- Participating in class through regular attendance in
lecture and quiz section and in other activities contributing to the
overall welfare of the class. Among other things, this includes
engaging in classroom discussions and activities, and providing
appropriate help to classmates in appropriate circumstances outside of
class.
- Seeking help of course staff and classmates when necessary
- Communicating ideas in written documents accompanying
programming projects
- Communicating ideas orally and in writing with
instructional staff and classmates during class activities
- Prerequisites:
- There are no prerequisites listed in the course catalog.
However, we assume that you have met the admission requirements for UW:
three years of mathematics (geometry and advanced algebra), two years
of science, and four years of English. We also assume familiarity with
computers, files, folders, e-mail, web browsing, and the like.
Previous experience in programming is not a prerequisite.
-
- The course is not recommended for students who are at a
remedial level in English or mathematics.
- Course Format
- The class meets four days a week: three lectures on MWF,
and quiz sections on Thursday. On your own time, you have
homework to do, mostly computer programs to design and debug.
- This is a programming course. Students
almost universally report that CSE142 is time-consuming compared
to100-level courses in other disciplines. Much of the time is
consumed by the unpredictable but exhilarating activity of
programming. You can't succeed without a commitment to spend
whatever time it takes to understand and complete the assignments.
- This is not a programming course. After
an exam, students sometimes remark, "I don't feel this exam fairly
assesses my skill as a programmer." And they are right!
Programming assignments and exams measure different skills and
knowledge. CSE142 is about much more than just getting a program
to run. It's about fundamental concepts of computer
science. Without mastering these fundamentals and the
accompanying technical vocabulary, analytical, and design skills, you
will not do well in the course, not matter how beautiful and
accomplished your programs.
- Assessment of Learning
- We will assess your learning based on your submitted work,
including homework assignments, programming projects, project reports,
quizzes, exams, and in-class activities. Generally the assignments,
projects, reports, quizzes, and activities are your chance to learn,
while the exams are the main way we will assess what you have learned.
Because CSE142 has such a large enrollment, all homework,
projects, and project reports have fixed deadlines. No late work will
be accepted. Midterms and exams are tentatively scheduled on
the dates given below - any changes will be announced well in advance.
It is your responsibility to be present in class those days. Please do
not make plans which would prevent you from taking the exams.
- Grading Scheme (tentative)
-
- Homework, projects, and written material (such as
reports): 35%. Longer or more difficult assignments may be
weighed somewhat more heavily.
- Midterm #1: 14%
- Midterm #2: 16%
- Final Exam: 21%
- Miniquizzes: 10% (all weighted equally)
- Service and Participation: 4%
Homework and tests assess very different things. It's quite
possible to do very well in one category and not-so-well in
another. If that happens to you and you don't see why, please
come and talk to an instructor. Along the same lines, sometimes
the
lectures, homeworks, and quiz sections will seem coordinated, and other
times they may seem to come from different planets!
- Your grade in the course
- Yes... the rumor is true. The class is graded on a
curve, with the mean set at about 3.0. Midway through the course,
students often ask us to estimate what grade they are likely to
get. This is very difficult. One thing you can look at is
how your scores compare with the class mean (this information
will be available on-line after our grades database is set up).
Of
course, you are always welcome to come and talk to me about grades or
any other concern.CSE142 grades operate on a pay-as-you-go basis.
There is never a chance to make up lost points by doing extra work or
doing especially well on some subsequent assignment. Do your best
every day and you will get the best grade you can.
- Homework Assignments and Programming Projects:
- There
will be frequent homework assignments
consisting of written questions and short programming problems, some of
which will require use of a computer. These assignments are intended to
help you learn the material covered in class, as well as to give you
practice in going beyond the lectures and learning on your own.. Some
homework assignments should be done individually by each student.
Other projects will be done with a partner. Your partner will be
determined by the course staff and you may have a different partner for
each project. Some projects will span two weeks with the culmination of
a written report. You will turn in projects and reports electronically
using Internet tools. Pick up graded written homework and exams from
your TA in quiz section.
Unclaimed homework is discarded at the end of the quarter.
If you find any error in the grading, you must bring it to
your TA's attention within one week of when the item was
returned.
- Topics Covered and Schedule
- A day-by-day
calendar is on-line. This shows topics covered, related
reading, pointers to lecture slides, and identifies dates of major
events. The exact mix of topics and activities is subject to
change. You can expect the calendar to be updated fairly
frequently, so please revisit it often.
- Turning in Assignments
- Each assignment will carry instructions about when and
how it is to be turned in. Some assignments may be collected in
class or by e-mail. However, for most programming homework, you
will turn in the assignment electronically via the Web. There will be a
special page with a form to fill out, and a "receipt" page is sent back
to your computer to verify that we received the assignment. Work
that is not turned in according to instructions will not be graded.
Most often, the deadline for electronic submission of assignments will
be Wednesday or Thursday evening. Non-electronic materials
assignments will generally be due at the beginning of lecture
or quiz section. However, there will be exceptions to these
general rules.
- Late Policy
- Except in truly exceptional circumstances, late
homework will not be accepted. Expect to spend a
lot of time on the programming homework. Estimating how long a
project will take is difficult, even for software professionals, so
start early!
- Tests and Quizzes
- There will be two 45-minute midterm exams and a
comprehensive final exam, timed at 100 minutes. Unless otherwise
announced, exams will be held in the same lecture hall as regular
classes. Tests and quizzes may include a mixture of
multiple-choice, short-answer, and programming questions.
All tests are cumulative, but emphasize the more recently covered
material.
- The final exam will be held on the
day set by the University: Tuesday, Dec. 16. The exam
times are tentatively at 8:30 and 2:30, however, it is highly likely
the the time of the exam (but not the day) will be different from
this. An
announcement will be made as soon as arrangements are finalized.
. You must take the exams on the days when they are offered;
please do not make plans which would prevent you from doing so. You
must take and pass the final exam in order to pass the course.
-
- There will also be a number of short quizzes, at
unpredictable times. These miniquizzes will generally be of three
types:
- Reading quizzes, which cover reading assigments that
has not yet been covered in class. (Reminder: "required reading"
includes more than just the textbook sections!)
- Knowledge quizzes, which test important skills or
concepts recently introduced
- Feedback quizzes, where the main goal is for us to
assess how well we are getting the material across.
- All quizzes will be graded on a simple system, and all
quizzes will count equally, regardless of length or difficulty.
No makeup quizzes will be given regardless of reason for missing, but
if you miss one (only), we will drop it from the average when computing
your grade. If you miss no quizzes, we will drop the lowest score
(percentage-wise).
- Service and Participation
- A small percentage of the course grade comes from service
and
participation, defined as something which helps you learn and
helps the staff or potentially benefits the class as a whole. We
may throw out examples and suggestions as we go along. But don't
wait to be asked. Create your own opportunities, too. More
information about service and participation points.
- Attendance
- Attendance is expected at all class meetings. There may
be some opportunities for credit that you will miss when you don't
attend. If you miss a lecture, talk to a friend who was present, and be
sure to check the Web site for class messages and updated information.
Instructors and TAs will not furnish private tutoring to individuals
who miss class, but of course you are welcome to visit office hours
with questions about the material.
- Even though a great deal of class material is available via
the Web, this is not a distance learning course, Students who don't
attend class cannot expect to succeed as readily as those who do.
If you miss class, you may miss information, examples, handouts,
advice, announcements, and other things that are not guaranteed to be
anywhere on the Web.
- Textbook:
- The required textbook for the course is An
Introduction to Programming and Object Oriented Design using Java
(special revised edition) by Jaime Nino and Frederick A. Hosch.
The
text is available for purchase only at the University Bookstore, by
special arrangment with the published. This special edition cannot be
ordered elsewhere (for example, from amazon.com). There
will also copies of it on reserve at the Engineering
Library. We ask that you read certain chapters or sections before
attending the accompanying lecture (see the online course calendar for
the latest updates to the readings). Lectures will not be a replacement
for the text; instead, lectures will complement the presentation in the
text.
- Note: CSE142 is not a course built around a particular
textbook. Don't be surprised to find details that differ between
the lecture presentations and the textbook explanations and
examples. There will also be differences in the order of
topics. In the case of the Nino and Hosch book, there will be
small differences in the version of Java used. Please don't let
that throw you! To supplement the textbook, there may be handouts
or pointers to readings on advanced topics, especially near the end of
the quarter.
In most any bookstore you can find an almost frightening number of
books about Java. You may find that one or more of these appeals
to your learning style and background better than either of the
suggested books. Linked from the web you will find a short
textbook by Ben Dugan. While not a complete textbook, this book
presents material in a way that is better suited to CSE142 than any
other published source.
- Other required reading
includes:
- every message sent to the announcement mailing list;
- every word of every assignment (and this can be a lot
to read!);
- all the lecture slides, including those that are not
presented in class;
- and anything else that we might designate as required
reading (which might include sample solutions and handouts).
- There may also be material presented in lecture which does
not exist on the slides or any printed form. You should try to keep up
with all of these materials and be prepared to be quizzed on them, just
as you would with the textbook readings.
- Other Materials
- You may wish to buy some disks to make backups of your
work. Probably we will not require you to turn in any
disks. Backup is something you should take seriously, though.
- Course Website:
- Please familiarize yourself with the course website as
soon as possible. Updates to the schedule, important announcements, and
resources to help you learn will all be posted there. If you should
happen to miss class, be sure to talk to a classmate to find out what
you missed. The course website will not be a substitute for attending
class.
- Lecture Slides:
- Copies of lecture slides will be posted to the course
website. Initially, last quarter's slides are available.
This quarter's will be similar. Updated slides will be posted
some time after each lecture topic is complete. We encourage you
to print copies of the slides, look at them in advance, and bring them
with you to lecture so you can take notes. The slides are not a
substitute for attending lecture - there will be significant material
presented in lecture that is not included on the posted slides.
- Tools for Communication
- The course web site is a primary source of information
about CSE143. In addition, everyone should read the class message
board (also referred to as the bulletin board or newsgroup). This is a
forum for discussions about course content and activities. Please
do not post your code on it! We will send email to your UWNetID
if we need to broadcast a message to everyone in the class.
E-mail messages are also archived and can be viewed on the web.
You can reach the entire teaching staff at once by sending electronic
mail to cse142-staff@cs.washington.edu
. This is often the fastest way to get an answer from some
staff member. You are encouraged to use the message board for most
discussions and questions.
- Labs and Computing Facilities
- The Introductory Programming Laboratory (IPL) for CSE142
and CSE143 is in room 334 of Mary Gates Hall. The IPL is our home
base, and we provide consulting support there at scheduled times
throughout the week. Software to support the course is also
installed in other UWired public labs. See the lab
information web page for more information on the UW programming
labs, their hours, etc. All the software is freely available over
the web, for you to install on your own computer; see the computing
at home pages for help. The same instructions apply to both
CSE142 and CSE143 in most cases. If you have software left over
from CSE142 -- it's all been updated. Please get the new
versions and reinstall.
- Course Administrator
- The course administrator is Pim Lustig, Sieg 112E
(inside Sieg 114); 616-3225, cse142-admin@cs.washington.edu.
See Pim for administrative matters related to the course such as
scheduling conflicts, routine corrections to entries in our grade
database, etc. See the staff
page for his office hours.
Appropriate Use of UW
Computers
- Here are some excerpts from the campus policies;
please take them seriously:
- "You must use all UW [computing] resources in strict
accordance with local, state, and federal laws. These laws cover such
areas as illegal access to computer systems, networks, and files;
copyright violations; and harassment issues... Software and information
resources provided through the university for use by faculty, staff,
and students may be used on computing equipment only as specified in
the various software licenses. Unauthorized use of software, images, or
files is regarded as a serious matter and any such use is without the
consent of the University of Washington...If abuse of computer
software, images, or files occurs, those responsible for such abuse
will be held legally accountable."
- Collaborative Learning vs. Academic Misconduct
- CSE142 is a large class with over 400 students enrolled in
the two lectures. One advantage of having a large number of students is
having 400 different ways of understanding the course material and
having 400 classmates to help you learn. We encourage you to work
together on homework and projects, but any work that you turn in
must be your own.. Unacknowledged copying
or using parts of someone else's program, even if it has been modified
by you, is plagiarism and is not acceptable! If you have a
tutor or helper from outside the course, that person may not write any
part of any program for you.
- The University has very clear guidelines for academic
misconduct and the staff of CSE142 will be vigorous in enforcing them.
We make use of very effective automated tools for detecting
similarities between homework solutions. Please read carefully the CSE
policies on these matters. Violations of these rules will be
referred to the appropriate University authorities for disciplinary
action... not fun for anybody. It is only fair that students
receive credit for work they do themselves and the assignments and
projects are designed to help students learn. Read the section on
Collaborative Learning in the Course Philosophy section of this
document. If you are not clear whether some form of collaboration is
acceptable, please ask a TA or instructor first.
|
|
Department of Computer Science & Engineering
University of Washington
[comments to cse142-webmaster]
|
|