CS201 : Introduction to Programming

Course Overview

Course Synopsis

The course uses the Dev-C++ Integrated Development Environment (IDE) as the vehicle for instruction. Starting with basic programming concepts, the course develops skill in handling decision and looping structures. Moving on through the concept of pointers and arrays, the course covers the essentials of the C programming language while staying away from object-oriented concepts. The premise is that a good grounding in structured programming will be required when moving into the object-oriented domain that would be covered in depth in a later course. After covering file-handling and unions and structures, the course will finally introduce the concept of classes and public and private members with an introduction to function overloading. The object-oriented concepts of polymorphism, virtual functions and protected data members will not be covered in this course. The course uses the C++ input/output system rather than the traditional C I/O. The practice sessions are kept away from "windows" type programming to ensure that mastering the basic concepts is not clouded by unnecessary details at this stage.

Course Learning Outcomes

At the end of the course, you should be able to:

  • Analyze, design, and solve real world problems in C ++
  • Understand the importance of modular program structure and reusability
  • Understand object oriented programming
  • Understand the difference between procedural and object oriented paradigms

Course Calendar

Software categories2Handouts9-14
First C program3Handouts15-23
Using expressions4Handouts24-32
Conditional Statements5Handouts33-44
Repetition structure(Loops)6Handouts45-54
Do While & For Loops7Handouts55-65
Switch statement8Handouts66-76
Assignment No. 1
Header Files10Handouts88-98
Introduction to Arrays11Handouts99-111
Character Arrays12Handouts112-123
Array manipulation13Handouts124-142
Assignment No. 2
Relationship between pointers and arrays15Handouts158-170
Multidimensional Arrays16Handouts171-185
String handling17Handouts186-197
File handling18Handouts198-210
Sequencial and Random Access Files19Handouts211-227
Quiz No. 1
Bit manipulation21Handouts245-254
Review of previous lectures22Handouts255-268
Pre-processors and Micros23Handouts269-279
Memory Allocation24Handouts279-291
Assignment No. 3
Structured programming25Handouts292-304
Classes and objects26Handouts305-318
Constructors and Destructors27Handouts319-328
Dynamic memory allocation28Handouts329-344
Friend functions29Handouts345-358
Reference data type and pointers30Handouts359-369
Operator overloadingHandouts369-394
Overloading unary operators33Handouts395-408
Arrays of objects34Handouts408-421
Stream manipulation36Handouts433-443
Overloading insertion and extraction operators37Handouts444-453
User defined manipulator38Handouts454-469
Pointers, References and Copy constructor39Handouts469-481
Objects and Structures as class members40Handouts482-496
Quiz No. 2
Template functions41Handouts497-509
Class Templates42Handouts510-519
Programming Exercise - Matrices43Handouts520-528
Matrix Class44Handouts529-552
Final Examination
Back to Top