Designed to teach computer programming with an introduction to Python Programming in interesting, relevant, and practical contexts. Focus is on hands-on Python programming skills, problem-solving using algorithmic thinking, abstraction, implementing an algorithm to executable code, debugging and testing software programs. Fundamental programming constructs such as variables, data types, selection, iteration, functions, data structures, file I/O, OOP and other core concepts are covered. Applications focus on computational techniques to understand data analysis, basic encryption algorithms, matrix manipulation, sorting and searching algorithms, basic game design, and more.