CSE 143 TVI: Computer Programming II
Course Administration

Richard Anderson Spring 2000

Web sites
TVI Course http://www.cs.washington.edu/education/courses/cse143-TVI/
UW Course http://www.cs.washington.edu/education/courses/143/
 
Course Goals
We will cover concepts of modular programming, abstract data types, and object-oriented programming. CSE 143 is a continuation of CSE 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. Successful completion of the course will give you the tools needed to construct substantial computer programs and the concepts needed to better understand computers and software in a variety of situations. In particular, the material provides a good foundation to students who continue in more advanced computer science and computer engineering courses.
Prerequisites
CSE 142 is a prerequiste for this course.
Tutored Video Instruction
This course is being taught as a partnership between UW and communtity colleges using Tutured Video Instruction. The basic idea is to use archived materials in a class room, with a facilitator present to help with in class discussion. The goal is to have substantial in class interaction between students, so that the educational experience is substantially richer than just watching the pre-recorded lectures or attending a large lecture.
UW Course Format
The UW class meets three times a week for lectures and once a week for quiz section. Quiz section is often a discussion led by the section TA, along with occasional quizzes. The class does not meet in a computer lab on a regularly scheduled basis. Students do homework on their own time, mostly designing and debugging programs. Programming assignments are worked on through the course, with frequent and inflexible deadlines.
TVI Course Format
The TVI course is being given at a number of different colleges using different schedules. The total meeting time per week is roughly five hours. Three hours of UW lecture will be shown per week. The lectures will be stopped for discussion whenever there are questions. Quizzes and discussion questions will also be used.
Course Materials
The course will use lecture materials recorded in Winter 2000. The Winter instructor was Hal Perkins. Professor Perkins will not be involved in the Spring 2000 TVI course. Questions regarding the course should be addressed to your local instructor, or to the course TA, or to Richard Anderson (anderson@cs.washington.edu).
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.
Textbook (required)
[Required] Frank Carrano, Paul Helman, and Robert Veroff, Data Abstraction and Problem Solving with C++: Walls and Mirrors, 2nd ed, Addison-Wesley, 1998
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 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 exam will be an approximately 100-minute exam held during exam period. See your local schedule for the time and location of the exam. 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 class meetings. 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. Archives of the lectures shown in class are available on the web -- but they are not intended as a substitute for attending class. Instructors and TAs will not furnish make-up materials to individuals who miss class.
Staying in touch
Each class section will have a email list. You must sign up for the appropriate list. To do this, send mail to majordomo@cs.washington.edu with a single line in the message of this form:

subscribe listname

in the message's body. Leave the subject line blank. See for more details. The mailing lists are cse143-greenriver, cse143-northseattle, cse143-shoreline. Mail is sent to the mailing list by sending a message to cse143-xxx@cs.washington.edu (where xxx is one of the three schools). Each site will also have a password protected web page, which will contain site specific information. Your local instructor will give out the password.

Student ID Numbers
For the purposes of turning in coursework, all students are required to have a unique student ID that is between seven and nine digits long (no letters or other characters are permitted). If the student has such an ID at his or her home institution, that ID should be used. If not, the student should create such an ID, possibly by taking the last 7 digits of his or her social security number or even by using a phone number. These ID numbers and their matching names will be collected by the TAs at the U.W. and will be used to identify all subsequent homeworks and exams for each student. It is critically important that the same ID number be used for all coursework during the quarter.
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.
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 on, or immediately after the date due. Points may be deducted if the mechanics of turn-ins are not correct (missing information, wrong format, etc.)
Late Policy
Programming homework assignments have fixed deadlines (see "Submission Policy" link on homework page.) Late homework is not accepted.
 
Grading Scheme (tentative)
  • Homework: 40%. Programming homework will carry the greatest part of this weight. Later programs may be weighted more heavily than the earlier ones.
  • Midterm #1: 15%
  • Midterm #2: 15%
  • Final Exam: 25%
  • Quizzes or other: 5%
Grading
Much of the grading of assignments and exams will be done at University of Washington. However, some of the latter homework assignments will be graded by a combination of face-to-face grading by the local instructor, and submission to UW for grading. A grade will be computed at UW based upon all homework and exams scores. This grade (along with all scores) will be reported to the local instructor, and a community college grade will be assigned.
Transfer Credit
Since the course is using University of Washington materials, it will be eligible for transfer credit to UW. If questions of transferability arise later, make sure that you indicate that the course was a TVI course run by the UW department of Computer Science and Engineering.
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."
Academic Misconduct
All work turned in is expected to be your own. 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 143 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.