Course Objectives. The goal of this class is to learn to
design and implement the elementary data structures (lists, stacks,
queues, trees, and tables); to analyze the algorithms that operate on
these data types; and to properly use them in building programs. The
important computer science
concept is program design and development.
will be able to design and develop programs that use collection
classes in Java.
Language and Compilers. The programming language used is Java. We use the Java Software Development Kit, version 1.8, which is available free from Oracle (other sites on the Internet also offer free tools for Java programming). The lab computers run Ubuntu Linux. Class libraries used in CS 157 can also be used in this course.
Class Web Pages. The syllabus, policies, lab exercises, homework, and sample code are posted as links from the class website. When available, lecture notes will be posted as well.
Attendance. Students are allowed three
unexcused absence per semester. Subsequent absences, if
unexcused, may be reported to the Office of the Dean of Students, which
will then issue a cut warning. A student with too many such
absences may be dropped from the course.
Reading Assignments. Read the
of the textbook as assigned. While doing the reading,
I encourage you to look at the exercises and problem
at the end of each section and chapter. Be sure to ask questions about
what you don't readily understand. There is a whole bookshelf of useful
material on the Java language
is also much useless material), especially on the Internet. Much
of it is geared to industrial applications and is too advanced for this
class. If you feel the need for supplementary material, just ask and
I'll help you find something suitable.
Students may discuss ideas for solving an assignment among
themselves, and the language for such discussion is English - not Java.
Each assignment must be your own work
collaboration is specifically allowed in the assignment. Turning in
any portion of work written by another is an Honor Code violation and
grounds for disciplinary action as allowed by University policy.
Exams. A tentative schedule will be given during the first week of classes. Exams are typically given during class time. Anyone missing an exam must present me a documented excuse explaining their absence if they are to make it up. The Final Exam is scheduled by the registrar during the last week of the semester; see the syllabus for your final exam time.
Grading. Grades are assigned according to a method whereby the mean of the top class scores are used to determine the cutoff points for each letter grade; in this way, final scores are based on the performance of the class as a whole. The instructor reserves the right to move grades up or down in the distribution based on factors such as attendance, improved (or not) scores through the quarter, etc.
Stephen P. Carl