C is a general-purpose, imperative computer programming language, supporting structured programming, lexical variable scope and recursion, while a static type system prevents many unintended operations. By design, C provides constructs that map efficiently to typical machine instructions, and therefore it has found lasting use in applications that had formerly been coded in assembly language, including operating systems, as well as various application software for computers ranging from supercomputers to embedded systems.

C is an imperative procedural language. It was designed to be compiled using a relatively straightforward compiler, to provide low-level access to memory, to provide language constructs that map efficiently to machine instructions, and to require minimal run-time support. Therefore, C was useful for many applications that had formerly been coded in assembly language, for example in system programming.Despite its low-level capabilities, the language was designed to encourage cross-platform programming.

Why C?

C is one of the foundations for modern information technology (IT) and computer science (CS).Many working principles of IT and CS, such as programming languages, computer architectures, operating systems, network communication, database, graphical user interface (GUI), graphics, image processing, parallel processing, multi-threads, real-time systems, device drivers, data acquisition, algorithms, numerical analysis, and computer game, are based on or reflected in the functionalities and features of C.

C is the base for almost all popular programming languages.Because of the performance and portability of C, almost all popular cross-platform programming languages and scripting languages, such as C++, Java, Python, Objective-C, Perl, Ruby, PHP, Lua, and Bash, are implemented in C and borrows syntax and functions heavily from C.

Course objectives

Students gain valuable knowledge of fundamental programming concepts such as data types, internal data representations, operators, expressions, loops for repetitions, control structures, arrays, input and output, functions, debugging, etc. Studying C provides a solid foundation for students who want to learn advanced programming skills such as object-oriented programming, event-driven programming, multi-thread programming, real-time programming, embedded programming, network programming, parallel programming, other programming languages, and new and emerging computing paradigms such as grid-computing and cloud computing.

Key course content

C basics

Computing basics

Data type conversion


Files and Streams

Memory Organization


Gcc compiler and Make files

Who can enroll

Anybody interested in learning programming.

Electrical and electronics students, IT students, and anyone with a background of C or C++ or any Object-Oriented programming language can enroll for the program.

Job opportunities

Job opportunities for C programmers include embedded engineers, Linux and unix programmers, android kernel development, Software developers, networking development engineer etc..