Week | Topics | Resource links |
Sept 2-6 | Notes:
1. No lecture Sept. 2nd (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 9-13 | 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 16-20 | Libraries, using functions and parameters | youtube slides |
Function/library examples | youtube | |
Creating our own functions | youtube slides | |
Sept 23-27 | Introductory program design and implementation | youtube |
Modularity, structured and top down design | youtube slides | |
Sept 30-Oct 4 | Notes:
1. no lecture Sept. 30 (VIU closed for Truth and Reconciliation Day) 2. no labs this week | |
using AI in CSCI courses | slides | |
...possibly get started on if/else (next week's notes)... | ||
Oct 7-11 | Note: no lecture Monday due to instructor illness | |
If/else, switch, bool | youtube slides | |
Error checking input (scanf, cin) | youtube slides | |
Oct 14-18 | 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 recursion | youtube slides | |
Intro to scopes (local/global) | youtube slides | |
loops: while, do while, for, scope | youtube slides | |
break, continue, nested loops, errors | youtube slides | |
Oct 21-25 | Pass-by-reference parameters | youtube slides |
parameter default values, function overloading | youtube, slides | |
intro to arrays | youtube slides | |
Oct 28-Nov 1 | arrays as parameters | youtube slides |
searching (linear/binary) and sorting(bubblesort) | youtube slides | |
Nov 4-8 | Please study the slides/video below to cover the content we missed this week while Dave was off sick. | |
the bubblesort portion (leftover from last week) | youtube slides | |
null terminated character arrays, cstring library | youtube, slides | |
using the C++ string class | youtube, slides | |
conversion to/from text arrays | youtube, slides | |
Nov 11-15 | Study week, no labs or lectures | |
Nov 18-22 | intro to structs | youtube, slides |
more about structs and arrays | youtube , slides, sample code | |
Intro to debugging, debuggers, and code tracing | youtube slides | |
more on debuggers and debugging | youtube, slides | |
the gdb debugger | youtube, slides | |
intro to testing | youtube slides | |
Nov 25-29 | 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 | |
linked list implementation using structs | youtube, slides | |
Dec 2-6 | intro to information hiding and abstract data types (ADTs) | youtube, slides |
intro to classes and object oriented programming | youtube, slides | |
Course wrap-up, exam overview (material, question styles, format) | ||
Dec 9-20 | Official final exam period | Final exam in the gym, date/time TBA |
Extra topics (time permitting) | ||
intro to C++ style file I/O | 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 |