algorithms and programming: simple gcd. improving naive gcd. euclid's algorithm for gcd. downloading and installing python. assignment statement, basic types - int, float, bool. strings. lists. control flow. functions. examples. more about range(). manipulating lists. breaking out of a loop. arrays vs lists, binary search. efficiency. selection sort. insertion sort. recursion. mergesort. mergesort, analysis. quicksort. quicksort analysis. tuples and dictionaries. function definitions. list comprehension. exception handling. standard input and output. handling files. string functions. formatting printed output. pass, del() and none. backtracking, n queens. global scope, nested functions. generating permutations. sets, stacks, queues. priority queues and heaps. abstract datatypes, classes and objects. classes and objects in python. user defined lists. search trees. memoization and dynamic programming. grid paths. longest common subsequence. matrix multiplication. wrap-up, python vs other languages.