ConceptStep · learning platform for computer science

C programming

Learning paths · C programming

Personal progression

Learn one topic at a time

From flowchart to C code: sequence, main, variables, input/output and progressively selections, loops, functions and algorithms.

Progress: 0 / 27 modules mastered

Adaptive learning path

Recommended next step: Algorithm and sequence

It is ready and unlocks 1 more skill in the learning path.

Start module →
Your progress

Competency map

The map shows prerequisites, mastered skills and the next step in this learning path.

All modules

Your learning path

Module 2

Your first C program

🔒 Locked

Prerequisites: Algorithm and sequence

What you will learn: Connect flowchart START/END to main and observe a minimal C program that produces real output.

Module 3

Variables and assignment

🔒 Locked

Prerequisites: Your first C program

What you will learn: Track x while two flowchart blocks correspond to two C assignments.

Module 4

Input, processing and output

🔒 Locked

Prerequisites: Variables and assignment

What you will learn: Read two integers, compute the sum and print the result.

Module 5

Comparisons: true or false

🔒 Locked

Prerequisites: Input, processing and output

What you will learn: Connect relational operators to the flowchart decision diamond.

Module 6

The IF selection

🔒 Locked

Prerequisites: Comparisons: true or false

What you will learn: Observe how a condition makes part of a program optional.

Module 7

IF/ELSE: two alternative paths

🔒 Locked

Prerequisites: The IF selection

What you will learn: Use a condition to choose exactly one of two branches.

Module 8

The WHILE loop

🔒 Locked

Prerequisites: IF/ELSE: two alternative paths

What you will learn: Follow a condition-controlled loop and observe how state changes toward termination.

Module 9

The FOR loop

🔒 Locked

Prerequisites: The WHILE loop

What you will learn: Recognize initialization, condition and counter update in a single header.

Module 10

Compound conditions: &&, || and !

🔒 Locked

Prerequisites: The FOR loop

What you will learn: Combine multiple conditions and observe how one decision is built from several subconditions.

Module 11

Nested loops

🔒 Locked

Prerequisites: Compound conditions: &&, || and !

What you will learn: Observe an inner FOR completing all its iterations for every outer FOR iteration.

Module 12

Functions: decompose the problem

🔒 Locked

Prerequisites: Nested loops

What you will learn: Introduce a separate function and observe what happens when main calls it.

Module 13

Parameters and return

🔒 Locked

Prerequisites: Functions: decompose the problem

What you will learn: Follow arguments entering parameters and a value returning to main.

Module 14

Scope and local variables

🔒 Locked

Prerequisites: Parameters and return

What you will learn: Compare two variables with the same name that belong to different frames.

Module 15

Arrays: an indexed sequence

🔒 Locked

Prerequisites: Scope and local variables

What you will learn: Visualize an array as numbered cells and connect each index to the corresponding C expression v[i].

Module 16

Traversing an array

🔒 Locked

Prerequisites: Arrays: an indexed sequence

What you will learn: Move the index from left to right and observe how a loop visits every element exactly once.

Module 17

Minimum and maximum in an array

🔒 Locked

Prerequisites: Traversing an array

What you will learn: Keep two candidates while traversing the array: a new value replaces them only when it is smaller or larger.

Module 18

Linear search

🔒 Locked

Prerequisites: Minimum and maximum in an array

What you will learn: Compare the target with one cell at a time and keep the current index visible.

Module 19

Visual Selection Sort

🔒 Locked

Prerequisites: Linear search

What you will learn: Observe the minimum candidate, comparisons, and the swap that fixes one position at a time.

Module 20

Visual Bubble Sort

🔒 Locked

Prerequisites: Visual Selection Sort

What you will learn: Follow adjacent pairs, comparisons, and swaps as larger elements move toward the right.

Module 21

Strings: char arrays and the \0 terminator

🔒 Locked

Prerequisites: Visual Bubble Sort

What you will learn: Observe a C string as a sequence of characters in memory and discover why one extra cell is needed for the terminator.

Module 22

Traversing a string until \0

🔒 Locked

Prerequisites: Strings: char arrays and the \0 terminator

What you will learn: Follow index i as it visits one character at a time and stops exactly when it reaches the terminator.

Module 23

Safe string input with fgets

🔒 Locked

Prerequisites: Traversing a string until \0

What you will learn: Read a line into a known-size buffer and observe how to handle the newline without writing past its bounds.

Module 24

String processing: vowels and search

🔒 Locked

Prerequisites: Safe string input with fgets

What you will learn: Scan a string once and observe how the same traversal can update multiple results: vowel count and the position of the first searched character.

Module 25

Test Case Lab: normal and boundary cases

🔒 Locked

Prerequisites: String processing: vowels and search

What you will learn: Learn to choose inputs that genuinely test an algorithm instead of running it once with an easy value.

Module 26

Bug Hunt: find, explain, fix

🔒 Locked

Prerequisites: Test Case Lab: normal and boundary cases

What you will learn: Learn to distinguish a program that does not compile from one that compiles but produces the wrong result.

Module 27

Final mini-project: temperature monitoring

🔒 Locked

Prerequisites: Bug Hunt: find, explain, fix

What you will learn: Close the path by building and verifying a complete solution: data, loop, conditions, arrays, statistics, tests and a final decision.

Progress is stored in a protected technical cookie in your browser.

GUIDED LEARNING PATHS

Want to choose the next skill to develop?