Familiarization with the basics of Python programming: a simple “hello world" program, process of writing a program, running it, and print statements; simple data-types: integer, float, string
Introduce the notion of a variable, and methods to manipulate it (concept of L-value and R- value even if not taught explicitly)
Knowledge of data types and operators: accepting input from the console, assignment statement, expressions, operators and their precedence.
Conditional statements: if, if-else, if-elif-else; simple programs: e.g.: absolute value, sort 3 numbers, and divisibility.
Notion of iterative computation and control flow: for, while, flowcharts, decision trees and pseudo code; write a lot of programs: interest calculation, primarily testing, and factorials.
Idea of debugging: errors and exceptions; debugging: pdb, break points.
Lists, tuples and dictionary: finding the maximum, minimum, mean; linear search on list/tuple of numbers, and counting the frequency of elements in a list using a dictionary. Introduce the
notion of accessing elements in a collection using numbers and names.
Sorting algorithm: bubble and insertion sort; count the number of operations while sorting.
Strings: compare, concat, substring; notion of states and transitions using state transition
diagrams.