Skip to content

Course contents (draft)

J-Donald Tournier edited this page Oct 18, 2024 · 20 revisions

Week 1

Session 1

  • the command-line
  • navigating the filesystem
  • invoking the compiler
  • using an editor: micro (or notepad++)
  • writing our first hello_world.cpp
  • plain old data (POD) types: bool, int, float, double
  • the std::string class
  • command-line arguments
  • the std::vector class
  • range-based for loop
  • the auto keyword
  • introducing first project: DNA shotgun sequencing

Exercises??

Session 2

  • file input/output
  • the while loop
  • functions

Week 2

unsorted

  • difference between compiled and interpreted languages
  • the preprocessor and directives
  • the #include statement
  • the compile & link process
  • C vs. C++
  • dynamic vs. static type checking
  • namespaces - the std:: namespace
  • namespaces - how to define & use your own
  • single-line comments
  • multi-line comments and why they're usually best avoided
  • editing a file
  • compiling a program
  • using the command-line
  • file path concepts (absolute, relative)
  • shortcuts for special folders (., .. , ~)
  • running a command - even when not in the PATH, or in the current folder
  • debugging a program - using a debugger?
  • anatomy of a command - arguments & options
  • std::vector
  • std::string
  • difference between std::vector::operator[] and std::vector::at() in terms of bounds checking
  • checking for errors
  • throwing exceptions
  • handling exceptions
  • standard operators
  • standard data types
  • expressions with mixed types, implicit type casting, integer promotion, ...
  • const for variables
  • const for pass-by-reference
  • const for member methods
  • the <cmath> header and associated functions
  • list initialisers
Clone this wiki locally