Introduction to Programming Lab (CS1131)

Pre-requisite(s)

Introduction to Computing (CSEE-1101)

Recommended Book(s)

Beginning C++, The Complete Language, By Ivor Horton, Wrox Publishers.
How To Program In C++, Dietel And Dietel.

Course Objectives

To introduce students to the basic concepts of computer programming. At the end of the term, the students are expected to be fairly proficient in computer programming using imperative paradigm. The focus of the course will be on general programming principles/techniques, whereas C++ will be the language to implement these concepts. Key procedural programming topics like variables, arrays, strings, functions, pointers / references will be covered in detail. An elementary level introduction will be provided towards object-oriented programming principles

Course Learning Outcomes (CLO)

Course Objectives

Course Contents

Introduction to programming

Escape Characters
How the program is compiled and linked

Variables and Data Types

Variables, short, long, signed, unsigned etc.
Scope and lifetime of variables. Global Variables
Constant Variables & Arithmetic, logical, relational operators

Logical Operators

Bitwise operators, Left shit, right shift, OR, AND & XOR operations etc
Expressions / mixed expressions and casting (Implicit and Explicit casting)
Post fix and Pre fix operators

Control structures

If, if-else
Nested if
Switch
Ternary operators

Control constructs

While
do-while
for Loop
goto
Loops Exercise

Arrays

Constant variables
Arrays (Single Dimension)
Char Arrays (Single Dimension),
Sorting an array
Multi-dimension Arrays
Exercise of Multi-dimension arrays

Strings

Introduction to Strings
Strings Continued.
String manipulations

Pointers

Introduction to Functions & Static Variables

Functions (Pass by value)
Functions (Pass by reference)
Functions (Pass by reference pointer)
Conversion between array notation and pointer notation
Passing array using pointers to Functions
Constant Pointers & Constant Data

File Handling

Structures

Manipulating structures using pointers
Void Pointers

Mapping of CLOs to Assessment Modules

Final Exam

Assignments 

Surprise Tests/Quizzes

Project

Midterm Exam