Advanced Algorithms Honors

Syllabus:

2018_Syllabus_AdvancedAlgs_Block_2_DrBaharav.pdf

==============

Books:

  1. Main course book: “Grokking Algorithms”, Aditya Y. Bhargava, 2016. ISBN 978-1617292231
  2. “Numerical recipes in C”, W. Press et. Al, 1992. We will mostly use Chapter 2 (Solution of linear algebraic equations) and Chapter 9 (Root finding). ISBN 978-0521431088
  3. “Pearls of functional algorithm design”, Richard Bird, 2010. We will mostly use chapters 18 and 19 dealing with Games-AI. ISBN 978-0521513388.


==============


==============

Course outline:

  1. Intro and setup. In class activity: Syllabus. Installation.
  2. Taxicab numbers: Exercise. Ramanujan and Hardy. [ github]


  3. Numerical alorithms : Introduction to algorithms
    1. Gauss-Jordan : Solution of system of equations.
      1. Gauss elimination: 2x2 ; General case.
      2. Gauss-Jordan: General case.
    2. Newton-Raphson : Finding the zero of a function.
    3. Time/memory : Closest sum exercise.


  4. Dynamic programming : String matching
    1. Levenshtein distance.
    2. Smith-Waterman algorithm.
    3. Exercises with dynamic programming:
      1. Exact change
      2. Partitioning a set of integers into two groups of equal sum


  5. Graph algorithms
    1. Graphs, and graph representation.
    2. Dijkstra : shortest distance.
    3. Minimu spanning trees
    4. Depth first/ breadth first traversal
    5. 8 queens problem

============

+++++++++++++++

^ Password protected.
*
**

==================================


Questions/Comments: Zbaharav at Kehillah dot Org or Zachi at Baharav dot Org .