|
|
|
|
CSE 143 Summer 2003
Course Administration and Syllabus
- Course Web site
- http://www.cs.washington.edu/education/courses/143/03su
- Place and Time
- Lecture: MWF 10:50-11:50, EE1-125
- Quiz sections: TuTh, various times and locations. Check the
UW
Time Schedule.
email: dickey@cs.washington.edu; office Sieg 423b
- Staff Information
- See the staff page on the course web for
information about TAs and consultants. You are welcome to visit any
TA in office hours, not just your own TA.
- 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 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.
-
- 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.
The class discussion board is not strictly required reading, but it
is to your advantage to keep up with material posted there. - Other Materials
- You may wish to buy some disks to make backups of your work.
We are not likely to require you to turn in any disks. Backup
is something you should take seriously, though.
- Tests and Quizzes
- There will be two 40-minute midterm exams and a comprehensive final
exam, timed at 60 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.
- In summer quarter, the final exams are not held at a
time set by the University. Our exam will be held on the last
day of class, August 22; it is possible that a portion of it may be
given during a lecture or quiz section earlier that week. 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! 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. [Following link was added 7/28/2003: 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.
We will, of course, help students who miss class because of illness
or other circumstances outside their control.
- 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.
Programming projects will often be done in pairs, and partners will
be assigned by the course staff. Other 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 Monday evenings. 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 Breakdown (tentative)
-
- Homework and Projects: 30%. Longer or more difficult assignments
may be weighed somewhat more heavily.
- Midterm #1: 15%
- Midterm #2: 15%
- Final Exam: 21%
- Miniquizzes: 15% (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 the
instructor or a TA. 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 median set at about 3.0. 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 the instructor 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 discussion board). 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, but 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
is closed during the summer quarter, and
we provide consulting support there
elsewhere at scheduled times throughout the
week. Software to support the course is also installed in other UWired public labs
including Odegaard and the Mary Gates Commons. 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 prior to Spring, 2003 -- 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 information 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 anybod
|
 |
Department of Computer Science & Engineering
University of Washington
[comments to cse143-webmaster]
|
|