Fundamentals of Programming

Course Code: CST-1222  |  Second Semester
Duration 15 Weeks
Lectures 3 per week  ×  1 hour
Language C++ (OOP)
Textbook
📚
Required Textbook
Starting Out With C++: From Control Structures Through Objects, 8th Edition
Tony Gaddis
Course Description
This course introduces students to programming using C++ with an emphasis on object-oriented principles. Beginning with the fundamentals of C++ syntax, variables, and data types, students progressively build skills in expressions, control structures, functions, arrays, and pointers. The course then introduces object-oriented programming through classes, objects, and access specifiers, followed by structures, file handling, and hands-on exercises that reinforce critical thinking. By the end of the course, students will be equipped to design, write, and debug structured and object-oriented C++ programs.

Learning Objectives

  1. Introduce students to the C++ programming language, its syntax, and development environment setup.
  2. Develop understanding of expressions, type conversions, and formatted output.
  3. Build competency in control structures including conditionals, loops, and logical operators.
  4. Introduce functions, parameter passing, reference variables, and return values.
  5. Develop skills in working with arrays, pointers, and dynamic memory allocation.
  6. Introduce object-oriented programming concepts: classes, objects, access specifiers, and member functions.
  7. Cover structures, nested structures, enumerations, and file handling in C++.

Learning Outcomes

  • Write, compile, and run basic to intermediate C++ programs in a development environment.
  • Apply control structures and functions to solve structured programming problems.
  • Use arrays and pointers effectively including dynamic memory management.
  • Design and implement classes and objects following object-oriented programming principles.
  • Work with structures, file I/O, and C-strings in C++ programs.
  • Demonstrate critical thinking through hands-on exercises and quizzes.
Major Topics Covered
C++ Basics
Expressions & I/O
Control Structures
Functions
Arrays
Pointers
Strings & Characters
OOP – Classes & Objects
Structures
File Handling
Assessment Components
30%
Hands-on Exercise
30%
Quiz & Critical Thinking
40%
Final Exam
Lecture Structure: 3 lectures per week, each up to 60 minutes. The course runs for 15 weeks. Hands-on exercises and quizzes accompany each topic to reinforce critical thinking. A tutorial is held at the end of the file handling week. Late submissions are not accepted.
Course Outline
Week Topic
Part I C++ Fundamentals
Week 01 Introduction to C++
  • Introduction to C++ programming language
  • Setting up a development environment (IDE or compiler)
  • Basic syntax and structure of a C++ program
  • Variables, data types, and operators
Week 02 Expression and Interactivity
  • The cin Object
  • Mathematical Expressions
  • Type Conversions
  • Combined Assignment
  • Formatting Output
Part II Control Structures & Functions
Week 03 Control Structures — Conditionals
  • Operators (Relational, Logical)
  • Conditional statements (if, else, else if)
  • Conditional Operators
  • Break and continue statements
Week 04 Control Structures — Loops
  • The Increment and Decrement Operators
  • Looping structures (for, while, do-while)
Week 05 Functions
  • Introduction to functions in C++
  • Function declaration and definition
  • Function parameters and return values
  • Calling a Value-Returning Function
  • Using Reference Variables as Parameters
📋 Assignment
Part III Arrays & Pointers
Week 06 Arrays
  • Array basics and declaration
  • Accessing array elements
  • Two-Dimensional Arrays
  • Array traversal using loops
Week 07 Pointers — Basics
  • Introduction to pointers in C++
  • Pointer declaration and initialization
  • Pointer variable referencing
  • Pointer arithmetic
Week 08 Pointers — Advanced
  • Comparing Pointers
  • Dynamic Memory Allocation
Part IV Strings, Characters & OOP
Week 09 Characters, C-Strings, and the String Class
  • Introduction to Character
  • Character Case Conversion
  • C-Strings
  • Library Functions for working with C-Strings
Week 10 Introduction to Object-Oriented Programming
  • Introduction to classes and objects in C++
  • Class declaration and member functions
  • Access specifiers: public, private, protected
  • Creating objects and accessing their members
Part V Structures & File Handling
Week 11 Structures — Basics
  • Introduction to Structure
  • Accessing Structure Members
  • Initializing a Structure
  • Arrays of Structures
Week 12 Structures — Advanced
  • Nested Structures
  • Returning a Structure from a Function
  • Pointers to Structures
  • Enumerated Data Types
Week 13 Files
  • Introduction to File Handling
  • Reading from Text Files
  • Writing to Text Files
📋 Tutorial  |  ⚙️ Hands-on Exercise & Quiz (Critical Thinking)
Part VI Practice & Projects
Week 14 Practical Exercises & Quiz
Week 15 Group Project & Presentation
🎓   Final Exam