The objective of this course is to introduce students to the basic concepts of Computer Science and Programming. At the end of the term, the students are expected to be fairly good at basic concepts in Computer Science and 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.


CLO: 1.Identify the fundamental concepts of basic computer programming.(Level :C1)
CLO: 2.Explain various data types and program constructs to interpret simple programs using concepts of computer programming.(Level: C2)
CLO: 3.Apply the acquired knowledge to conceive, design, implement and debug small-to-moderate scale C programs.(Level:C3)


  1. Basics of C and C++ Programming-Four Lectures
    • Data Types and Representation
      • Variable Types
      • Variable Scope (Local vs. Global Variables)
    • Memory Representation and Debugging
    • Relational Operators, Logical Operators and Expressions
      • Logical, Bitwise and Unary Operators
      • Typecasting
      • Precedence
  2. Control Structures I (selection)-Two Lectures
    • if statements
    • Switch statements
  3. Control Structures II (selection)-Two Lectures
    • while, for, do-while loops
    • Nested control structures
  4. User-Defined Functions & Header Files-Four Lectures
    • Definition, Arguments, Returning a value
    • Scope rules
    • Call by value, Call by reference
    • Inline Functions
    • Macros
    • Header Files
  5. Arrays and Strings-Eight Lectures
    • Declaration, Initialization, Accessing and processing one-Dimensional Array
    • 1-D Array Applications
    • Searching, Multidimensional Arrays
    • User-Defined Simple Data Types, Namespaces, and string Type
    • Enumeration Type, Namespaces, and string operations
  6. Pointers-Two Lectures
    • Declaring, Dereferencing, Initializing Pointer variables
    • Functions and Pointers
    • Pointer Expressions and Arithmetic
  7. Structures-Four Lectures
    • Definition/Declaration
    • Accessing, Assignment, Comparison
    • I/O, Arrays versus Structs, Structs in Arrays
  8. Input/output Streams-Two Lectures
    • I/O streams
    • Output formatting
    • File Input/output
  9. Introduction to Object-Oriented Programming in C++-Four Lectures
    • Classes and Objects
    • Member functions and variables
    • Constructors/Destructors
    • Operator/Function overloading