COMP-3001 Details

COMP 3001 - C++ Programming I

Course description

This course provides an introduction to programming in C++, using a procedural style. Topics covered include:

  • Introduction to programming languages
  • From source to binary, compilation, assembling, linking
  • Data types and arithmetic operations
  • Program input and output
  • Floating point types and operations
  • Logical operators and conditional expressions
  • Iterative constructs (loops with conditionals)
  • Functions and argument passing
  • Nested loops and recursion
  • References and pointers (pass by reference)
  • Memory allocation - the stack and the heap
  • Arrays and lists, C strings
  • Structures and basic classes
  • File based input/output
  • Intro to debugging programs

Course learning objectives

After completing this course, successful students will be able to:

  • Take a concrete programming problem statement and translate it into a program to solve the problem.
  • Create a source file from scratch, compile it, and execute it.
  • Separate logical components of a program into discrete functions that are fungible and reusable.
  • Identify and implement program constructs to concisely solve the problem (loops, logical operations and arithmetic).
  • Know how to allocate and de-allocate computer memory programmatically, and where that memory is stored.
  • Use correct types for variables and comprehend their different representations.
  • Utilize built-in types for storing data items (e.g., C-style arrays and lists)
  • Build simple data structures (structs and classes) for organizing more complex variables.
  • Be able to read and write input and output to and from a program, either using user input (stdin/stdout) or files.