CS 307 Topics List

The following are the major topics and sub topics covered in CS307, Foundations of Computer Science. Students should understand all the topics listed. Exams will be based on these topics, but exams will not simply ask for the definition of the concept. This list is a constant work in progress.

  1. Review of CS 1 topics in Java

  2. Pointers

  3. Arrays in Java

  4. 2 Dimensional arrays and multi dimensional arrays in Java

  5. Object Oriented Concepts - Introduction

  6. Building classes

  7. Inheritance and polymorphism

  8. Exceptions

  9. Algorithm Analysis

  10. Recursion

  11. Sorting and searching

  12. Abstract data types

  13. Lists

  14. Iterators:

  15. Stacks

  16. Queues

  17. Trees, Binary Trees, Binary Search Trees, Balanced Binary Search Trees

  18. Other ADTs

  19. General skills