This course will become read-only in the near future. Tell us at if that is a problem.

Full Description

The purpose of the course is to teach programming through problem solving in C.

Any programming language you take, is a means to an end. In this time and age, importance is given to getting work done effectively and efficiently.

Effectively - Taking less time. Effeciently - Accurately/precisely

Is this an introductory course to programming?


Why I choose C as a platform?

C is a language that gives you a good base in understanding how procedural programming works and acts as a perfect base to those who are interested in programming. 

What will be covered?

Data types, input-output, looping structures, functions, arrays, pointers, strings, union-structure, file operations and more.

There are few details I have missed above, but i will cover most of them in the course.

System requirements for the course?

Any standard linux machine with gcc on it. Windows users can install mingw to start programming. Getting started guides you how to get Mingw on windows machine(has an automated GUI and command line installers). 

How is the course taught?

This course emphasises on teaching programming through problem solving, so the lectures & exercies will be mainly on solving problems. I aim to have 2-3 classes per week. All the code written in the class as well as the exercises will be available on my github page, which will be updated shortly.

Supplementary material:

exclusive material for pointers:

Task Discussion