|
|
|
CSE 142: Computer Programming I Syllabus -- Winter 2004
Course Website: http://www.cs.washington.edu/142/
Course Instructors
Name
|
Office
|
E-Mail Address
|
Office Hours
|
|
CSE
548 |
cse142-instructors@cs.washington.edu
or
perkins@cs.washington.edu |
W 130-2:30 & Th 11:00-12:00
|
Doug
Johnson
|
CSE
270 |
cse142-instructors@cs.washington.edu
or
djohnson@cs.washington.edu |
MW 10:30-11:30
|
Teaching Assistants
|
see web
|
full information on the web
|
full info. on the web
|
Class Meetings
Lecture A (Johnson)--- Monday, Wednesday, and Friday from 9:30 to 10:20
in Guggenheim 224
Lecture B (Perkins) --- Monday, Wednesday, and Friday from 11:30 to 12:20
in Guggenheim 224
Quiz Section --- Thursdays. Check UW
online time schedule for times and locations.
Course Goals and Objectives
The major goals of this course include:
- To learn the general principles of computer programming
- To develop skills in designing, implementing, documenting, testing,
debugging, and analyzing in the context of computer science
- To develop communication skills in describing technical material
These goals will be accomplished by:
- Completing homework assignments, projects, quizzes, and exams
- Participating in class discussion through regular attendance in lecture
and quiz section
- Seeking help of course staff and classmates when necessary
- Communicating ideas in a written document accompanying programming
projects
- Communicating ideas orally and in writing with instructional staff
and classmates during class activities
- Providing help rather than giving answers to classmates seeking help
Course Philosophy
General: This course is designed to introduce concepts related to
computer programming and computer science. Because this is an introductory
course, it is critical that you keep up with the material by completing assignments
on time and preparing for each class session by reading assigned material. The
course instructional staff is here to help you keep up with the material.
It's okay to struggle with the concepts, but it is your responsibility to
seek help when you are confused. You are welcome to attend office hours of
either instructor or any Teaching Assistant (TA). The full office hour schedule
is on the web.
Seeking Help: We expect you to have questions as you are learning the
material. You may receive help from classmates (see below about Collaborative
Learning) and seek help from the course staff. We encourage you to ask questions
during lecture meetings and post questions to the class discussion board.
We will communicate ideas with each other by posting messages to an E-Post
bulletin board, which is linked from the course website. Please use the bulletin
board for all technical questions and discussions. Course staff members will
monitor the discussion board and will normally respond to questions within
a day (if they haven't already been answered by other members of the class).
Collaborative Learning: CSE142 is a large class with over 500 students
enrolled in the two lectures. One advantage of having a large number of students
is having 500 different ways of understanding the course material and having
500 classmates to help you learn. We encourage you to work together on homework
and projects, but any work that you turn in must be your own. Unacknowledged
copying or using parts of someone else's work, even if it has been modified
by you, is plagiarism and is not acceptable. When you work with others
on homework and projects, please acknowledge places where you received
help in your homework submissions. An acceptable way to collaborate is to
discuss problems and potential solutions and then writing or coding the solutions on
your own. When giving help to other classmates, please do not
give them the answer. Instead, ask questions to learn of their understanding
and give conceptual explanations - this practice will help you master the
material yourself. You will be engaged in collaborative learning activities
during quiz section each week as a member of a 4 to 5-person quiz section
group. These groups are designed to give you practice with new concepts and
help you learn how to communicate your ideas. Exceptions to these rules,
such as assigning partners to work together on large programming projects,
will be explicitly announced in the appropriate assignment or project.
Instructors' Responsibility: In this course, the instructor's job is
to guide you in learning about computer programming and computer science.
In additional to traditional lecturing, we will have regular discussions
and activities during lectures and quiz sections. We expect your full participation
and readiness to learn at all class meetings. In return, we will do our best
to offer suggestions, activities, and explanations to help you learn the
material.
Assessment of Learning
We will assess your learning based on your submitted work, including homework
assignments, programming projects, project reports, quizzes, exams, and in-class
activities. Generally the assignments, projects, reports, quizzes, and activities
are your chance to learn, while the exams are the main way we will assess
what you have learned. Because CSE142 has such a large enrollment, all
homework, projects, and project reports have fixed deadlines. No late work
will be accepted. Midterms and exams are tentatively scheduled on
the dates given on the course calendar - any changes will be announced well
in advance. It is your responsibility to be present in class those days.
Please do not make plans which would prevent you from taking the exams.
Grading Scheme (subject to change)
Course grades will be calculated as follows, although the exact weights
may change somewhat if appropriate. Individual assignments, programming projects,
and reports will be weighted differently depending on level of difficulty
and other factors.
20% - Homework Assignments
20% - Programming Projects and Project Reports
15% - Midterm #1,
15% - Midterm #2,
20% - Final Exam,
10% - Quizzes, In-Class Activities, and Class Participation
Homework Assignments: There will be (almost) weekly homework assignments
consisting of written questions and short programming problems, some of which
will require use of a computer. These assignments are intended to help you
learn the material. Homework assignments should be done individually by each
student. You will normally turn in homework electronically using Internet
tools, but some assignments may be collected on paper.
Programming Projects and Reports: There will be three larger
programming projects during the quarter, which you will do with
a partner. Your partner will be determined by the course staff
and you will have a different partner for each project. These projects
will span two weeks and will culminate with a written report. You
will turn in projects electronically using Internet tools and hand
in written reports on paper.
Exams: Exams are intended to serve as learning tools in
addition to helping the course staff evaluate your mastery of concepts.
There will be two midterm exams and one final exam. The midterms
will be given in-class during the regular lecture hours.
Quizzes: Because we want you to keep up with the material,
quiz sections will usually start with a short (3 - 5 minute) quiz.
The quizzes are not intended to be challenging. If you keep up
with the reading and attend lecture regularly, you should have
no problem with the quizzes. Quizzes will be graded credit/no credit.
No makeup quizzes will be given.
In-Class Activities and Participation: We will have regular
discussions and activities during lecture and quiz section. Some
of these may include items you turn in for credit.
Logistics
Prerequisites: There are no prerequisites listed in the course catalog.
However, we assume that you have met the admission requirements for UW: three
years of mathematics (geometry and advanced 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. We also assume familiarity
with computers, files, folders, e-mail, web browsing, and the like.
Textbook: The required textbook for the course is An
Introduction to Programming and Object Oriented Design using Java by
Jaime Nino and Frederick A. Hosch. We have ordered preprints of
the first half of the second edition, and these should be available
for purchase at the University Bookstore on Tuesday, Jan. 6.. We
ask that you read certain chapters or sections before attending
the accompanying lecture (see the online course calendar for the
latest updates to the readings). Lectures will not be a replacement
for the text; instead, lectures will complement the presentation
in the text.
Course Website: Please familiarize yourself with the course
website as soon as possible. Updates to the schedule, important
announcements, and resources to help you learn will all be posted
there. If you should happen to miss class, be sure to talk to a
classmate to find out what you missed. The course website is not a
substitute for attending class - this is not a distance learning
course.
Lecture Slides: Copies of lecture slides will be posted
to the course website, generally no later than the afternoon before lecture.
We encourage you to print copies of the slides, look at them in advance,
and bring them with you to lecture so you can take notes. The slides are
not a substitute for attending lecture - there will be significant material
presented in lecture that is not included on the posted slides.
Computer Labs: The Introductory Programming Laboratory (IPL)
for CSE 142 and CSE 143 is on the third floor of Mary Gates Hall
(MGH 334). Computers in the labs run Windows and Java tools, plus
usual web browsers, mail, and other web tools. Course software
is also installed in some other public UW computing facilities,
including the main lab on the ground floor of MGH and the Odegaard
Undergraduate Library. The IPL is our home base, and we provide
consulting support there. It is also possible to work at home
using the same software
found in the IPL.
Instructions for installing the necessary software can be found
on the course web site - click on "computing at home".
Materials: You are responsible for keeping backup copies
of your work, either on your Dante account, floppy disks, or other
media. Your files are not retained on the lab machines.
Course Administrator: Pim Lustig, Allen 126; 616-3225, cse142-admin
@cs.washington.edu (pl@cs.washington.edu). See Mr. Lustig for administrative
matters related to the course such as scheduling conflicts, corrections
to entries in our grade database, etc.
Computer Use Policy: Take the excerpts from the campus policies
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 worked submitted must be your own
or your team's (for projects completed in pairs). 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 cannot
write any piece of the solution for you. These rules are no different
than the ones governing original work and collaboration in an English
or History class. The University has 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. It is only fair that students
receive credit for work they do themselves and the assignments
and projects are designed to help students learn. Read the section
on Collaborative Learning in the Course Philosophy section of this
document. If you are not clear whether some form of collaboration
is acceptable, please ask a TA or instructor first.
Course Calendar
The latest version of the calendar is on the course website. The
course calendar lists the lecture and quiz section topics, assigned readings,
exams, and due dates for homework assignments and programming projects. The
calendar is always subject to change as the quarter progresses.
|