You are welcome to go to office hours of any TA and either instructor, not just the one
you are registered for. Usually, the fastest way to reach any of the staff is by sending
an e-mail message.
Course Goals
CSE 142 provides an introduction to Computer Science; in particular, the goal is for
students to learn the general principles of programming, including how to design,
implement, document, test, and debug computer programs. To make these principles concrete,
we will study and use the C programming language. One goal of this course is
to provide the background necessary for students who wish to continue to CSE 143;
students who feel they already have adequate preparation may take CSE 143 immediately and
if successful in that course, may receive credit for 142 (see UW course catalog p.32).
Prerequisites
No prerequisites are listed in the catalog. However, it is assumed that students in this
course have met the minimum requirements for admission to UW, and in particular: three
years of mathematics, at least at the level of geometry and advanced (second-year)
algebra; two years of science; and four years of English. The course is not
recommended for students who are at a remedial level in English or mathematics.
Course Format
The class meets three times a week for lectures. Once a week, you meet with your TA and
the other members of your quiz section. The class does not meet in a computer lab on
a regularly scheduled basis. On your own time, you have homework to do, mostly computer
programs to design and debug. You will be working on homework more or less all the
time, with frequent, inflexible deadlines. You will also need to use Internet tools
(see below
) to get and turn in assignments and
to keep in touch with the course. Many students who take this course report that it
makes great demands on their time.
Topics Covered and Schedule
The main topics include: the concept of a computer and of programs; variables, values,
and types; functions; program organization; style; iteration; arrays, including 2-D
arrays; structs and arrays of structs; strings; and brief introductions to sorting,
recursion, graphics, and event-driven programming. A day-by-day lecture schedule may be found on the World Wide Web. This
shows topics covered, textbook sections for each topic, and dates of major events.
Times and Locations
142A Lecture (Dickey): MWF 9:30-10:20, Kane 210
142B Lecture (Kane): MWF 11:30-12:20, Kane 210
Jeri R. Hanly and Elliot B. Koffman, Problem Solving and Program Design in C,
third edition, Addison Wesley, 1999. You can use the second edition (1996) with
occasional minor adjustments.
Course Packets
Reading packets will be available at Professional Copy 'N Print, 4200 University Way
(estimated $12.00 total). The packet contains copies of the lecture slides used last
quarter and other supplementary materials. Purchase of the packet is strongly
recommended as an aid to note-taking.
Exams
There will be two 45-minute midterm exams, and a comprehensive final exam. There may be
occasional short quizzes. Tests may include a mixture of multiple-choice,
short-answer, and programming questions. The final will be an
approximately 100-minute exam on Tuesday, December
12, 2000.
You must take the exams on the scheduled date; please do not make plans which would
prevent you from doing so. You must take the final exam in order to pass the course.
The final exam will not necessarily be at
the time listed in the UW Time Schedule and may be held in a room other than the usual
lecture room.
Attendance
Attendance is expected at all quiz section meetings (Thursdays). You are also encouraged
to attend every lecture, although attendance is not taken. 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 lecture
slides. Instructors and TAs will not furnish make-up materials to individuals who miss
class.
This is not a distance learning course, even though a great deal of class material is
available via the Internet. Students who choose not to attend class cannot expect to
succeed as readily as those who do.
Homework
Computer Science is best learned hands-on. Five to six sizable programming projects will
be assigned throughout the course, 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.. Assignments must be done by each student individually, unless
explicitly directed otherwise. Pick up graded homework 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 might be collected in class or by e-mail. However, for most programming
homework you will turn in both electronic and paper copies 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 get credit for the assignment, this receipt must printed and turned in
before the deadline, along with any other materials specifically requested. Paper copies
of assignments may be turned in either at lecture or quiz section (depending on the date
due). There is a CSE Homework Box located in the hallway outside of Sieg
128, but it should be used only if the instructions so state, or in special
situations. Any material placed in that box must be sealed in a large (e.g. 9x12 in.) envelope, with "CSE
142" and your quiz section written clearly on the front. Unless the
instructions specifically say otherwise, you don't need to turn in a disk. Points
may be deducted if the mechanics of turn-ins are not correct (not in an envelope, missing
information, wrong format, etc.)
Late Policy
Programming homework assignments have fixed deadlines
(see "Homework
Submission" link on home page.) Late homework is not accepted.
Grading Scheme (tentative)
Homework: 40%. This includes programming projects as well as possibly
other types of assignments. Not all assignments are equally
weighted, with later projects generally weighted more heavily than the earlier ones.
The course web site is the primary source of information about CSE 142. In addition, everyone should read the newsgroup
uwash.class.cse142.bboard. This is a forum for discussions about the class, and the course staff will monitor it and contribute. You are also required to have a UWNetID, and you must read email at the address you've provided to UW. We will send email to that address if we need to broadcast a message to everyone in the class.
Messages are archived on the course web site.
Labs
A new Introductory Programming Laboratory (IPL) for CSE 142 and CSE 143 is nearing completion on the third floor of Mary Gates
Hall (MGH), and should be ready within a few weeks. Until then, MGH 030, a computer classroom in the basement, has been reserved for our use. Computers in the labs run windows and Microsoft Visual C++ 6.0 plus the usual browsers, mail, and other web tools. Visual C++ is also installed in all public UW computing facilities, including the main lab on the ground floor of MGH. The IPL is our home base, and we provide consulting support there (in MGH 030 until the new lab is ready), but you can work in any of the other labs. It is also possible to
work at home, especially on home PC's that have software similar to that in the IPL.
Materials
Students will need two or three 3.5" high-density (1.4 Megabyte) floppy diskettes
for storing their course files. Disks are not usually handed in.
Course Administrator
Melissa Albin, Sieg 227; 616-3225, cse142-admin@cs.washington.edu
(malbin@cs.washington.edu).
See Ms. Albin for administrative matters related to the course such as
scheduling conflicts, corrections to entries in our grade database, homework
and exams not picked up in sections, etc.
Some excerpts from the campus policies.
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."
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 CSE 142 will
be vigorous in enforcing them. We make use of very effective automated tools for detecting
similarities between homework solutions.
Although students are encouraged to study together to understand the course content,
each student is expected to produce his or her own solution to the homework problems. It
is unacceptable for two or more people to work together as a team in solving a problem. It
can be hard to draw the line between studying together and working on a program together.
A safe guideline is never to look at another person's program, or to show your program to
someone else. When in doubt, ask a TA or instructor for guidance.