Mohadra
Learn fast, stay consistent
Section world

Programming Fundamentals

Learn the core ideas behind how programs work, how computers follow instructions, and how problems turn into clear steps.

20Courses
60Lessons
120Micro-lessons
Course #1

What is Programming

A practical introduction to what programming really means, how it works in daily life, and how you use it to solve simple problems.

Open course
3 Lessons6 Micro-lessonsDifficulty: Beginner
Course #2

Variables

Understanding how programs store and change data during execution.
Open course
3 Lessons6 Micro-lessonsDifficulty: Not set
Course #3

Data Types

A practical course that shows how data behaves inside programs.
Open course
3 Lessons6 Micro-lessonsDifficulty: Not set
Course #4

Input & Output

Learn how programs take information and show results.
Open course
3 Lessons6 Micro-lessonsDifficulty: Not set
Course #5

Comments

A focused course on using comments to make code readable and understandable.
Open course
3 Lessons6 Micro-lessonsDifficulty: Not set
Course #6

Conditionals

Explore how conditionals allow programs to make decisions and control the flow of execution.
Open course
3 Lessons6 Micro-lessonsDifficulty: Intermediate
Course #7

Loops

Explore the intricacies of loops in programming, focusing on refining usage and understanding complex scenarios.
Open course
3 Lessons6 Micro-lessonsDifficulty: Intermediate
Course #8

Functions

Explore the intricacies of functions in programming, focusing on their role in creating reusable code blocks.
Open course
3 Lessons6 Micro-lessonsDifficulty: Intermediate
Course #9

Parameters

Explore how parameters work in programming and how they affect function behavior.
Open course
3 Lessons6 Micro-lessonsDifficulty: Intermediate
Course #10

Return Values

Explore how functions return values and their impact on program flow.
Open course
3 Lessons6 Micro-lessonsDifficulty: Intermediate
Course #11

Arrays

Advanced judgment in handling arrays under ambiguous and high-stakes conditions. Focus on trade-offs, delayed consequences, and restraint.
Open course
3 Lessons6 Micro-lessonsDifficulty: Advanced
Course #12

Strings

Advanced judgment in manipulating text data under ambiguous and high-stakes conditions.
Open course
3 Lessons6 Micro-lessonsDifficulty: Advanced
Course #13

Debugging

Mastering judgment in debugging: recognizing when intervention causes more harm, calibrating decisions under uncertainty, and understanding the cost of overconfidence.
Open course
3 Lessons6 Micro-lessonsDifficulty: Advanced
Course #14

Error Handling

Mastering error handling in advanced programming: recognizing when intervention causes more harm, and calibrating responses under uncertainty.
Open course
3 Lessons6 Micro-lessonsDifficulty: Advanced
Course #15

Modular Code

Advanced judgment in structuring code into modules under ambiguity and pressure.
Open course
3 Lessons6 Micro-lessonsDifficulty: Advanced
Course #16

Recursion

Mastery of recursion for advanced programmers: judgment, restraint, and calibration under ambiguity.
Open course
3 Lessons6 Micro-lessonsDifficulty: Advanced
Course #17

File Handling

Mastering file handling means knowing when to read, write, or leave files untouched. This course challenges your judgment in ambiguous file operations.
Open course
3 Lessons6 Micro-lessonsDifficulty: Advanced
Course #18

Code Optimization

Mastering judgment in code optimization under ambiguous conditions. Focus on trade-offs, delayed consequences, and restraint.
Open course
3 Lessons6 Micro-lessonsDifficulty: Advanced
Course #19

Code Testing

Advanced judgment in code testing: recognizing limits, trade-offs, and hidden risks.
Open course
3 Lessons6 Micro-lessonsDifficulty: Advanced
Course #20

Programming Mastery

A course for advanced teens to refine judgment in integrating programming concepts into real applications, focusing on restraint, calibration, and error detection.
Open course
3 Lessons6 Micro-lessonsDifficulty: Advanced