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
- Introduce students to the C++ programming language, its syntax, and development environment setup.
- Develop understanding of expressions, type conversions, and formatted output.
- Build competency in control structures including conditionals, loops, and logical operators.
- Introduce functions, parameter passing, reference variables, and return values.
- Develop skills in working with arrays, pointers, and dynamic memory allocation.
- Introduce object-oriented programming concepts: classes, objects, access specifiers, and member functions.
- 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++
|
| Week 02 |
Expression and Interactivity
|
| Part II Control Structures & Functions | |
| Week 03 |
Control Structures β Conditionals
|
| Week 04 |
Control Structures β Loops
|
| Week 05 |
Functions
|
| 📋 Assignment | |
| Part III Arrays & Pointers | |
| Week 06 |
Arrays
|
| Week 07 |
Pointers β Basics
|
| Week 08 |
Pointers β Advanced
|
| Part IV Strings, Characters & OOP | |
| Week 09 |
Characters, C-Strings, and the String Class
|
| Week 10 |
Introduction to Object-Oriented Programming
|
| Part V Structures & File Handling | |
| Week 11 |
Structures β Basics
|
| Week 12 |
Structures β Advanced
|
| Week 13 |
Files
|
| 📋 Tutorial | ⚙️ Hands-on Exercise & Quiz (Critical Thinking) | |
| Part VI Practice & Projects | |
| Week 14 | Practical Exercises & Quiz |
| Week 15 | Group Project & Presentation |
| 🎓 Final Exam | |
