Introduction to Computer Science

  1. Intro to Algorithms
  2. An introduction to algorithms using a simple example (addition)
    Introduction to binary numbers and the binary system
    Technique to convert a decimal number to its binary representation
  3. Memory Addressing and Arrays
  4. Analysis of the operation that expands an array to accommodate more elements
    Analysis of a sorting algorithm (insertion sort)
    Analysis of the different implementation of the list ADT and the time complexities associated with its operations.
    Review of stacks and queues and an analysis of their implementations.
    Introduction to a method of proving mathematical statements (induction)
    The concept of recursion in computer science
    Analysis of a recursive decimal to binary conversion algorithm
  5. Recursive Fibonacci & Tower of Hanoi
  6. Study of a recursive algorithm to compute the power of a number
    Study of Binary Search, its algorithm and recursive/iterative implementations
  7. Mergesort
  8. Big O and Big Omega
  9. Study of recurrences and their use in determining the time complexity of recursive algorithms
    Introduction to the tree abstract data type
    Introduction to binary trees
    Introduction to the binary search tree and its operations
    Introduction to the heap abstract data type and its use in implementing priority queues
  10. Heaps and Heapsort
  11. Maps and Hashes
  12. Graphs and Graph Traversal