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

This page contains links for most of the supporting videos, slides, examples, and notes for Dave's 2024 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.

My old web notes and examples for an even older csci 160 version of the course are also still available online.

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
If/else, switch, bool 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
Oct 7-11 Error checking input (scanf, cin) youtube slides
intro to recursion youtube slides
loops: while, do while, for, scope youtube slides
Oct 14-18 Notes:
1. All of VIU's Monday lectures/labs are moved to Tuesday this week
Intro to scopes (local/global) youtube slides
break, continue, nested loops, errors youtube slides
Pass-by-reference parameters youtube slides
Oct 21-25 intro to arrays youtube slides
parameter default values, function overloading youtube, slides
Oct 28-Nov 1 arrays as parameters youtube slides
searching (linear/binary) and sorting(bubblesort) youtube slides
Nov 4-8 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

Back to the main course page