August 2026 weekday evening batch
Mon, 17 Aug, 2026, 7:00 pm
- Schedule
- Mon–Fri, 7:00–9:00 PM IST
- Delivery
- Online
- Trainer
- Vishal Shah
- Fee
- ₹3,600
- Capacity
- 20 participants
We will confirm availability before enrolment.
Build a clear foundation in C, from your first program to pointers, memory, files and a modular application
Learning outcomes
Designed for
Prerequisites
No prior course is required.
Batches
Compare upcoming and planned batches. Each one has its own dates, delivery mode, trainer and fee.
Mon, 17 Aug, 2026, 7:00 pm
We will confirm availability before enrolment.
Course curriculum
Duration: 40 guided hours
FoundationSessions 1–2
What you will build
Your first compiled C program, built and run from the command line — plus a deliberate broken build you diagnose and repair from the compiler's own output.
Module 1
FoundationSessions 1–2
What you will build
Your first compiled C program, built and run from the command line — plus a deliberate broken build you diagnose and repair from the compiler's own output.
Module 1
Practice
Complete a coding lab in every session and three progressive mini-projects, then build a Campus Support Desk console application using structures, a tagged union, pointers, dynamic memory, checked text persistence and multiple source modules.
Career support
Supplementary revision material reviews common foundation questions on data types, control flow, functions, arrays, strings, pointers, memory lifetime, structures, unions, recursion, file input and output, compilation and debugging.
Course trainers
Founder & Principal Trainer
Vishal has spent more than twenty years as a hands-on engineer and architect across commerce, banking and fintech platforms, and still writes code daily. He teaches the production concerns most courses skip, because he has spent two decades being paged about them.
Detailed course information
C is a useful first language because it makes important programming ideas visible. Learners work directly with data representation, control flow, functions, memory, files and the build process instead of relying on a large framework to hide them.
This is an intensive foundations programme for people who are completely new to programming as well as learners who have used C informally and want to close conceptual gaps. The course builds progressively from small console programs to a modular command-line application.
No prior programming knowledge or prior Deesha course is required. Learners need regular access to a 64-bit Windows, Linux or macOS computer, basic file-and-folder skills, and permission to install or use the course toolchain. Plan approximately 30–45 minutes of practice after most sessions and up to 90 minutes between final-project sessions; this practice is recommended for fluency and is not counted in the 40 guided hours.
This course is not intended for experienced C developers who already work confidently with pointers, dynamic memory and multi-file programs. It also does not teach microcontroller peripherals, embedded toolchains, real-time operating systems, operating-system internals, exploit development, processes, threads, signals or network sockets. Those belong in focused follow-on programmes after the language foundation is secure.
The course uses ISO C23 as the current language reference while compiling all required exercises with an explicit C17-compatible portability profile. Selected C23 improvements may be demonstrated as optional awareness, but learners are never assessed on a feature that is not dependably available in the supported GCC and Clang environments.
Learners use a current stable GCC or LLVM/Clang toolchain with GDB or LLDB. The planned pilot environments are MSYS2 UCRT64 GCC on Windows, GCC on Linux and Apple Clang on macOS. Each must pass the clean-machine release checklist before the first batch. Early exercises invoke the compiler directly so diagnostics, compilation and linking remain visible. The final project introduces CMake for a reproducible multi-file build.
Each two-hour session follows a consistent rhythm:
The balance changes during final-project sessions, when most of the time is used for implementation, review and correction.
Learners build a domain-neutral command-line application for recording and managing campus support tickets. The brief requires no specialist helpdesk knowledge and gives learners clear acceptance criteria, starter interfaces and sample data without giving them the completed implementation.
The project requires learners to:
Pointers are taught deeply enough for learners to reason about addresses, dereferencing, arrays, strings, function parameters, structures, dynamic memory, null pointers and lifetime errors. Function pointers and complex multi-level pointer designs are outside the required scope; a simple pointer-to-pointer example may be used when explaining an operation that reallocates a collection.
Learners use malloc, calloc, realloc and free, check allocation failures and practise one
clear ownership model. The course introduces leaks, dangling pointers and double-free defects and
uses sanitiser-assisted checks where the operating system and toolchain support them.
Required structures are arrays, strings, structures, arrays of structures, enumerations, unions and one dynamically resized collection. Linear search and elementary sorting are included. Linked lists may be demonstrated as an extension; stacks, queues, trees, hash tables and graph algorithms are not required in this foundations course.
Required systems awareness covers compilation, linking, memory regions at a conceptual level, headers, multiple source files, command-line execution, file input/output, diagnostics and debugging. Processes, threads, signals, pipes, sockets, memory mapping and device-level programming are reserved for follow-on courses.
Each session includes a formative learning check. The required final quiz is delivered in Moodle; session checks may also be assembled there after platform import review. Course completion requires:
For this first pilot batch, attendance and the final quiz are recorded and verified manually by the trainer. Automated tracking arrives with the learning platform; the completion criteria above are the same either way.
The final project is reviewed and demonstrated as applied learning evidence, but it is not an additional completion gate for this pilot. The completion record therefore confirms the attendance and knowledge-check criteria above; project evidence is recorded separately and does not claim an independently certified level of professional capability. This course does not provide a certification.
Active enrolled learners receive session study guides, starter files, exercises, the course quick reference and interview-preparation material. Approved session recordings may be provided when a batch records them with the required notice, consent, review and access controls. Learner material is shared through restricted access. Study material is view-only where the platform supports it; starter code and exercise data are downloadable so learners can compile and edit a personal working copy. Trainer plans, source presentations, solutions and question rationales remain private.
Learners receive supplementary material covering common foundation-level C questions and code-reading exercises. It will be exported to an accessible participant format before release. This material supports revision; the course does not promise interview or employment outcomes.
Need help deciding?