CMPU-123: Computer Science II

Fall, 1997

Instructor

Chris Welty. Office: OLB 117. VAX Email: CHWELTY. Sun Email: weltyc. Phone: x5992.

Contents

Announcements/Messages
Texts
Background
Grading
Schedule
Class Notes and Examples

Messages and Announcements

  • 12/4: Homework 5 supplement is now available.
  • 11/20: Homework 5 is now available.
  • 10/28: Homework 4 is now available.
  • 10/27: Examples from the book are now available.
  • 10/16: Test #1 is graded and available in my office. The Avg. was 80.
  • 10/6: Homework 3 is now available.
  • 9/22: Homework 2 is now available.
  • 9/11: Coaching hours are now available.
  • 9/10: Homework 1 and the examples from class are now available.

    Texts

  • Dale, Nell, Weems, Chip, and Headington, Mark. Program and Problem Solving with C++. Jones and Bartlett, 1996. [C++]
  • Headington, Mark, and Riley, David. Data Abstraction and Structures using C++. Jones and Bartlett, 1994. [DS]

    Background

    This course introduces the data structures and algorithms that are the building blocks of most computer programs. The language used is C++, an imperative programming language (as opposed to the functional language used in CS122). Most of the [C++] text will be covered as an introduction to the language, before moving on the the discussion of data structures and algorithms in the [DS] text.

    All programming will be done on Sun Sparstations, located within the Asprey Lab of the Computer Science Dept. These powerful state-of-the-art workstations run the UNIX Operating System and X-Windows. A formal introductory session will be held the first week to provide an introduciton to this computing environment.

    This course builds progressively on previously covered material. Therefore it is essential to attend all classes and keep up with the reading and the assignments. You are expected to do the assigned reading for a class before that class.

    There will be a number of programming assignments in the course, each involving the design of an algorithm and its implementation in C++. The assignments play a crucial role in understanding the course material, and you are expected to do all of them. Students must work on the assignments individually, though coaches will be available for general consultation and assistance.

    Grading

    55%: Homework and Programming Assignments
    20%: Midterm Exam
    25%: Final Exam

    Homework and assignments are due at the start of class on the due dates. Late homework will be charged a 10% penalty per day, with a weekend counting as one day.

    Note: In an effort to reduce paper consumption, all assignments and other handouts will be available exclusively on the web page (http://www.cs.vassar.edu/courses/cs123). If you need hardcopy you can print these pages from a web browser. The syllabus is the only handout you will receive for this course. All projects will be submitted to me by email.

    Schedule

    Week Topic Chapters Assignment
    9/1 C++: Syntax C++ 1-2
    9/8 C++: Arithmetic and I/O C++ 3-4 Homework #1 Assigned
    9/15 C++: Flow Control C++ 5-6 Homework #1 Due
    9/22 C++: Functions C++ 7-9 Homework #2 Assigned
    9/29 C++: Simple Data Types C++ 10-11 Homework #2 Due
    10/6 C++: Modules DS 2 Homework #3 Assigned
    10/13 Midterm Week C++ 1-11, DS 2 Homework #3 Due
    10/20 Fall Break
    10/27 Data Abstraction and Classes DS 3 Homework #4 Assigned
    11/3 Basic Data Structures DS 4-6
    11/10 Hellweek: Pointers DS 7 Homework #4 Due
    11/17 ADTs: Linked Lists DS 8 Homework #5 Assigned
    11/24 ADTs: Trees DS 9,13
    12/1 Algorithms DS 12 Homework #5 Part I Due
    12/8 Last Class, Review DS 2-9, 12, 13 Homework #5 Part II Due

    Class Notes and Examples

    Many of the examples we worked on in class are and will be available via the web. The directory ~weltyc/public_html/cs123/examples/ will contain these files. Feel free to click on the link above to see a list of all the files, or access it via Unix. Usually the name of the file includes the date of the class the examples are from.

    In addition, all the examples from the book are available. The file name for each example is included in the documentation string at the top of each example in the book.