|
|
|
|
CSE 142: Computer Programming I Syllabus -- Summer 2003
Course Website: http://www.cs.washington.edu/education/courses/142/
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 scheduled on the dates shown on the calendar.
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
Here's how your grade will be computed:
-
- Homework, projects, and written material (such as reports): 60%
- 6% hw1
- 7% hw2
- 7% hw3
- 7% hw4 (pairs)
- 4% hw4 (individual report)
- 7% hw5 (pairs)
- 4% hw5 (individual report)
- 7% hw6 (pairs)
- 4% hw6 (individual report)
- 7% hw7
- Midterm: 20%
- Final Exam: 20%
- Homework Assignments and Programming Projects:
- There will be (almost) weekly 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
schedule will be online. 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 schedule 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 one midterm exam (July 25) and a comprehensive final exam (August 22).
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.
- 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.
-
- Attendance
- Attendance is expected at all class meetings. . 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 by Jaime Nino and Frederick
A. Hosch [ISBN: 0-471-35489-9]. The text is available for purchase
at the University Bookstore. There are also three 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 it 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.
- 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.
- Other Materials
- You may wish to buy some disks to make backups of your work.
Routine backup is something you should take seriously..
- 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. Slides
will generally be posted the evening before each
lecture. 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 CSE142.
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
- 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.
- 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."
- Acknowledgements
- Much of the material presented this quarter is based on the lectures given to
CSE 142 during Winter 2003 by Hal Perkins and Tammy VanDeGrift, mixed and
stirred with material new and old from my own presentations of 142. Any errors
are my responsibility! DWJ
- Collaborative Learning vs. Academic Misconduct
- CSE142 is a large class with over 150 students enrolled. One advantage
of having a large number of students is having 150 different ways of
understanding the course material and having 150 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
Box 352350
Seattle, WA 98195-2350
[comments to cse142-webmaster]
|
|