Wael Aboulsaadat



APS105- Programming using C++ (Fall 07) - for Electrical Engineering


Administrative Docs and Links
Course Info Sheet
Policy on Collaboration
The Portal!
ECF Resources
UoT - Medical Certificate
Current UoT CS Courses
UoT Engineering Calendar

References & Training Tool
Problem Solving with C++ by Savitch
TuringsCraft's CodeLab

Course Schedule and Notes
Lecture 1:      Intro, Computer Organization
Lecture 2:      Operating System
Lecture 3:      Operating System I/O, Computer Languages, Intro to C++
Lecture 4:      Program Layout, Testing && Debugging
Lecture 5:      C++ program, variables and assignment, keywords, input/output
Lecture 6:      Data types and expressions
Lecture 7:      Control Flow, operators
Lecture 8:      Program Style
Lecture 9:      Pre-defined Functions
Lecture 10:    Pre-defined Functions
Lecture 11:    Functions, Top-down design, Local variables
Lecture 12:    Control Flow
Code:                 Lectures 1-12
Lecture 13:    Streams and Basic File I/O
Lecture 14:    I/O Streams
Lecture 15:    Static variables, Character I/O
Code:                 Lectures 13-15
Lecture 16:    Arrays
Lecture 17:    Programming with Arrays, Multidimensional Arrays
Lecture 18:    Arrays & Functions
Lecture 19:    CStrings
Lecture 20:    Searching Arrays, Sorting an Array
Code:                 Lectures 16-20
Lecture 21:    Review
Lecture 22:    Binary Search, Bubble sort
Lecture 23:    Selection Sort, Pointers and Dynamic Arrays
Lecture 24:    Pointers de-referencing, new/delete, variable lifetime
Lecture 25:    Type Definitions
Lecture 26:    Recurisve Functions
Lecture 27:    Recursion, Binary Search
Lecture 28:    Recursion, Merge Sort, MergeSort Video
Code:                 Lectures 21-28
Lecture 29:    Structs
Lecture 30:    Intro to Linked Lists
Lecture 31:    Pointers, Dynamic Arrays, Linked Lists
Lecture 32:    Pointers and Linked Lists, Queues
Code:                 Lectures 29-32
Lecture 33:    Unix file system & processes
Lecture 34:    Shell
Lecture 35:    Revision

Labs
Lab 0:  Unix Basics
Lab 1:  Basic C++
Lab 2:  Conditional Loops
Lab 3:  Functions
Lab 4:  Arrays and Strings
Lab 5:  File I/O with Streams
Lab 6:  Sorting & CStrings
Lab 7:  Recursion
Lab 8:  Pointers, Dynamic Allocation & Linked Lists

Midterm & Exam
Midterm Review Questions

Related Links
Gnu C Compiler (GCC)
Visual C - Express Edition
Pointers Cartoon Video from Standford