
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Explore how variables serve as store locations with symbolic names and values. Learn how assignments change x, y, and z during runtime.
Explore variables, arithmetic and logical operators, and relational checks in Python basics; learn how to store values, perform calculations, use remainder, concatenation, and boolean logic to drive decisions.
Explain data types such as bool, int, char, float, double, and string; show how value types store data and how assignment differs from equality.
Learn to implement if statements and conditional logic using boolean conditions to execute code blocks, choose between if, if-else, and else branches, and see a simple calculator example.
Learn how while and do-while loops enable repeating statements in programs, with examples that print hello world five times and increment a counter.
Learn how arrays store a fixed-size collection of elements of the same data type and are accessed by zero-based indices. Create, initialize, and print array elements with indices using loops.
Explore the concept of functions as reusable code blocks that take inputs and return outputs, enabling modularity and code reuse across languages, with examples like hello world and max.
Learn how to use file input and output to read from and write to files, including read, write, append, and read/write modes, with practical examples in C++, Java, and Python.
Explore the fundamentals of object-oriented programming, including objects, attributes, methods, and data, and learn how objects interact to form modular, reusable designs across languages like Java and Python.
Learn the core concepts of object oriented programming by defining classes and objects, their fields and methods, and how instances model real or conceptual entities.
Explore methods in object-oriented programming, including class variables, instance variables, member variables, class methods, and instance methods. Learn how these terms define data and behavior for classes and their objects.
Encapsulation binds data and methods into a class, shielding internal state and enabling data hiding; use public, private, or protected access and methods to access and modify values.
Explore dynamic dispatch and message passing in object-oriented programming, showing how objects communicate by invoking class methods, with unidirectional messages and cross-process interactions.
Discover how inheritance drives object oriented programming, linking base and derived classes with object composition. Explore single, multiple, multilevel, hierarchical, and hybrid inheritance with practical examples.
Polymorphism lets code treat objects from a class hierarchy uniformly while each subclass implements methods differently, such as circle and square drawing and area computation.
Explore generalization and specification: combine common characteristics into a superclass and create specialized subclasses, using is-a relationships to guide team coding decisions on extending or refining classes.
Define links and associations in object-oriented programming, explaining how objects of one or more classes relate through one-to-one, one-to-many, and many-to-many cardinalities, with practical examples.
Visual Studio Code is a source code editor and integrated development environment developed by Microsoft for Windows, Linux, and Mac OS, supporting debugging, syntax highlighting, autocomplete, snippets, and code refactoring.
Install Visual Studio Code from the download link, install the Python extension, and explore features like editing, debugging, code navigation, and source control for Python projects.
Learn to write and run Python programs in Visual Studio Code, saving files with a .py extension, using autocomplete, and printing Hello world to the terminal.
Explore how variables allocate memory in Python, assign values with =, and print results. Learn about numbers and strings, multiple assignment, slicing, concatenation, and simple syntax errors.
Explore Python data types by comparing lists, tuples, and dictionaries, showing how to create, access, slice, and print elements, with practical examples.
Explore data type conversion in python using built-in functions to convert values to int, float, long, complex, list, dict, and unicode, with practical print examples.
Explore if statements and nested conditional logic in Python, mastering single and multiple if statements, elif and else blocks, and indentation to control which code runs.
Explore loops and iteration in Python by implementing while and for loops, nested constructs, and loop variables, with examples that show termination and common infinite-loop errors.
Learn how to use while and for loops in Python, including range-based iteration, the else clause, and nested loops, with practical examples that print values and iterate over sequences.
Learn Python file input and output using print, input, and open, then write and read with f.write and f.read while inspecting f.name, f.mode, and f.closed.
Define and call Python functions using def, create user-defined functions, pass parameters by reference, and return values while exploring scope, list modification, and code reuse.
Learn to send a test email with Python by composing from, to, subject, and body, configuring an SMTP server, logging in, and sending the message.
Parse XML documents in Python using the document object model (DOM) to extract product data, attributes, and categories with practical code examples.
Explore multi-threaded programming in Python 3, creating threads that share data with the main thread for easy communication, and compare kernel and user thread models.
Build programming foundations and apply them in Python 3.
The course introduces general programming concepts and then demonstrates Python variables, data types, conversions, conditions, loops, functions and files. It also includes coding exercises and additional lessons on XML parsing and threading.
What you will learn
Practice tracing execution, using arrays, understanding object-oriented concepts and translating a written requirement into a sequence of steps. Number-based challenges give you opportunities to test cases and compare your attempt with a solution.
Put the ideas into practice
The new algorithm-tracing workshop asks you to summarize valid temperature readings while rejecting invalid inputs. Write pseudocode before Python, define the empty-input behavior and check each step with a small table. This builds transferable reasoning without claiming that one course teaches every programming language.
Work through the lessons at your own pace. Pause demonstrations to reproduce the examples, then change one input and predict the result before running the code or checking your answer. Keep a short learning journal containing the question, your attempted solution, the result and the reason for any correction. This helps you identify concepts to revisit instead of simply repeating a lesson.
The course is intended as a structured learning resource. Check the curriculum and prerequisites to decide whether its scope fits your goals. Recorded software interfaces, installation steps and third-party services may have changed since filming. Consult current provider documentation when setting up tools, and use a small local practice environment for experiments.
By the end of your study, aim to explain the central ideas in your own words, complete the practice activities and identify where you need further learning. Progress depends on the time you spend applying and reviewing the material. No particular job outcome, examination result or speed of mastery is guaranteed.