Computer Science 257
Course Objectives, Assignments, and Grading

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 most important computer science concept is program design and development.   You 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 AssignmentsRead the sections of the textbook as assigned.  While doing the reading, I  encourage you to look at the exercises and problem statements 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 (there 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.

Assignments.  There will be 4-5 programming projects and regular homework assignments in this course.  You will have ~2 weeks to work on most programming projects.  Late projects are docked 5% per day late.  Note that no project assignment more than 4 days late will be accepted for grading - automatic zero - so turn in what you have.

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 unless 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