CSC240 Syllabus

  1. Course number and name

    CSC240 – Computer Science III

  2. Credits and contact hours

    3 Credit Hours

  3. Instructor’s or course coordinator’s name

    Instructor: Dr. Richard Epstein, Professor of Computer Science
    Course coordinator: Dr. Richard Epstein, Professor of Computer Science

  4. Text book, title, author, and year

    Starting out with Java: From Control Structures through Objects, 4th edition, Tony Gaddis, Addison-Wesley, 2010.

  5. Specific course information
    1. brief description of the content of the course (catalog description)

      This course focuses on more advanced topics in object-oriented programming, including project design, planning, and testing using milestones and checklists. Programming topics include text processing (including the StringBuilder and StringTokenizer classes), inheritance, polymorphism, abstract classes, interfaces, generic classes, exception classes, exception throwing and handling, random access files, serialization, and an introduction to some basic data structures, such as collection classes and linked list.

    2. prerequisites or co-requisites

      Prerequisite: CSC142 Computer Science II.

    3. indicate whether a required, elective, or selected elective course in the program

      Required course.

  6. Specific goals for the course
    1. specific outcomes of instruction
      • Students will be able to write code using inheritance, polymorphism, exceptions, file I/O, and generics.
      • Students will be able to plan software projects using milestones.
      • Students will be able to evaluate the correctness of their code using checklists.
      • Students will be able to build fairly large projects using more advanced topics in object-oriented programming.
    2. explicitly indicate which of the student outcomes listed in Criterion 3 or any other outcomes are addressed by the course.

      Course addresses Student Outcomes (b) and (i).

  7. Brief list of topics to be covered
    • Text processing (including StringBuilder and StringTokenizer classes)
    • Wrapper classes
    • Inheritance
    • Polymorphism
    • Large projects using inheritance / polymorphism / collection classes
    • Abstract classes
    • Interfaces
    • Exception throwing and handling
    • Generic classes
    • LinkedList
    • Random Access Files
    • Serialization