- Introduction to problem solving
- a brief review of Von-Neumann architecture
- Introduction to programming
- role of compiler and linker
- introduction to algorithms
- basic data types and variables
- input/output constructs
- arithmetic, comparison and logical operators
- conditional statements and execution flow for conditional statements
- repetitive statements and execution flow for repetitive statements
- lists and their memory organization
- multi-dimensional lists
- introduction to modular programming
- function definition and calling
- stack rolling and unrolling
- string and string operations
- pointers/references
- static and dynamic memory allocation
- File I/O operations
- Starting out with Python, 4th Edition, Tony Gaddis.
- Starting out with Programming Logic & Designs, 4th Edition, Tony Gaddis
- The C Programming Language, 2nd Edition by Brian W. Kernighan, Dennis M. Ritchie
- Object Oriented Programming in C++ by Robert Lafore
- Introduction to Computation and Programming Using Python: With Application to Understanding Data, 2nd Edition by Guttag, John
- Practice of Computing Using Python, 3rd Edition by William Punch & Richard Enbody
- C How to Program, 7th Edition by Paul Deitel & Harvey Deitel
- Problem Solving and Program Design in C, 7th Edition by Jeri R. Hanly & Elliot B. Koffman