CSCI 160 Computer Science I:
Tentative re-design for the engineering focus
Supporting Resources (videos, slides, notes, examples)

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

Most of the content below is being developed as the term progresses, hopefully I can stay a week or two ahead of the curve as we go!

I've listed the topics in roughly the order I hope to cover them, and roughly grouped them by week. Some weeks there's a little extra material, some weeks a little less, and 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 past versions of the course are also still available online.

Week Topics Resource links
Sept 5-9 Notes:
1. Sept 6 is a holiday (Labour Day), VIU is closed.
2. No labs are held this week, labs start Sept 12th
Course mechanics, administrivia youtube, outline, labs, quizzes, project, technotes
How to succeed in 160 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
Intro to C++ syntax/layout youtube, slides
Sept 12-16 Documentation, style, and standards youtube, slides, standards
Constants, variables, data types, and computation youtube, slides
Output/input with printf/scanf youtube, slides
Sept 19-23 Output/input with cout/cin youtube slides
Introductory program design and implementation youtube
Libraries, using functions and parameters youtube slides
Function/library examples youtube
Sept 24-O2 Creating our own functions youtube slides
Intro to scopes (local/global) youtube slides
Pass-by-reference parameters youtube slides
Modularity, structured and top down design youtube slides
Oct 3-7 If/else, switch, bool youtube slides
Error checking input youtube slides
intro to recursion youtube slides
Oct 10-14 Note Monday the 10th is a holiday, no lectures/labs that day (normal lab held on Friday the 14th)
intro to git and make youtube slides (not testable, just for your understanding)
intro to testing youtube slides
Oct 17-21 loops: while, do while, for, scope youtube slides
break, continue, nested loops, errors youtube slides
intro to debugging, debuggers, and code tracing youtube slides
Oct 24-28 intro to arrays youtube slides
arrays as parameters youtube slides
array searching (linear/binary), sorting(bubblesort) youtube slides
Oct 31-N4 null terminated character arrays, cstring library youtube, slides
conversion to/from text arrays (160 focus on the cstring aspects) youtube, slides
intro to the course project youtube, project web page
Nov 7-11 Study week, no labs or lectures
Nov 14-18 parameter default values, function overloading youtube, slides
intro to structs youtube, slides
more about structs youtube , slides, sample code
Nov 21-25 intro to C-style file I/O youtube, slides
intro to pointers and their applications youtube, slides
dynamic memory allocation (new/delete in 159, malloc/free in 160), and pointer bugs youtube, slides
Nov 28-D2 pointers to structs, dynamic data structures youtube, slides
linked list implementation using structs youtube, slides
Dec 5-9 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) youtube, slides
Dec 12-21 Official final exam period -
Extra topics to be introduced if/as time permits intro to compilation, linking, and loading youtube, slides
command line arguments (argc, argv) youtube, slides
using the C++ string class youtube, slides
intro to C++ style file I/O youtube, slides
intro to namespaces youtube, slides
two dimensional arrays youtube, slides
random number generators youtube slides

Back to the main course page