Open course on C programming in Linux Environment
This open course is meant for the engineering college students, who already
completed the C Programming in the college. DEPIK's aim is to improve the
practical programming skills of students in general. And
also to improve the embedded programming skills in specific.
Importance of C programming skills
Good programming skills are essential for the engineering students, if they
wish to become software developers. Like good doctors, good programmers are
always in demand. But to become good at anything, a lot of effort must go in.
To put a lot of effort, one should have interest in it. So whoever is having
interest in programming, and wish to become good software developers, this
site is for you. We at DEPIK will go an extra step in helping you and making
you a successful software developer.
To do for any kind of programming, C language skills are starting point. Once
you are comfortable in writing C programs, you can learn other programming
languages easily. Advanced programming languages like C++, Java, Java script
and C# all are derived from the C language. If you are good in C, you can
easily become good at these advanced languages also.
Because of this reason only, C language is taught first in the colleges.
But unfortunately, C is not taught in the way it supposed to be. Students
are learning C language like English language in primitive schools. That is
without understaning, they are remembering and reproducing in the exams.
It is important to learn in a practical way. That is by writing simple and
useful programs. Any simple program should read data from the user, calculate
some useful thing like area of circle or simple interest and print the result.
Unfortunately lot of engineering graduates, are not able to write this
kind of simple programs. These are practical and useful programs.
Computer is like a calculator. Your simple program is like an application
Choice of operating system to practice C programming
We hope that, you are convinced and willing to practice C programming.
Then comes the choice of operating system to practice C. Linux is the best
choice to practice C programming. All IITs, NIT's and premium engineering
institutes teach C in Linux. Linux is free and its source code is open.
So one can understand and learn Linux to any extent. We feel Linux is the
greatest gift available to the students and programmers. Linux is also being
used extensively in embedded systems. Practicing C on Linux is wonderful
All technical people just fall in love with Unix (Linux). I am one such
person. I see that there is some magical charm in Unix. It is simple, elegant
and beautiful OS, created by brilliant people.
How to start practicing C on a Linux OS
We are assuming that you are an engineering student, who completed the
first year of engineering. So you should have completed the C programming
subject. Basically we assume that, you have some basic idea of C programming.
Now download the following C book and take a print and make it a book.
C Programming in Linux Environment
Read each chapter in the C book, you have downloaded. Read each line carefully.
Understand every line of text and every line of program carefully.
Next you should have a computer and Internet connection. You should be able
to login into DEPIK's Linux system from your windows machine. First get
familiar with Linux command shell environment. Learn few basic Linux
commands. Learn how to create a text and program files using 'vi' editor or
'nano' editor. Next learn how to compile and run a single C program. That's it.
You have successfully completed the initial and major hurdle. Now you have
the basic Linux system to practice and DEPIK to help you.
Start doing the assignments given at the end of the chapter of the C book
downloaded. If you think, you are already good at C programm, then great! Just
do the following simple to not so simple assignments.
Assignments on operators
Assignments on conditions
Assignments on loops
Assignments on structures
Assignments on simple functions
Assignments on using pointers
Assignments on advanced functions
If you find, some of the the assignments given above are not clear, or
difficult, we have given the solutions below. Just refer the solution for
understanding the assignment, or idea used in the assignment. Never try to
remember the program. After refering the solution and getting the idea, do
the assignment on your own. Follow the same method for all the difficult
Solutions for assignements on operators
Solutions for assignments on conditions
Solutions for assignments on loops
Solutions for assignments on structures
Solutions for assignments on simple functions
Solutions for assignments on using pointers
Solutions for assignments on advanced functions
For any queries, please send mail to firstname.lastname@example.org.