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.

This module is still locked. Complete the required prerequisites first.
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?