Can be completed in | 2 Week |
---|---|
Total Lectures | 20 |
Course Validity | 7 Week |
Basic (INR) | Standard (INR) | Professional (INR) | ||
---|---|---|---|---|
Choose your package |
Programming With C++ (PCPP) 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 work 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 three 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 be moderating the course forums as well as lead the contact sessions.
This course assumes a sufficient background in the 'C' programming language and familiarity with Linux 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 courses User Level Linux as well as Programming With C to gain sufficient background before taking up this course in case you are not very comfortable with the pre-requisites.
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 how to predict performance of the program.
The first chapter brings out the difference with C. Various C++ concepts and those of Object Oriented Programming (OOP) are introduced in the next few chapters. Constantness is clearly explained as well as the reasons as to why incorporating this is a good practice.
Standard Template Library (STL) forms a very integral part of learning C++. This is introduced along with a detailed discussion of several of its data structures and algorithms. We also discuss common pitfalls and performance considerations here along with debugging programs incorporating STL.
The last few sections deal with concepts and practices for working with a large software. These include commonly used libraries and design patterns etc. Please note that this course is not a detailed tutorial to any of these, rather only an introduction. 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 efficient code.