CSC241 - Abstract Data Types & Programming Methodology

Rameen Mohammadi
Office Hours: M(2-3),W(3-4), T(9-11) and by appointment
Office: 145 Snygg
Phone: 315-341-2367 (office), 315-564-5911 (home)
Fax: 315-341-5424
Email: mohammad@oswego.edu
URL: http://www.cs.oswego.edu/~mohammad

Objectives:

Create an environment where students have ample opportunities to improve their problem solving skills.

Teach about program validation and verification, and analysis of algorithms as a significant part of software design.

provide an in depth exposure to well known data structures.

Cover Object Oriented Programming by using the existing Java API class hierarchy and creating and extending classes and interfaces in Java.

Classroom/Time:

127 Snygg, T TH (11:10-12:30)

Optional Texts:

Date Structures in Java by Standish, Addison-Wesley 1998.

Computer Facilities:

SUN server rocky. For the most part, you will use the workstations in Snygg, rooms 6, 8 and the javaStations in room 103.

Grading:

             Exams 1,2............................. 30%
             Final Exam............................ 15%
             Class Participation...................  5%
             Labs 1-5 ............................. 20%
             Programs 1-4.......................... 30%

Notes:

OUTLINE

  1. Software life cycle. Lecture Set #1
    OOD and TDD.
    classes/objects/packages in Java.
    Web page development.
    Applets.

  2. Class development. Lecture Set #2
    pre/post conditions.
    Exception handling.
    Test programs.

  3. Stack and Queue. Lecture Set #3 and Lecture Set #4
    An integer stack and an integer queue.
    Abstract versions.
    Concrete implementations using arrays and linked lists.
    Generic versions.

  4. Recursion. Lecture Set #5

  5. Lists. Lecture Set #6

  6. Algorithm analysis. Lecture Set #8
  7. Quick sort and Merge Sort. Lecture Set #7 and Lecture Set #9

  8. Keyed Collections. Lecture Set #10 and Lecture Set #11
    Binary search tree implementation.
    Hash table implementation.