
Learn why programming enhances problem solving and step-by-step thinking, and how Python and C++ power real-world apps, careers, and competitions, with math considerations and beginner-friendly learning.
Write your first Python program with print, and watch the interpreter execute each line under strict syntax rules, using an online editor or IDE to practice.
Install Python and review basics, including the language and its interpreter that runs hello world. Compare Python 3 and 2, check versions on the command line, and note virtual environments.
Install python on linux by verifying python3 in the command line and installing python3 with your distro's package manager (Ubuntu or Fedora), then verify version and seek help if needed.
Visit the Python download page to install Python on Windows or Mac by running the installer, selecting a 3.x version, and configuring the 64-bit or 32-bit option.
Install pyCharm on Windows and Mac by downloading the community edition, selecting the right tab (Windows, Mac, or Linux), checking system requirements, and choosing between 64-bit and 32-bit launchers.
Install PyCharm Community Edition on Linux by downloading, extracting, and running the bin from the extracted directory. Choose a UI theme and skip extra plugins.
Learn to create a PyCharm project, configure the Python interpreter, and run code, while exploring features like split windows, linting, local history, and basic code structure.
Learn how the print function works in Python, using strings, quotes, and escape sequences to control line breaks, spaces, and simple outputs, plus comments and arithmetic.
Identify common syntax errors beginners face in Python and C++, such as missing closing parentheses and mixed quotes, using syntax highlighting and compiler messages to diagnose and fix issues.
Learn why python reports indentation errors when lines start with extra spaces, causing unexpected indent messages, and how keeping every statement at the line’s start prevents it.
Practice tracing runtime outputs and reproducing exact prints by solving five-line tasks in Python and C++, using only four print statements to match the required format.
Explore a tracing exercise in short programming intro by predicting outputs of print statements, spaces, newlines, and string literals, including a float division result of twelve point zero.
Learn how to print a multi-line message in Python and C++ by using single and double quotes, escaping backslashes, and printing line by line.
Learn a straightforward triangle printing pattern and practice using spaces between elements to form the shape in this printing homework solution.
Practice constructing and reassembling a wood-shape by managing spaces and line alignment, starting with a base piece, moving pieces, removing spaces, and flipping the shape to solve the homework.
Learn about data types and variables in programming, including integers, floating point numbers, strings, and booleans, and how memory stores them.
Learn how to create variables, assign data types, and use an interpreter to read, store in memory, and print values; understand integers, floats, strings, and the accuracy of float representation.
Learn how identifiers name variables in Python, including rules against starting with digits and spaces, and using underscores for readability. Note case sensitivity and keywords, and follow Google Python style.
Learn how dynamic typing lets Python variables change values and types at runtime, then compare with static typing in C++ or Java, highlighting pros and cons.
Explore string manipulation in python and c++ by using the plus operator for concatenation, string repetition, escape sequences with backslashes, and multi-line strings with triple quotes.
Explore how functions streamline code by defining reusable blocks and returning values; learn about built-in functions like print, len, max, and min, plus type conversions and naming cautions.
Explore reading user input in Python with the input function, including string handling and basic printing. Learn to read multiple numbers, convert types, and split input for multiple values.
Explore basic variable handling through four small Python and C++ exercises: arithmetic with two numbers, student grade averages, alternating sums of eight numbers, and repeating a constructed string ten times.
Read two numbers and two student records, perform add, subtract, multiply, and divide with float casting and division-by-zero guards, then print results and compute each student's grade average.
Read eight numbers into ordered variables to compute even and odd sums, then concatenate A, B, and C in a specific order and repeat the result ten times by multiplication.
Explore arithmetic operators in Python and C++, including binary and unary operators, precedence with parentheses, division types (normal, floor division, and integer division), modulo, and exponentiation.
Understand the assignment operator, left-hand side addressability, and right-hand side expressions, then learn about compound assignments like += and why X = Y = Z is not valid in Python.
Explore the order of operations and precedence in Python, learning how multiplication and division precede addition and subtraction, with left-to-right evaluation and the role of parentheses.
Explore operator associativity and the order of evaluation in Python and C++, distinguishing left-to-right and right-to-left grouping, exponent precedence, and assignment behavior.
Explore relational operators and boolean concepts, including true/false values, not operator, and bool function behavior, precedence, plus floating point nuances and dictionary-style string comparisons.
Explore how and, or, and not operators form truth tables, evaluate multi-variable expressions, and apply grouping and evaluation order to determine true or false outcomes.
Explore how logical operators in Python and C++ combine with relational operators, understand precedence between and and or, and learn short-circuit evaluation and chaining comparisons.
Explore Python's membership operators, focusing on strings as sequences and key ideas like prefix, suffix, substring, and subsequence, with practical in and not in examples.
Explore how the modulus operator returns the remainder after division, revealing the quotient and remainder and enabling extraction of last digits and even-odd checks.
Solve division and modulus homework in python and c++, computing the average of five numbers and the sums of the first three and last two, exploring fractional extraction without modulo.
Read five numbers, compute averages such as the first three divided by three and the last two divided by two, then extract the fractional part and remainder via integer division.
Understand selection in programming through if conditions and relational tests, including indentation-driven blocks and variable scope, and avoid common Python and C++ pitfalls like missing colons and inner variable assignment.
Learn how spaces and tabs control indentation, why Python favors two-space indentation, and how editors use guides, collapse, and block-shift commands to manage code structure.
Learn how if, elif, and else control flow work in Python with indentation-based blocks, using salary-range examples and a digit-counting program to illustrate multiple conditional branches.
Read two numbers and an operator to perform add, subtract, multiply, or divide, handle division by zero, and explore three ways to find the minimum of two or three numbers.
Explore selection practice in python and c++ by branching on number size, extracting last digits, and handling evenness or negatives, while emphasizing rigorous test case coverage.
Implement conditional logic to choose operations by parity, sort three numbers in ascending order, and analyze counts of numbers relative to a pivot X, including edge cases under a hundred.
Read integers, determine parity, and apply conditional logic to multiply when both are odd. Practice sorting three numbers with swaps and tracing each condition, exploring the Desart algorithm.
Practice selection logic in Python and C++, implementing two blocks, initializing a valid result, and using boolean conditions (1 or 0) to count numbers greater than 100.
Learn how while loops repeat a block while a condition holds, using initialization, condition checks, and increments to print numbers one through five. Grasp iteration and sequence in loop programs.
Explore while loops in Python and C++ by tracing initialization, conditions, and increments, applying break and continue, summing numbers, and handling division by zero with practical examples.
Practice with while loops in Python and C++, read an integer x, print numbers divisible by three from 1 to x, and implement exponentiation by repetition with assert checks.
Practice counting digits of a number using integer division by ten in a while loop, identify bugs, and handle zero and negative inputs to strengthen Python and C++ skills.
Explore how nested loops build complex patterns in Python, using for and while loops to handle multiple test cases, sum from one to N, and print left-angled triangles with asterisks.
Tackle beginner while loop challenges in Python and C++, including range printing, string repetition, a downwards triangle pattern, and averages of numbers at odd and even positions.
Explore while loops and for loops through practical exercises that read numbers, iterate from start to end, print sequences, and dynamically compute averages by even and odd positions.
Develop a small calculator application using a persistent menu that accepts integer inputs to sum numbers 1 to n or evaluate a simple expression, with input validation and proper exit.
Explore a while-loops based calculator that presents a menu, validates user input, and evaluates arithmetic expressions with integer and float division, handling division by zero and operator choices.
Explore for loops in Python using range to generate end-exclusive sequences from zero, with customizable start, end, and step values. Learn to iterate over strings and other sequences.
Practice using nested for loops and range to sum values from one to N, and explore the for-else behavior and when to prefer for loops over while loops.
For loops practice replaces while loops, reads input, computes powers by position, and demonstrates optimizing nested loops into linear checks.
Debuggers help you trace code line by line to locate bugs, such as division by zero and infinite loops. Explore the printing approach, logging, and breakpoints to isolate issues effectively.
Define functions in python with def, learn about parameters and arguments, how to return values, and recognize indentation and argument-related errors.
Discover how Python functions use return to send back values, including multiple returns with unpacking, how default arguments control inputs, and the rule that non-default arguments must precede defaults.
Explain how a function calls another function to compute the maximum of the absolute values of two inputs, and demonstrate debugging with step into, step over, step out, and breakpoints.
Explore how to use enumerate to obtain index and value from ranges and strings, and understand function overriding and name shadowing in Python.
Explore local and global scope, showing how function variables stay local while globals are accessible program-wide. Learn about constants and uppercase naming to signal non-changing values.
Explore how name binding in Python links a name to a value or object, illustrated with memory addresses, local and global scopes, and the unbound local variable error.
Learn how to call functions using positional and keyword arguments, mix them when defaults exist, and enforce order with positional-only and keyword-only rules in Python 3.8.
Document code with clear comments and meaningful names, apply the single responsibility principle, and write descriptive docstrings that outline inputs, outputs, and examples.
Explore why C++ powers high-performance applications, offering fast, scalable, hardware-level control, and serves as a valuable educational language for developing problem-solving skills.
Explore how a first program prints hello to the console using C++ syntax and headers, quotes, and semicolons; learn how the compiler validates rules and produces an executable to run.
The goal of this course is to provide a starting point to programming in 2 popular programming languages.
Curriculum:
The course consists of 2 independent sub-courses
Select whatever start.
Covered Basics: data types, variables, operators, selection, and while loops.
No intention to go far from that. The goal is to see these concepts in 2 languages.
By the end of the journey, you will have
Fair understanding of the very basics of the 2 languages
Ability to decide which language to focus on it more.
Visit my profile and select the course of interest to dive deeper. I have deeper courses in more than a language
Mastering 4 critical skills series from my profile will aim to master the 4 most important skills for a programmer
Programming skills
Problem-solving skills: rarely covered by other courses
Project building skills: partially covered by other courses
Design skills: rarely covered by other courses
7+ times practice & homework compare to other courses + 6 projects
My other courses avoid the common complaints such as
Limited topics coverage.
Outdated syntax.
Unnecessary long videos with repetitions.
Too much time to explain basic concepts.
A sudden jump in the level. I can't cope with the content.
Assumptions of previous knowledge to understand some of the concepts.
Building over concepts that were not mastered through practice or homework.
The same examples are used over and over.
Several consecutive lectures without practice or homework to master the concepts.
Awesome knowledge, almost zero skills.
Very little practice or homework.
Good homework in the first half and very weak in the remaining.
Many homework without solutions.
Only one project.
Small-size project.
Long but tedious project.
The project doesn't help enforce the concepts.
Project source code is not provided. I needed to compare and learn.
Moving to Datastructures or Algorithms course was not easy. Weak problem-solving skills.
After the course, I am still stuck and can't do even simple projects. Weak project-building skills.
The course taught OOP syntax and concepts nicely, but OOD skills are not built. Weak design-skills.
And more!
Enjoy learning programming in a smooth way :)