CSCI 159 Computer Science I: Fall 2025
Supporting Resources (videos, slides, notes, examples)

This page contains links for most of the supporting videos, slides, examples, and notes for Dave's 2025 fall offering of CSCI 159.

The content is close to that of past offerings of CSCI 160, but with more emphasis on C++ (less on C) for the applied portions and with a different division of lecture/lab time (3 hrs lec/2 hrs lab instead of 4 hrs lect/1 hr lab). The bulk of the content is still valid, other than some references to the labs/assignments offered in that particular term.

I've listed the topics in roughly the order I hope to cover them, and roughly grouped them by week, with some of the content covered in lectures and some in labs. The timeline is likely to evolve/change as the semester progresses.

While I do plan on keeping the lectures/labs in synch with the slide/video material as much as possible, there will certainly be significant content differences between the posted content and the actual live lectures. This material is not intended to replace in-class attendance, but rather to act as extra aids/study/support material, especially for any students who might find it necessary to isolate at home at some point in the semester.

Week Topics Resource links
Sept 7-11 Notes:
1. No lecture Sept. 7th (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 14-18 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 21-25 Libraries, using functions and parameters youtube slides
Function/library examples youtube
Creating our own functions youtube slides
Sept 28-O2 Introductory program design and implementation youtube
Modularity, structured and top down design youtube slides
Pass-by-reference parameters youtube slides
Oct 5-9 If/else, switch, bool youtube slides
Error checking input (scanf, cin) youtube slides
intro to recursion youtube slides
Oct 12-16 loops: while, do while, for, scope youtube, slides, shapes code example
Intro to scopes (local/global) youtube slides
Lab session tools and tips: intro to git and make youtube slides
Oct 19-23 Notes:
1. VIU closed Monday Oct 14th for Thanksgiving
2. All of VIU's Monday lectures/labs are moved to Tuesday this week
3. Lab sessions will include review/prep for next week's midterm
break, continue, nested loops, errors youtube slides
parameter default values, function overloading youtube, slides
random number generators youtube slides, a pi approximator
Oct 26-30 Midterm in lecture Monday Oct 26
intro to arrays youtube slides
arrays as parameters youtube slides
Nov 2-6 null terminated character arrays, cstring library youtube, slides
strings revisited youtube, slides
conversion to/from text arrays youtube, slides
two dimensional arrays youtube, slides
Lab tools and tips: Intro to debugging, debuggers, and code tracing youtube slides
Lab tools and tips: more on debuggers and debugging youtube, slides
Lab tools and tips: the gdb debugger youtube, slides
Nov 9-13 Study week, no labs or lectures
Nov 16-20 searching (linear/binary) and sorting(bubblesort) youtube slides
using AI in CSCI courses slides
Nov 23-27 intro to structs youtube, slides
more about structs and arrays youtube , slides, sample code
Nov 30-D4 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
Lab tools and tips: intro to testing youtube slides
Dec 7-11 linked list implementation using structs youtube, slides
intro to information hiding and abstract data types (ADTs) youtube, slides
Course wrap-up, exam overview (material, question styles, format)
Extra topics
(time permitting)
intro to classes and object oriented programming youtube, slides
intro to C++ style file I/O youtube, slides
intro to compilation, linking, and loading youtube, slides
intro to namespaces youtube, slides
command line arguments (argc, argv) youtube, slides

Back to the main course page