C from first program through pointers, structures, dynamic memory, files, and capstone.
- Duration
- 17 weeks
- Certificates
- 2
- CO threshold
- 75%
- Price
- ₹2,000 (one-time access)
Tagline: C from first program through pointers, structures, dynamic memory, files, and capstone.
| Field |
Value |
| Course code |
C-PROG-A |
| Duration |
16 weeks |
| Credits |
4 |
| Compliance |
NBA-aligned OBE |
| Publication |
published |
| Price |
INR 2000 |
| DB snapshot |
2026-07-06T07:25:37.973Z |
Course objective
Fundamentals of C with pointers and systems topics. Source: paidcourse-content/c-language (Course A).
Course outcomes (CO1–CO6)
| CO |
Bloom |
Weight |
Statement |
| CO1 |
understand |
17% |
Explain C program structure, compilation, types, constants, keywords, and standard I/O. |
| CO2 |
apply |
17% |
Apply operators, control flow, and loops to solve logical problems. |
| CO3 |
apply |
17% |
Implement programs using functions, scope, and structured decomposition. |
| CO4 |
apply |
17% |
Use arrays and strings (including pointer–array linkage) for data processing. |
| CO5 |
analyze |
16% |
Use pointers, dynamic memory, structures, and unions correctly and safely. |
| CO6 |
apply |
16% |
Use preprocessor, files, and modular C for small real-world programs. |
Activity totals (live from platform)
| Metric |
Count |
| Units / chapters |
19 |
| Topics |
201 |
| Topic quiz activities |
184 |
| MCQ questions |
1186 |
| Practice labs (run-only) |
147 |
| Evaluated coding labs |
200 |
| Instructional content blocks |
1575 |
Certificates & earning criteria
| Certificate |
CO scope |
Evaluated lab quota |
CO attainment |
Gate |
| C Foundations |
CO1–CO4 |
≥ 90% |
≥ 75% |
C Foundations SUMM gate |
| C Professional |
CO1–CO6 |
≥ 95% |
≥ 75% |
Summative gate |
Unit syllabus (unit → topics → activities)
Unit 1 — Application of C
Unit totals: 3 topics · 18 MCQ questions · 0 practice · 0 evaluated labs
| # |
Topic |
MCQs |
Practice |
Evaluated |
Preview |
| 1 |
History of C |
6 |
0 |
0 |
Yes |
| 2 |
Features of C |
6 |
0 |
0 |
Yes |
| 3 |
Real-world applications |
6 |
0 |
0 |
Yes |
Unit 2 — First programs & the autograder
Unit totals: 7 topics · 8 MCQ questions · 35 practice · 5 evaluated labs
| # |
Topic |
MCQs |
Practice |
Evaluated |
Preview |
| 1 |
Anatomy of a C program |
0 |
5 |
0 |
— |
| 2 |
What is printf? |
0 |
5 |
0 |
— |
| 3 |
printf by data type |
0 |
7 |
0 |
— |
| 4 |
Escape sequences and exact output |
0 |
5 |
0 |
— |
| 5 |
What is scanf? |
0 |
7 |
0 |
— |
| 6 |
scanf and printf together |
0 |
6 |
0 |
— |
| 7 |
Checkpoint: syntax and autograder |
8 |
0 |
5 |
— |
Unit 3 — Structure & program execution
Unit totals: 9 topics · 42 MCQ questions · 3 practice · 3 evaluated labs
| # |
Topic |
MCQs |
Practice |
Evaluated |
Preview |
| 1 |
Prerequisite: Unit 2 skills |
0 |
0 |
0 |
Yes |
| 2 |
main() structure |
6 |
0 |
0 |
— |
| 3 |
Comments |
5 |
0 |
1 |
— |
| 4 |
Basic structure (syntax) |
4 |
1 |
0 |
— |
| 5 |
Header files (#include) |
5 |
1 |
1 |
— |
| 6 |
Source, object, executable |
6 |
0 |
0 |
— |
| 7 |
Basics of compiler |
5 |
0 |
0 |
— |
| 8 |
Compile & execute C program |
5 |
1 |
0 |
— |
| 9 |
Memory layout & execution model |
6 |
0 |
1 |
— |
Unit 4 — Variables & data types
Unit totals: 9 topics · 50 MCQ questions · 12 practice · 2 evaluated labs
| # |
Topic |
MCQs |
Practice |
Evaluated |
Preview |
| 1 |
Lexical building blocks: symbols, constants, and keywords |
6 |
0 |
0 |
— |
| 2 |
What is a variable |
6 |
1 |
0 |
Yes |
| 3 |
How to declare variables |
4 |
2 |
0 |
— |
| 4 |
Assignment operator |
5 |
2 |
0 |
— |
| 5 |
What is a data type |
6 |
1 |
0 |
— |
| 6 |
Size of variable & datatype |
6 |
1 |
0 |
— |
| 7 |
Types of data type |
5 |
1 |
0 |
— |
| 8 |
How value is stored in memory |
6 |
1 |
0 |
— |
| 9 |
Format specifier |
6 |
3 |
2 |
— |
Unit 5 — Typecasting
Unit totals: 4 topics · 26 MCQ questions · 8 practice · 4 evaluated labs
| # |
Topic |
MCQs |
Practice |
Evaluated |
Preview |
| 1 |
What is typecasting |
6 |
2 |
1 |
— |
| 2 |
Types of typecasting |
6 |
2 |
1 |
— |
| 3 |
How it works under the hood |
8 |
2 |
1 |
— |
| 4 |
Wrong typecasting |
6 |
2 |
1 |
— |
Unit 6 — Input and output
Unit totals: 6 topics · 24 MCQ questions · 10 practice · 5 evaluated labs
| # |
Topic |
MCQs |
Practice |
Evaluated |
Preview |
| 1 |
What is I/O |
6 |
0 |
0 |
— |
| 2 |
Necessary library |
6 |
2 |
1 |
— |
| 3 |
How to take input. scanf() |
0 |
2 |
1 |
— |
| 4 |
Typecasting the input |
0 |
2 |
1 |
— |
| 5 |
What is printf(). How it work under the hod |
6 |
2 |
1 |
— |
| 6 |
Escape character and formmating |
6 |
2 |
1 |
— |
Unit 7 — Operators
Unit totals: 9 topics · 48 MCQ questions · 18 practice · 10 evaluated labs
| # |
Topic |
MCQs |
Practice |
Evaluated |
Preview |
| 1 |
What is Operator |
6 |
2 |
0 |
— |
| 2 |
Arithmetic Operator |
6 |
2 |
2 |
— |
| 3 |
Relational Operator |
6 |
2 |
2 |
— |
| 4 |
Logical Operator |
6 |
2 |
1 |
— |
| 5 |
Assignment Operator |
6 |
2 |
1 |
— |
| 6 |
Increment/Decrement Operator |
6 |
2 |
1 |
— |
| 7 |
Bitwise Operator |
6 |
2 |
1 |
— |
| 8 |
Operator precedence |
6 |
2 |
1 |
— |
| 9 |
How operators works under the hood |
0 |
2 |
1 |
— |
Unit 8 — Control flow
Unit totals: 11 topics · 66 MCQ questions · 20 practice · 16 evaluated labs
| # |
Topic |
MCQs |
Practice |
Evaluated |
Preview |
| 1 |
What is control flow |
6 |
0 |
0 |
— |
| 2 |
If statement |
6 |
2 |
2 |
— |
| 3 |
If-else statement |
6 |
2 |
2 |
— |
| 4 |
Else-if statement |
6 |
2 |
2 |
— |
| 5 |
Nested if-else |
6 |
2 |
2 |
— |
| 6 |
Else-if ladder |
6 |
2 |
1 |
— |
| 7 |
Switch |
6 |
2 |
1 |
— |
| 8 |
Goto |
6 |
2 |
1 |
— |
| 9 |
Ternary operator |
6 |
2 |
1 |
— |
| 10 |
Menu-driven calculator (if-else ladder) |
6 |
2 |
3 |
— |
| 11 |
Switch-based day/type classifier |
6 |
2 |
1 |
— |
Unit 9 — Loops & integrated logic
Unit totals: 9 topics · 30 MCQ questions · 18 practice · 19 evaluated labs
| # |
Topic |
MCQs |
Practice |
Evaluated |
Preview |
| 1 |
What is loop |
6 |
0 |
0 |
— |
| 2 |
While loop |
6 |
2 |
2 |
— |
| 3 |
Do-while loop |
6 |
2 |
2 |
— |
| 4 |
For loop |
6 |
2 |
1 |
— |
| 5 |
Break and continue statement |
6 |
2 |
1 |
— |
| 6 |
Nesting of loops and if-else |
0 |
4 |
4 |
— |
| 7 |
Prime numbers in range |
0 |
2 |
3 |
— |
| 8 |
Factorial / strong number check |
0 |
2 |
3 |
— |
| 9 |
Number pattern pyramid |
0 |
2 |
3 |
— |
Unit 10 — Functions & recursion
Unit totals: 14 topics · 92 MCQ questions · 23 practice · 15 evaluated labs
| # |
Topic |
MCQs |
Practice |
Evaluated |
Preview |
| 1 |
What is function |
6 |
0 |
0 |
— |
| 2 |
Difference between pre define & user define functions |
6 |
2 |
1 |
— |
| 3 |
Signature of function |
6 |
2 |
1 |
— |
| 4 |
Return type |
6 |
2 |
1 |
— |
| 5 |
Void keyword |
6 |
2 |
1 |
— |
| 6 |
Void function |
6 |
2 |
1 |
— |
| 7 |
Recursion |
6 |
2 |
3 |
— |
| 8 |
Basics of Stack data structure |
8 |
1 |
0 |
— |
| 9 |
How function works under the hood |
8 |
2 |
1 |
— |
| 10 |
GCD / LCM using functions |
6 |
2 |
2 |
— |
| 11 |
Tower of Hanoi (recursion) |
6 |
2 |
2 |
— |
| 12 |
Array stats via functions |
6 |
2 |
1 |
— |
| 13 |
Call stack & activation records |
6 |
2 |
1 |
— |
| 14 |
C Foundations SUMM |
10 |
0 |
0 |
— |
Unit 11 — Scoping & storage
Unit totals: 5 topics · 32 MCQ questions · 0 practice · 8 evaluated labs
| # |
Topic |
MCQs |
Practice |
Evaluated |
Preview |
| 1 |
Local & global scope |
6 |
0 |
2 |
— |
| 2 |
Functional scope |
6 |
0 |
2 |
— |
| 3 |
How scoping works under the hood |
8 |
0 |
2 |
— |
| 4 |
Storage classes & linkage |
6 |
0 |
1 |
— |
| 5 |
Memory alignment |
6 |
0 |
1 |
— |
Unit 12 — Arrays
Unit totals: 14 topics · 90 MCQ questions · 0 practice · 14 evaluated labs
| # |
Topic |
MCQs |
Practice |
Evaluated |
Preview |
| 1 |
What is array |
6 |
0 |
1 |
— |
| 2 |
Why we need array |
8 |
0 |
0 |
— |
| 3 |
1D array |
6 |
0 |
1 |
— |
| 4 |
How to declare 1D array |
6 |
0 |
1 |
— |
| 5 |
Visualization of 1D array in memory |
8 |
0 |
1 |
— |
| 6 |
Traversing of 1D array |
6 |
0 |
1 |
— |
| 7 |
Searching in 1D array |
6 |
0 |
2 |
— |
| 8 |
Sorting of 1D array |
6 |
0 |
2 |
— |
| 9 |
Multidimensional array |
6 |
0 |
1 |
— |
| 10 |
How to declare multidimensional array |
6 |
0 |
0 |
— |
| 11 |
Visualization of multidimensional |
8 |
0 |
0 |
— |
| 12 |
Traversing of multidimensional array |
6 |
0 |
0 |
— |
| 13 |
Searching In multidimensional array |
6 |
0 |
2 |
— |
| 14 |
Sorting of multidimensional array |
6 |
0 |
2 |
— |
Unit 13 — Strings
Unit totals: 8 topics · 48 MCQ questions · 0 practice · 8 evaluated labs
| # |
Topic |
MCQs |
Practice |
Evaluated |
Preview |
| 1 |
What is string and character |
6 |
0 |
1 |
— |
| 2 |
How to declare string & character |
6 |
0 |
1 |
— |
| 3 |
Difference between string and character |
6 |
0 |
1 |
— |
| 4 |
Character array |
6 |
0 |
1 |
— |
| 5 |
String input method |
6 |
0 |
1 |
— |
| 6 |
Null operator |
6 |
0 |
1 |
— |
| 7 |
Standard string function |
6 |
0 |
1 |
— |
| 8 |
String traversal |
6 |
0 |
1 |
— |
Unit 14 — Pointers & pointer-array
Unit totals: 18 topics · 108 MCQ questions · 0 practice · 24 evaluated labs
| # |
Topic |
MCQs |
Practice |
Evaluated |
Preview |
| 1 |
What is memory address |
6 |
0 |
0 |
— |
| 2 |
Address of operator (&) |
6 |
0 |
0 |
— |
| 3 |
Pointer basics |
6 |
0 |
2 |
— |
| 4 |
pointer declaration |
6 |
0 |
2 |
— |
| 5 |
Dereferencing |
6 |
0 |
0 |
— |
| 6 |
Null pointer |
6 |
0 |
2 |
— |
| 7 |
Pointer with variable |
6 |
0 |
2 |
— |
| 8 |
Pointer with array |
6 |
0 |
2 |
— |
| 9 |
Pass by reference concept |
6 |
0 |
0 |
— |
| 10 |
Swap with pointers |
6 |
0 |
2 |
— |
| 11 |
Reverse array via pointers |
6 |
0 |
2 |
— |
| 12 |
String length without library |
6 |
0 |
0 |
— |
| 13 |
const and pointers |
6 |
0 |
2 |
— |
| 14 |
void pointers |
6 |
0 |
1 |
— |
| 15 |
Pointer to pointer (**) |
6 |
0 |
2 |
— |
| 16 |
Array of pointers (static) |
6 |
0 |
2 |
— |
| 17 |
Pointer to function |
6 |
0 |
2 |
— |
| 18 |
Triple pointer (***) — intro |
6 |
0 |
1 |
— |
Unit 15 — Structures & unions
Unit totals: 20 topics · 108 MCQ questions · 0 practice · 15 evaluated labs
| # |
Topic |
MCQs |
Practice |
Evaluated |
Preview |
| 1 |
What is structure |
6 |
0 |
1 |
— |
| 2 |
Structure basics |
8 |
0 |
0 |
— |
| 3 |
Declaring structrue |
6 |
0 |
1 |
— |
| 4 |
Accessing structure members |
6 |
0 |
1 |
— |
| 5 |
Size of structure |
0 |
0 |
1 |
— |
| 6 |
Initialize structure |
0 |
0 |
1 |
— |
| 7 |
Array of structure |
6 |
0 |
1 |
— |
| 8 |
Nested structure |
0 |
0 |
1 |
— |
| 9 |
Structure & function. (Passing structure to function) |
6 |
0 |
1 |
— |
| 10 |
Pointer to structure. (Arrow -> operator) |
6 |
0 |
2 |
— |
| 11 |
Self-referential structure |
8 |
0 |
2 |
— |
| 12 |
Copying structure. (Shello and Deep copy) |
6 |
0 |
0 |
— |
| 13 |
Typedef with structure |
6 |
0 |
0 |
— |
| 14 |
What are unions |
8 |
0 |
0 |
— |
| 15 |
Difference between structure and union |
6 |
0 |
0 |
— |
| 16 |
Declaring union |
6 |
0 |
0 |
— |
| 17 |
Accessing members |
6 |
0 |
0 |
— |
| 18 |
Size of union |
6 |
0 |
0 |
— |
| 19 |
Pointer to union |
6 |
0 |
2 |
— |
| 20 |
Nested union |
6 |
0 |
1 |
— |
Unit 16 — Dynamic memory
Unit totals: 10 topics · 66 MCQ questions · 0 practice · 16 evaluated labs
| # |
Topic |
MCQs |
Practice |
Evaluated |
Preview |
| 1 |
What is DMA |
6 |
0 |
0 |
— |
| 2 |
Malloc, calloc, relloc |
8 |
0 |
3 |
— |
| 3 |
How it works under the hood |
8 |
0 |
1 |
— |
| 4 |
Dynamic array of integers |
6 |
0 |
3 |
— |
| 5 |
Dynamic string buffer |
6 |
0 |
3 |
— |
| 6 |
Struct array on heap |
6 |
0 |
1 |
— |
| 7 |
Array of pointers on heap (malloc) |
6 |
0 |
2 |
— |
| 8 |
Dangling pointer |
8 |
0 |
2 |
— |
| 9 |
Heap errors & free patterns |
6 |
0 |
1 |
— |
| 10 |
Generic dynamic arrays (stretch) |
6 |
0 |
0 |
— |
Unit 17 — Files, preprocessor & capstone
Unit totals: 27 topics · 214 MCQ questions · 0 practice · 6 evaluated labs
| # |
Topic |
MCQs |
Practice |
Evaluated |
Preview |
| 1 |
File modes |
8 |
0 |
0 |
— |
| 2 |
What is preprocessor |
8 |
0 |
0 |
— |
| 3 |
Text & binary files |
8 |
0 |
0 |
— |
| 4 |
What is file handling |
6 |
0 |
0 |
— |
| 5 |
File pointer |
8 |
0 |
0 |
— |
| 6 |
Opening a file |
8 |
0 |
0 |
— |
| 7 |
Closing a file |
8 |
0 |
0 |
— |
| 8 |
Reading from file |
8 |
0 |
0 |
— |
| 9 |
Writing to file |
8 |
0 |
0 |
— |
| 10 |
End of file |
8 |
0 |
0 |
— |
| 11 |
File positioning function |
8 |
0 |
0 |
— |
| 12 |
Standard header files |
8 |
0 |
0 |
— |
| 13 |
Intro to header file |
8 |
0 |
0 |
— |
| 14 |
Conditional compilation |
8 |
0 |
1 |
— |
| 15 |
File inclusion directive |
8 |
0 |
1 |
— |
| 16 |
Preprocessor directives |
8 |
0 |
1 |
— |
| 17 |
Macros |
8 |
0 |
1 |
— |
| 18 |
Moving file pointer |
8 |
0 |
0 |
— |
| 19 |
Error handling in files |
8 |
0 |
0 |
— |
| 20 |
File deletion, creation, rename |
8 |
0 |
0 |
— |
| 21 |
File descriptor |
8 |
0 |
0 |
— |
| 22 |
User define header file |
8 |
0 |
0 |
— |
| 23 |
Header guards |
8 |
0 |
0 |
— |
| 24 |
Difference between <> and " " in include statement |
8 |
0 |
0 |
— |
| 25 |
Capstone: Student record (in-memory, structs) |
8 |
0 |
1 |
— |
| 26 |
Capstone: Integrative CO1–CO5 timed set |
8 |
0 |
1 |
— |
| 27 |
Multi-file project (PRACTICE — local IDE only) |
8 |
0 |
0 |
— |
Unit 18 — Embedded C — memory & object model
Unit totals: 9 topics · 58 MCQ questions · 0 practice · 14 evaluated labs
| # |
Topic |
MCQs |
Practice |
Evaluated |
Preview |
| 1 |
Flash vs RAM vs stack vs .bss |
8 |
0 |
1 |
— |
| 2 |
Static allocation patterns |
6 |
0 |
2 |
— |
| 3 |
const data and const pointers in drivers |
6 |
0 |
2 |
— |
| 4 |
volatile — compiler vs hardware |
8 |
0 |
1 |
— |
| 5 |
Alignment, padding, and sizeof struct |
6 |
0 |
2 |
— |
| 6 |
Memory pool / bump allocator simulation |
6 |
0 |
2 |
— |
| 7 |
Sensor frame parser capstone |
6 |
0 |
2 |
— |
| 8 |
Why embedded C differs |
6 |
0 |
0 |
— |
| 9 |
Fixed-width types (stdint.h) |
6 |
0 |
2 |
— |
Unit 19 — Embedded C — bit-level operations
Unit totals: 9 topics · 58 MCQ questions · 0 practice · 16 evaluated labs
| # |
Topic |
MCQs |
Practice |
Evaluated |
Preview |
| 1 |
Bit mask vocabulary (set/clear/toggle/test) |
6 |
0 |
2 |
— |
| 2 |
Extract field from status word |
6 |
0 |
2 |
— |
| 3 |
Simple checksum / XOR parity |
6 |
0 |
2 |
— |
| 4 |
GPIO-style multi-pin setup (simulated) |
6 |
0 |
2 |
— |
| 5 |
Endianness (little-endian default) |
8 |
0 |
2 |
— |
| 6 |
Atomicity concept (why reg++ is unsafe) |
6 |
0 |
0 |
— |
| 7 |
Bitfields vs explicit masks |
8 |
0 |
1 |
— |
| 8 |
Integrative register lab pack |
6 |
0 |
3 |
— |
| 9 |
Read-modify-write register pattern |
6 |
0 |
2 |
— |
Counts are from the live course catalog. MCQs = questions in topic checkpoint quizzes. Practice = formative run-only or SQL practice lane. Evaluated = submit-graded labs that count toward progress and certificates.
← All paid courses · LLM site guide