CISC 3130 Course Syllabus and Homework Assignments

Text: Starting Out With Java From Control Structures through Data Structures, 4th ed.

By - Tony Gaddis and Godfrey Muganda

 

Introduction: Course Overview & Review

            - Inheritance

            - Polymorphism

            - Abstract Classes and Abstract Methods

            - Interfaces

            - Exception Handling

            - Recursion

            HW0: Programming Assignment #0 (Bank Accounts)


Chapter 16: Sorting, Searching, and Algorithm Analysis

            - Review of Sorting Algorithms

                        - the selection sort

                        - the bubble sort

                        - the insertion sort

                        - the quicksort algoritm

            - Review of Search Algorithms

                        - the sequential search algorithm

                        - the binary search algorithm

                        - a recursive binary search

            - Analysis of Algorithms

                        - complexity of algorithms

                        - worst case and average case analysis

- Big O Notation

            HW16: Programming Assignment #1 (Sorting and Searching)


Chapter 17: Generics

            - Introduction to Generics

            - Writing a Generic Class

            - Passing Objects of a Generic Class to a Method

            - Writing Generic Methods

            - Constraining a Type Parameter in a Generic Class

            - Inheritance and Generic Classes

            - Defining Multiple Type Parameters

            - Generics and Interfaces

            - Erasure

            - Restrictions on the use of Generic Types

            HW17: Programming Assignment #2 (Generics)


Chapter 18: Collections and the Stream API

            - Introduction to the Java Collections Framework

            - Lists

            - Sets

            - Hashing Algorithms

            - Maps

            - The Collection Class

            - The Stream API

            HW18: Programming Assignment #3 (Collections)


Examination #1:



Chapter 19: Linked Lists

            - Introduction to Linked Lists

            - Operations on Linked Lists

            - Doubly Linked and Circularly Linked Lists

            - Recusion on Linked Lists

            HW19: Programming Assignment #4 (Linked Lists)


Chapter 20: Stacks and Queues

            - Stacks and Their Applications

            - Array Implementation of Stacks

            - Linked List Implementation of Stacks

            - Queues and Their Applications

            - Array Implementation of Queues

            - Linked List Implementaion of Queues

            - Generic Implementaion of Stacks and Queues

            - Queues and Breadth-First Search

            HW20: Programming Assignment #5 (StacksAndQueues)


Examination #2:


Chapte 21: Binary Trees, AVL Trees, and Priority Queues

            - Binary Trees and Their Applications

            - Binary Search Trees

            - AVL Trees

            - Priority Queues

            HW21: Programming Assignment #6 (Complete Binary Tree - Heap Order Priority)


Final Examination