₹0 for students · Certificate · Beginner

Programming in C

5 mini courses, 20 lessons: variables, control flow, arrays, strings, pointers, structs and memory

20 lessons · ~4 hours · 30-question final exam · pass mark 70%

About the course

What you’ll learn

Learn C the way placement tests and embedded jobs expect: how a program really uses memory. Five one-hour mini courses take you from your first printf through loops and functions, arrays and strings, pointers, and finally structs and dynamic memory, ending with a linked list you build yourself. Every coding exercise runs on your phone. Already know some C? Take the skill check and skip what you know. Pass every lesson quiz and the final exam to earn a verifiable certificate.

C programmingControl flowFunctionsArrays and stringsPointersStructsMemory managementProblem solving

Part of the career tracks: Computer Science Foundations, Cybersecurity and Connected Systems

How the certificate works

  1. Read each lesson’s study guide, then the full lesson and any notebooks or exercises.
  2. Pass every lesson quiz with 70% or more.
  3. Pass the final exam: 30 questions in 40 minutes.
  4. Get a certificate with a public verification link, and add it to LinkedIn.

Syllabus

20 lessons in 5 mini courses

Each mini course takes about an hour. Already know one? Test out in the app and skip it.

1. Your first C programs

Write, compile and run C programs that calculate and print results.

1
Hello, C
10 min · C is fast because it is close to the machine; operating systems and Python itself are written in it.
2
Variables and Types
10 min · Every C variable has a fixed type: int, double, char, long and more.
3
Operators and Expressions
10 min · Integer division drops the fraction: 7 / 2 is 3; 7 % 2 is 1.
4
Printing and Reading Input
10 min · %5d pads to width 5; %.2f shows two decimal places; %x prints hex; %% prints %.

2. Decisions, loops and functions

Use if, switch, loops and your own functions to solve problems in C.

5
Making Decisions: if and switch
10 min · if / else if / else runs only the first block whose condition is true.
6
Loops
12 min · for (int i = 0; i < n; i++) repeats a known number of times.
7
break, continue and Nested Loops
10 min · break leaves the loop now; continue skips to the next pass.
8
Functions
12 min · A function has a return type, a name and parameters; void means no return value.

3. Arrays and strings

Store and process lists of numbers and text with arrays and C strings.

9
Arrays
12 min · int marks[60] holds 60 ints numbered 0 to 59.
10
Two-Dimensional Arrays
10 min · int seats[10][6] is 10 rows of 6; seats[r][c] reaches one cell.
11
Strings in C
12 min · A C string is a char array ending with '\0'.
12
String Functions
10 min · strlen counts characters before '\0'.

4. Pointers

Explain what a pointer is and use pointers with arrays and functions safely.

13
Addresses and Pointers
12 min · &x gives x's address; int *p = &x makes p point to x.
14
Pointers and Arrays
10 min · An array name acts as the address of its first item.
15
Changing Variables Through Pointers
10 min · C passes copies: void swap(int a, int b) can't swap the caller's variables.
16
Common Pointer Bugs
10 min · NULL dereference crashes; uninitialised pointers hit random memory.

5. Structs and memory

Group data with structs and manage memory with malloc and free.

17
Structs
12 min · A struct groups related fields into one type; s.field reaches a field.
18
Dynamic Memory: malloc and free
12 min · malloc(n * sizeof(int)) gets memory at run time from the heap; check for NULL.
19
Build a Linked List in C
12 min · A node is a struct with a value and a next pointer, created with malloc.
20
Files and Where C Goes Next
10 min · fopen returns a FILE * (NULL on failure); fprintf writes; fclose saves.

Written by Vikosha. Lessons, questions and exercises are original. Licence: Original Vikosha course..