 |
CSE/ENGR 143 Syllabus
|
CSE 143: Computer Programming II
General Information and Syllabus
Spring 1999
- Instructor
- Martin Dickey
dickey@cs.washington.edu or cse143-instructor@cs.washington.edu
Office: Sieg 417
- Lectures: MWF 2:30-3:20 pm, Guggenheim 224
- Sections: meet both Tuesday and Thursday: Check full
schedule on Web for updated room locations.
- AA: 830-920 LOW 222 (Minimal Programming Experience)
- AB: 830-920 LOW 220 (Considerable Programming Experience)
- AC: 830-920 LOW 217
- AD: 830-920 LOW 216
- AE: 930-1020 MEB 234
- AF: 930-1020 EEB 318
- AG: 930-1020 LOW 116
- AH: 930-1020 LOW 217
- AI: 830-920 EE1 031
- AJ: 930-1020 KNE 110
- Check the online staff
schedule for instructor and TA office hours, as well as lab consultants' hours. For
answers to most questions, you can go to any of the staff, not just your own TA or
instructor. A fast way to reach any of the course staff is by sending
electronic mail .
- Course Goals
- Students will learn concepts and techniques of modular programming and abstract data
types. CSE 143 is a continuation of CSE/ENGR 142. Its goals are similar, namely to teach
the foundations of problem-solving through programming; software engineering principles
and practice, particularly abstraction and modularization; elementary data structures; and
an introduction to the performance analysis of algorithms. To make the principles
concrete, we will study and use the C++ programming language.
- The student who completes the course successfully will have the tools needed for useful
programming and the concepts needed to better understand computers and software in a
variety of situations. In particular, the material will provide a good foundation to
students who continue in more advanced computer science and computer engineering courses.
- Course Format
- The class meets three times a week for lectures. A day-by-day lecture schedule may be found on the Web. Twice a week,
you meet with your TA and the other members of your quiz section. On your own time, you
have homework to do, mostly computer programs to design and debug.
- Internet tools
- The main course page is located at http://www.cs.washington.edu/education/courses/143/CurrentQtr/
. Students are responsible for material there. Be sure to check the web pages often for
updates to the schedule, project clarifications, sample solutions, etc. E-mail is another
important tool. Students are also responsible for class announcements made via email,
especially those on the list cse143-announce. Please subscribe right away and
stay subscribed until after the final exam. The newsgroup uwash.class.cse143.bboard
is used for less urgent business and discussions among students.
- Texts
- [Required] Frank Carrano, Paul Helman, and Robert Veroff, Data Abstraction and
Problem Solving with C++: Walls and Mirrors, 2nd ed, Addison-Wesley, 1998
- [Recommended] CSE 143 Course Packet. Will be available eventually at
Professional Copy and Print, 4200 University Way N.E. This packet contains all of last
quarter's lecture slides. Many of this quarter's slides will be similar. The packet does
not contain old exams or other supplementary information.
- [Optional] Stanley Lippman, C++ Primer, third edition. Addison-Wesley, 1998. The
optional textbook is a good resource to have if you plan to do C++ programming beyond the
scope of CSE 143. There will be no assigned reading from it.
- At practically any bookstore you can find books about C++ aimed at all sorts of readers.
You might find that one or more of these books appeals to your unique learning style and
background.
- Quizzes and Exams
- There will be several quizzes, a midterm, and a comprehensive final exam. All tests are
closed book, closed notes, calculators not permitted, unless otherwise announced. Tests
cannot be made up. Tests may include a variety of multiple-choice questions, short
answers, short essays, and programming problems. Students should bring a blank mark-sense
(Scantron) form and a #2 pencil to each exam. The midterm will be timed at approximately
45 minutes.
- The final exam will be 100 minutes in length, on June
8, at 2:30 pm in the usual classroom (unless another location is announced). It
will not be possible to give the final on any other day. Please be careful not to
schedule travel or other activities that conflict with the exams.
- Attendance
- Attendance is expected five days a week. If you miss a lecture, talk to a friend who was
present, and be sure to check the Web site and mailing lists for class messages. Handouts
can be obtained from your TA, but other than that, instructors and TAs will not furnish
make-up materials to individuals who miss class. This is not a distance learning
course! Students who do not attend regularly cannot expect to succeed as easily as
those who do.
- Homework
- Programming is one of those things you learn by doing. About five programming exercises
will be assigned throughout the course. Programming assignments must be done individually,
unless explicitly directed otherwise (see Academic Misconduct
below).
- Turn-In
- Most programming assignments will be turned in via the Web. Electronic submission forms
will be available a few days before the due date of the assignment. You must print
out and hand in (in time) the receipt generated by your electronic submission in order to
get any credit for the assignment. Parts of some assignments may be turned in by other
methods. In some cases, you may be asked to demonstrate or discuss your program in person.
Specific instructions will be available with each homework. Programs are
compiled as they are turned in; if a program fails to compile, or it compiles but doesn't
run, it will receive little or no credit.
- Late Policy
- Work turned in electronically will have a specified deadline for electronic submission.
Other work is due at the beginning of class unless announced otherwise. Except in
truly exceptional circumstances, late homework will not be accepted.
- Grading
- Approximate breakdown of the course grade is as follows:
- Other (non-programming homework, participation, etc.) 5%
- If you find an error in our grading, you must bring it to your TA's attention within one
week of that item being returned.
- Computing Facilities
- The Introductory Programming Laboratory (IPL) for CSE 143 is in Sieg 323. The PCs run NT
outfitted with Microsoft Visual C++ (Version 6.0) , Netscape, Internet Explorer, and other
tools. It may be possible to complete assignments using other UW computing facilities, or at
home, especially on home PC's that have software similar to that in the IPL, but our
ability to support a wider variety of platforms is limited.
- Materials
- Students may need two or three 3.5" high-density (1.4 Megabyte) floppy diskettes
for storing their course files. They can be purchased at the computer section of the
University Bookstore and at many retail outlets.
- Computer Use Policy
- Some excerpts from the campus policies
follow. 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. Although students are encouraged to study
together to understand general course content, each student is expected to produce his or
her own solution to the homework problems. Copying or using sections of someone else's
program, even if it has been modified by you, is plagiarism and is not acceptable. If a
tutor or someone outside the course is helping you, that person may not write any part of
any program for you, even if that tutor is provided by the University.
-
- The University has very clear guidelines for academic misconduct and the staff of CSE
143 will be vigorous in enforcing them. Here is some further clarification: You may
not copy code from someone else; that is considered cheating. If you don't look at anyone
else's code, and no one looks at yours, your code won't look like anyone else's. Be
safe rather than sorry.I f caught cheating, full disciplinary measures may be
invoked, including a failing grade and initiation of a cheating case in the university
system. To avoid creating situations where copying can arise, you cannot mail or post or
otherwise make your code available electronically to anyone. You can post general
questions about programming problems and even pseudo-code snippets, but no actual C++
code.
-
- Now for the good news. It is educationally valuable to work with others on general ideas
for how to go about solving some problem, and to help others in general terms when they
are stuck. You may occasionally look at (but not copy down) others' code on screens, but
only to give them help in debugging. If in doubt about collaboration vs. cheating, just
don't, or send the instructor mail asking for clarification.