Revision of the basics of Python
Functions: scope, parameter passing, mutable/immutable properties of data objects, pass
arrays to functions, return values, functions using libraries: mathematical, and string functions.
File handling: open and close a file, read, write, and append to a file, standard input, output,
and error streams, relative and absolute paths.
Using Python libraries: create and import Python libraries
Recursion: simple algorithms with recursion: factorial, Fibonacci numbers; recursion on
arrays: binary search
Idea of efficiency: performance defined as inversely proportional to the wall clock time, count
the number of operations a piece of code is performing, and measure the time taken by a program. Example: take two different programs for the same problem, and understand how the efficient one takes less time.
Data visualization using Pyplot: line chart, pie chart, and bar chart.
Data-structures: lists, stacks, queues.