Can be completed in | 2 Week |
---|---|
Total Lectures | 17 |
Course Validity | 6 Week |
Basic (INR) | Standard (INR) | Professional (INR) | ||
---|---|---|---|---|
Choose your package |
Programming in C (PRGC) course is designed to teach you programming in the 'C' language on the UNIX platform. It focuses on standard language features along with best practices, flows and exposure to working with a large software. The course has toy exercises as well as a running example of a big software system, around which advanced exercises are based. This course can be completed in around two weeks time. We also suggest you to go through our blog on Do you really know 'C' and 'C++' to gain an insight into why it makes sense to learn these languages.
This course is taught by Anup Gangwar and Basant Dwivedi. They will also be moderating the forums.
This course does not expect any previous background in programming. However, familiarity with Linux is assumed as the online laboratory is based on it. If you have experience in working with any other UNIX system, then it is fine too. We recommend that you take up the course User Level Linux course if you are not familiar with any UNIX.
This course is an intermediate level course. Most of the topics are treated in depth. Further, at every stage, there is also focus to correlate how compiler treats a particular language feature. This has been done to provide an insight into writing C programs with predictable performance.
The early sections serve as a tutorial introduction to 'C'. Much like the seminal book, "The C Programming Language" by Kernighan and Ritchie, we also get the reader up to speed early on and quickly allow him to write the first "Hello World" program. Pointers are introduced early on and repeatedly used throughout the remainder of the sections. Pointer arithmetic and other commonly confusing items are explained thoroughly. We also describe the low-level implementation of functions, advanced techniques such as recursion in good detail. The course winds up by discussing the various software engineering aspects. Detailed table of content is as follows.
The 'C' programming course as outlined above will help you start writing 'C' programs in short span of time. The course will also expose several software engineering tools to help you become more productive. Further, our compiler centric way of treating various language features will help you quickly analyze the performance of your program which will eventually lead to writing predicatable code.