Skip to main content
20804216 Computer Science 2
Course Information
Description
Topics covered include: inheritance, polymorphism, abstract classes, interfaces, exceptions, generics, singly-linked lists, stacks and queues via linked-lists, recursion, algorithm complexity, binary search, selection sort, insertion sort, quicksort, merge sort, binary search tree (BST) insertions, deletions, removals, in-order transversal, and heaps.
Total Credits
3

Course Competencies
  1. Apply object-oriented programming principles
    Assessment Strategies
    Skill demonstration, self-assessment, and/or exam
    Criteria
    Project includes encapsulation, inheritance, polymorphism, and abstraction
    Implement modular, reusable Java classes and class hierarchies

  2. Apply advanced data structures to programs
    Assessment Strategies
    Skill demonstration, self-assessment, and/or exam
    Criteria
    Use the Java data structures linked lists, stacks, queues, and binary search trees
    Select appropriate structures based on problem requirements

  3. Construct and manipulate linked data structures
    Assessment Strategies
    Skill demonstration, self-assessment, and/or exam
    Criteria
    Include singly and doubly linked lists
    Implement algorithms that traverse, search, insert, and delete nodes

  4. Analyze and compare algorithmic complexity
    Assessment Strategies
    Skill demonstration, self-assessment, and/or exam
    Criteria
    Use Big-O notation
    Evaluate the time and space efficiency of iterative and recursive solutions

  5. Develop recursive algorithms
    Assessment Strategies
    Skill demonstration, self-assessment, and/or exam
    Criteria
    Identify when recursion is an appropriate or inefficient solution strategy

  6. Use interfaces and abstract classes
    Assessment Strategies
    Skill demonstration, self-assessment, and/or exam
    Criteria
    Define generalized behaviors
    Support polymorphic method invocation
    Design extensible software systems

  7. Implement searching and sorting algorithms
    Assessment Strategies
    Skill demonstration, self-assessment, and/or exam
    Criteria
    Assess performance characteristics of binary search, selection sort, insertion sort, merge sort, and quicksort

  8. Manage error conditions
    Assessment Strategies
    Skill demonstration, self-assessment, and/or exam
    Criteria
    Apply exception handling mechanisms
    Write robust programs using try/catch/finally and custom exceptions

  9. Read from and write to files
    Assessment Strategies
    Skill demonstration, self-assessment, and/or exam
    Criteria
    Use I/O libraries to process structured data

  10. Use generics to implement type-safe data structures and methods
    Assessment Strategies
    Skill demonstration, self-assessment, and/or exam
    Criteria
    Include generic classes and bounded type parameters