Programming Fundamentals Using C++

Learning Outcomes

This document defines what a student will demonstrably be able to do at the end of the course. It has two levels:

Bloom levels: R=Remember, U=Understand, Ap=Apply, An=Analyze, E=Evaluate, C=Create.

Course Learning Outcomes (CLOs)

CLOStatementBloomAssessed by
CLO-1Explain how a C++ program is translated and executed, and build, run, and diagnose programs with a standard C++17 toolchain.U, ApLab 1, Midterm, Final
CLO-2Write correct C++ expressions using built-in types, operators, conversions, and validated console I/O.ApAssignment 1, Quiz 1, Midterm
CLO-3Construct selection and repetition logic from specifications, including nested structures, and trace their execution.Ap, AnAssignments 1–2, Quizzes 1–2, Midterm
CLO-4Transform problem statements into algorithms using decomposition, pseudocode, flowcharts, trace tables, and systematic test-case design.An, CAssignments 2–3, Lab 3, Midterm
CLO-5Design, implement, and document modular programs using functions with correct scope, parameter passing, and overload resolution.Ap, C, EAssignments 2–3, Midterm, Final
CLO-6Implement, trace, and evaluate standard algorithms over 1-D arrays, 2-D arrays, and strings, including searching and sorting.Ap, An, EAssignments 3–4, Quizzes 2–3, Final
CLO-7Explain and correctly use pointers, references, dynamic memory, and structures, with state diagrams and leak-free programs.U, Ap, AnAssignment 4, Final, Project
CLO-8Build persistent, robust programs with file I/O and error management, and model data with structs and introductory classes.Ap, CAssignments 4, Final, Capstone project

Fine-grained outcome map (by module)

Module 1 — Introduction to Programming and C++

Module 2 — Variables, Data Types, and Input/Output

Module 3 — Operators and Expressions

Module 4 — Decision-Making Statements

Module 5 — Loops and Repetition

Module 6 — Problem-Solving and Algorithm Design

Module 7 — Functions Fundamentals

Module 8 — Advanced Function Concepts

Module 9 — One-Dimensional Arrays

Module 10 — Two-Dimensional Arrays

Module 11 — Strings and Character Processing

Module 12 — Searching and Sorting

Module 13 — Pointers and References

Module 14 — Dynamic Memory and Structures

Module 15 — File Handling and Error Management

Module 16 — Introduction to Object-Oriented Programming


CLO ↔ module coverage matrix

ModuleCLO-1CLO-2CLO-3CLO-4CLO-5CLO-6CLO-7CLO-8
M1●
M2●
M3●
M4●
M5●
M6●
M7●
M8●
M9●
M10●
M11●
M12●
M13●
M14●○
M15●
M16○●

● = primary · ○ = supporting. Every CLO has 2+ primary modules; every module maps to exactly one primary CLO.

Assessment coverage matrix

CLOAssign.LabsQuizzesMidtermFinalProject
CLO-1A1L1Q1●●○
CLO-2A1L1Q1●●○
CLO-3A1–2L2Q1–2●●●
CLO-4A2–3L3Q2●●●
CLO-5A2–3○Q2●●●
CLO-6A3–4L5Q2–3○●●
CLO-7A4○Q3–●●
CLO-8A4L6––●●

Prerequisite chain (teaching order)

M1 → M2 → M3 → M4 → M5 → M6 → M7 → M8 (midterm)
                                  ↘
M9 → M10 → M11 → M12 → M13 → M14 → M15 → M16 (final, capstone)

Each module lists its exact prerequisite modules in its week table of COURSE_SCHEDULE.md and in its lecture files. The week-by-week placement is COURSE_SCHEDULE.md; how instructors assess outcomes is in TEACHING_GUIDE.md § 6.

Programming Fundamentals Using C++ · C++17 · 16 weeksBack to top ↑