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/ENGR 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
142 Lecture (Tjaden): MWF 12:00-1:00, Gug 224
Quiz section times and locations are on the Web. Also check the schedules on-line for instructor and TAs'
office hours, lab consultants' hours, lab hours, and much other information.
Textbook
(required)
Jeri R. Hanly and Elliot B. Koffman, Problem Solving and Program Design in C,
second edition, Addison Wesley, 1996, or third edition, 1999.
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; some old exams and other supplementary materials. Purchase of the packet
is strongly recommended as an aid to note-taking.
Exams
There will be one 50-minute midterm exam, 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 50-minute exam on Friday, August 20, 1999..
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.
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
It is expected that most assignments will be due on Fridays. 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 on the date due, or put in the CSE Homework Box located in the
hallway outside of Sieg 128. All submissions must be sealed in a large (e.g. 9x12
in.) envelope, with "CSE 142" or "ENGR 142", your quiz section, and
your name 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: 45%. Programming homework will carry the greatest part of this weight. Later
programs may be weighted more heavily than the earlier ones.
The Introductory Programming Laboratory (IPL) for CSE/ENGR 142 is in Sieg 323. The
computers there are Windows NT PCs outfitted with Microsoft Visual C++, Netscape, Internet
Explorer, and other tools. The World-Wide Web is used extensively to provide you with
course information, such as the schedule mentioned above, homework assignments and
solutions, and many other things. Electronic mail (including class mailing lists) and
newgroups are other important tools for communication; you will need to check your e-mail
and newsgroups regularly.
It is possible to complete assignments using other
computing facilities, especially home PC's which have software similar to that in the
IPL, but our ability to support a wider variety of platforms is limited.
Materials
Students will need two or three 3.5" high-density (1.4 Megabyte) floppy diskettes
for storing their course files.
Computer Use Policy
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/ENGR 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.