CS201 - Introduction to Programing
Course Page
Q & A
Course Category: Computer Science/Information Technology
Course Level: Imdregraduate
Credit Hours: 3
Pre-requisites: CS101

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 Contents

Introduction, Software Categories / History of C / IDE, Starting to 'C', Expressions and Operators, Decisions, Repetition Structures, Loops and Operators, Switch Statement, Functions, Arrays, Pointers, Strings, String Manipulation Functions, File Handling, Structures, Bit Manipulation, Pre-processor Directives and Macros, Dynamic Memory Allocation using C, Structured Programming, Classes and Objects, Memory Allocation in C++, Friend Functions, Reference Data Type, Arrays of Objects, Streams, Stream Manipulation, Overloading Insertion and Extraction Operators, User Defined Manipulators, Copy Constructor & Assignment Operator, Template Functions, Template Classes

Course Related Links

contains good c/c++ language tutorials
A comprehensive site for C/C++ language learning
Tutorial on C Programming Language
C++ Programming Tutorial
This link contains lots of exercises about each topic of c++
A good site for C programming
Introductory C Programming Class Notes
Site for C Programming
Course Instructor

Dr. Naveed A. Malik
ScD Electrucal Engineering
Massachusetts Institure of Technology, USA

C++ How to Program
by Paul J. Deitel

C Programming Language
by Kernighan and Ritchie