Topics (Class notes)

  • Computers and high-level programming languages
  • Compiled and interpreted languages
  • Real and virtual machines
  • Stack-based execution model (functions and procedures)
  • History of C and C++
  • Structure of a C/C++ Program
  • C: Compiling and linking
  • C: Integral C Datatypes
  • C: Real Valued Datatypes
  • C: Arrays
  • C: Strings
  • C: Implicit and Explicit Type Conversion
  • C: Compiling The Complete Picture
  • C: Compiling Options
  • C: Functions and prcedures, parameters
  • C: Pointers
  • C: Memory Allocation and Deallocation
  • C: Pointers and arrays
  • C: Command Line Arguments
  • C: Plain C I/O - printf, scanf
  • C: File I/O
  • C: Safe I/O Programming
  • C: The C Preprocessor; and Compiling Multi-Module Programs
  • C: User-defined Types, Structures and Linked Structures
  • Comments
  • C++: Objects and classes - data and member functions
  • C++: Access control - public, private
  • C++: Constructors and destructors
  • C++: Overloading - functions, operators, default parameters
  • C++: Inheritance - protected members
  • C++: Object oriented analysis and design
  • C++: Polymorphism - virtual functions
  • C++: Templates and the Standard Template Library
  • C++: Execptions
  • C++: Use of const
  • C++: GUI programming