Main course book: “Grokking Algorithms”, Aditya Y. Bhargava, 2016. ISBN 978-1617292231
“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
“Pearls of functional algorithm design”, Richard Bird, 2010. We will mostly use chapters 18 and 19 dealing with Games-AI. ISBN 978-0521513388.
==============
All classroom material is distributed through Github Classroom.
You need a github account for this.
We program together in class, and then links are given to students for the classroom assignment.
==============
Course outline:
Intro and setup.
In class activity: Syllabus. Installation.
Taxicab numbers: Exercise. Ramanujan and Hardy. [
github]
Numerical alorithms : Introduction to algorithms
Gauss-Jordan : Solution of system of equations.
Gauss elimination: 2x2 ; General case.
Gauss-Jordan: General case.
Newton-Raphson : Finding the zero of a function.
Time/memory : Closest sum exercise.
Dynamic programming : String matching
Levenshtein distance.
Smith-Waterman algorithm.
Exercises with dynamic programming:
Exact change
Partitioning a set of integers into two groups of equal sum
Graph algorithms
Graphs, and graph representation.
Dijkstra : shortest distance.
Minimu spanning trees
Depth first/ breadth first traversal
8 queens problem
============
+++++++++++++++
^ Password protected. * **
==================================
Questions/Comments: Zbaharav at Kehillah dot Org or Zachi at Baharav dot Org .