Skip to content

Intro to Programming

Estimated time to read: 7 minutes

Learning Objectives

  • Understand the fundamental concepts of programming and computer science;
  • Practice how to solve problems programatically using C++;
  • Use tools to write and compile C++ programs;
  • Code, document, test, and implement a well-structured, robust computer program using the C++ programming language.
  • Write reusable modules (collections of functions).
  • Use version control to manage your code;
  • Use the debugger to find and fix bugs in your code;
  • Understand the basics of file input/output;
  • Work in groups to solve problems;

Learning Outcomes

  • Be able to understand computer science concepts and terminology;
  • To describe the basic components of a computer system and their functions;
  • Differentiate between the various types of programming languages;
  • To describe and use software tools in the programming process;
  • Use modern concepts and principles of C++ programming language;
  • To design, code, test, and debug a computer program using the C++ programming language;
  • To demonstrate an understanding of primitive data types, values, operators and expressions in C/C++;
  • Manage and manipulate files in C++;
  • Deliver a full working project collaboratively;



This is a work in progress, and the schedule is subject to change. Every change will be communicated in class. Use the github repo as the source of truth for the schedule and materials. The materials provided in canvas are just a copy for archiving purposes and might be outdated.

Relevant dates for the Fall 2023 semester:

  • 09-13 Oct 2023 - Midterms Week
  • 20-24 Nov 2023 - Thanksgiving Break
  • 11-15 Dec 2023 - Finals Week
Week Date Topic
1 2023/08/28 1. Introduction, 2. Tools for first Program
2 2023/09/04 Data Types, Arithmetic Operations, Type conversion
3 2023/09/11 Conditionals, Boolean and Bitwise Operations
4 2023/09/18 Loops, for, while, goto and debugging
5 2023/09/25 Functions, Base Conversion, Pointers, Reference
6 2023/10/02 Streams, File IO
7 2023/10/09 Midterm
8 2023/10/16 Arrays, Vectors, String
9 2023/10/23 Recursion
10 2023/10/30 Sorting
11 2023/11/06 Structs, Unions, Enumerations
12 2023/11/13 Work sessions
13 2023/11/20 Thanks giving week
14 2023/11/27 Work sessions / Review
15 2023/12/04 Review / Presentations
16 2023/12/11 Finals


10th edition Gaddis, T. (2020) Starting out with C++. Early objects / Tony Gaddis, Judy Walters, Godfrey Muganda. Pearson Education, Inc. Available at:

9th edition Gaddis, T. (2017) Starting out with C++. Early objects / Tony Gaddis, Judy Walters, Godfrey Muganda. Pearson. Available at: