|
|
|
|
Course Administration and Syllabus
- Course Web site
-
http://www.cs.washington.edu/education/courses/143/03wi
- Place and Time
- Lecture: MWF 11:30-12:30, Kane 120
- Quiz sections: TuTh, various times and locations. Check the
UW
Time Schedule.
Instructor: Martin Dickey
E-mail: dickey@cs.washington.edu
Office: Sieg 423b Office
hours TBA; see
Weekly
Schedule
- Staff Information
- Course Goals
- CSE143 is a continuation of CSE142. Topics covered will include
classes; interfaces and inheritance; software design principles and
practices; error handling and exceptions;
stream I/O; user interfaces; recursion; elementary data structures and
associated algorithms (lists, queues, stacks, trees); and an introduction
to performance analysis and implementation tradeoffs. The Java
programming language will be used to gain concrete experience with these
ideas. In addition to its technical content, CSE143 is intended
to help you develop strategies for becoming self-reliant, adaptable, and
confident as a computing practitioner.
- Successful completion of the course will give you the tools
needed to construct substantial computer programs, and the concepts to
help you better understand computers and software in your everyday world.
Finally, the course also provides a foundation for further study in
computer science and engineering.
- Prerequisite: CSE142 or
equivalent.
- To be fully prepared, you should have taken the Java
version of the course at the UW, or have equivalent background.
Look at recent
CSE142 web pages if you are not sure whether your previous course
included the appropriate topics. The new Java version of
CSE142 introduces basic programming concepts in the context of Java
classes and objects. These are topics that were not part of the
former (C language) version
of the CSE142. Our current CSE142 also includes use of reference-based data structures,
standard collection classes, and simple graphics. If
you have some experience with these areas in an object-oriented programming language (C++,
for example), you should be able to make the transition to Java, and
to this course.
There is only a (very brief) opportunity near the beginning of
the course to catch up with some elementary material and terminology.- Course Format
- The class meets five days a week: three lectures on MWF, and two quiz
sections on TTh. 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 CSE143 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.
CSE143 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.
- 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.
- Textbook and Other Required Reading
- Textbook (optional): Jaime Niņo and Frederick Hosch, An Introduction to Programming
and Object-Oriented Design using Java, Wiley, 2002. This
book is also used in CSE142. It begins with the very fundamentals
of Java. We will cover the first several chapters quite rapidly.
If you did not have CSE142 at the UW, purchase of this book is
recommended.
- Another suggested book, more up to date with respect to Java, is
The Object of Data Abstraction and Structures (Using Java) by David
Riley. Each of these two books covers some material which is
omitted in the other, and which is part of the course. If you
choose not to buy either or both, be sure you have ready access to a
copy of each.
-
- Note: CSE143 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 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.
- 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 at
the time set by the University:
Wednesday, March 19, 2:30 p.m. .
You must take the exams 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).
- Participation and Service
- A small percentage of the course grade comes from participation and
service, defined as something which helps you learn and helps
the staff or benefits the class as a whole.
I'll throw out examples and suggestions as we go along.
You can
look for opportunities, too.
- 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.
- Homework
- Computer programming is best learned hands-on. Several sizable programming
projects will be assigned throughout the quarter, as well as a number
of smaller exercises, which may include problems to solve, questions
to answer, short writing assignments, diagrams or charts to draw, etc.
You should expect to have something due every week, occasionally even
more than one per week, and sometimes on or close to an exam date. Assignments must be done by each student
individually, unless explicitly directed otherwise. Pick up graded written
homework and exams from your TA in quiz section.
Unclaimed homework is discarded at the end of the quarter.
-
- 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!
- Grading Scheme (tentative)
-
- Homework and Projects: 29%. Longer or more difficult
assignments may be weighed somewhat more heavily.
- Midterm #1: 14%
- Midterm #2: 16%
- Final Exam: 24%
- Miniquizzes: 12% (all weighted equally)
- Participation and Service: 5%
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
me. 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!If you find an error in the grading, you must bring it to your TA's
attention within one week of when the item was returned.
- Your grade in the course
- Yes... the rumor is true. The class is graded on a curve, with
the mean set at about 3.1. Midway through the course, students often ask me 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.
- 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 cse143-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, cse143-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."
Academic Misconduct
All work turned in is expected to be your own, unless we
specifically ask you to work in teams. 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 CSE143 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.
|
 |
Department of Computer Science & Engineering
University of Washington
[comments to cse143-webmaster]
|
|