These videos showcase our methodology to teaching programming: we provide an approach for students to solve programming problems.  This first video comes from Chapter 1, in which we explain our seven step programming process.  We present the problem of finding the closest point in a set S to another point P (which is useful for applications from mapping to similarity analysis), and work through the algorithm development, before we even introduce programming syntax.




Later, once we have developed programming basics, including pointers and arrays, we revisit this problem and implement the algorithm in code.  A key aspect of our approach is that code is never a bunch of magic words that are given by the gurus.  Instead, the code is the implementation of an algorithm we devise together.  Once we complete the implementation of this algorithm, we execute it by hand on an example input.  Learning to read code, as well as write it, is another key tenet of our approach: how can you possibly understand what you are writing if you cannot read it?