Week | Topics | Resource links |
Sept 1-5 | Notes:
1. No lecture Sept. 1st (VIU closed) and no labs this week 2. Be sure to attend the first lecture or contact the instructor to avoid being dropped as a "no show". | |
Course mechanics, administrivia | outline, lab exercises, lab quizzes, technotes | |
How to succeed in 159 | youtube, getting help, studying | |
Intro to the software development process | youtube, slides | |
Intro to languages, syntax, semantics | youtube, slides | |
Intro to the edit/compile/execute cycle
(and command lines vs IDEs) |
youtube, slides | |
Sept 8-12 | Notes: labs start this week (sessions in room 102) | |
Intro to C++ syntax/layout | youtube, slides | |
Constants, variables, data types, and computation | youtube, slides | |
Output/input with cout/cin | youtube slides | |
Documentation, style, and standards | youtube, slides, standards | |
Sept 15-19 | Libraries, using functions and parameters | youtube slides |
Function/library examples | youtube | |
Creating our own functions | youtube slides | |
Sept 22-26 | Introductory program design and implementation | youtube |
Modularity, structured and top down design | youtube slides | |
Sept 29-Oct 3 | using AI in CSCI courses | slides |
If/else, switch, bool | youtube slides | |
Oct 6-10 | Error checking input (scanf, cin) | youtube slides |
intro to recursion | youtube slides | |
Oct 13-17 | Notes:
1. VIU closed Monday Oct 14th for Thanksgiving 2. All of VIU's Monday lectures/labs are moved to Tuesday this week | |
Intro to scopes (local/global) | youtube slides | |
loops: while, do while, for, scope | youtube slides | |
break, continue, nested loops, errors | youtube slides | |
Oct 20-24 | Pass-by-reference parameters | youtube slides |
parameter default values, function overloading | youtube, slides | |
intro to arrays | youtube slides | |
Oct 27-31 | arrays as parameters | youtube slides |
searching (linear/binary) and sorting(bubblesort) | youtube slides | |
Nov 3-7 | null terminated character arrays, cstring library | youtube, slides |
using the C++ string class | youtube, slides | |
conversion to/from text arrays | youtube, slides | |
Nov 10-14 | Study week, no labs or lectures | |
Nov 17-21 | intro to structs | youtube, slides |
more about structs and arrays | youtube , slides, sample code | |
intro to testing | youtube slides | |
Nov 24-28 | intro to pointers and their applications | youtube, slides |
dynamic memory allocation (new, delete), and pointer bugs | youtube, slides | |
pointers to structs, dynamic data structures | youtube, slides, pointers to structs for times | |
Dec 1-5 | linked list implementation using structs | youtube, slides |
Course wrap-up, exam overview (material, question styles, format) | ||
Dec 8-18 | Official final exam period | Final exam in the gym, date/time tba |
Extra topics (time permitting) | ||
intro to information hiding and abstract data types (ADTs) | youtube, slides | |
intro to classes and object oriented programming | youtube, slides | |
intro to C++ style file I/O | youtube, slides | |
Intro to debugging, debuggers, and code tracing | youtube slides | |
more on debuggers and debugging | youtube, slides | |
the gdb debugger | youtube, slides | |
intro to git and make | youtube slides | |
intro to compilation, linking, and loading | youtube, slides | |
intro to namespaces | youtube, slides | |
random number generators | youtube slides, a pi approximator | |
command line arguments (argc, argv) | youtube, slides | |
two dimensional arrays | youtube, slides |