Official VIU covid-19 updates and info and FAQ
For the last three weeks of classes, I'll be available on both the VIULearn discussion forum and the discord channel Tuesdays 10-2:30, Wednesdays 1-3:30, Thursdays 11:30-1
VIU has now made the official decision to pause classes for the week of March 16-20, following which we will be switching to "alternative delivery" formats.
With that in mind, this page contains the preliminary plan for the completion of CSCI 330.
Note that this is just a first draft, it may need to change as circumstances warrant.
I'll do my best to keep the page updated in a timely fashion as things develop, and we'll all do our best to ensure everyone can complete their courses.
Please contact me with any questions or concerns about the course (David.Wessels@viu.ca).
If you're struggling to cope with the situation in general please see the help and resources information in the VIU links at the top of this page.
The current plan is as follows:
We did not have a lab scheduled for the final week, so lab 10 will be pushed back into that week and will be due on Wednesday April 15th. The bonus lab will be due at the same time as lab 10.
Since we're dropping a week of lectures (and we lost a week to the snow), I'll be trimming some of the less essential lecture material for this term.
I've also created a forum on the VIULearn site for CSCI 330, and will be checking that and will be on the student CSCI discord site during lab/lecture/office hours (essentially Tuesdays 10-2:30, Wednesdays 1-3:30, Thursdays 11:30-1).
| Turns out there are some permission issues creating the
git grade feedback repositories. Merlin has fixed those for the lab6 grades feedback
repositories I created, but I will be putting the rest of your feedback (lab7+) into a single
csci330 repo called markingFeedback.
You can see this if you run "ssh csci info", and should be able to clone your
feedback directory using
Note that the final exam is still going to be based on the assumption that you actually understand the material from all 10 labs, the best-8-of-10 is solely to allow for contingencies/difficulties related to obtaining/submitting the work within the deadlines.
The project due date has been extended to noon (PDT) on Tuesday April 14th.
I'll be available on discord and by email during the official exam time slot and one hour either side of it to handle questions, but can't guarantee availability outside that block (say noon-5pm PDT on the 20th).
The content will reflect the fact that it is now an open-book exam. Students are still required to complete all parts of the exam as a strictly individual effort: absolutely no discussion, consultation, collaboration, or outside help permitted.
It will be available through a csci330 git repository named FinalExam, and through the VIULearn csci330 page, and the following web page: csci.viu.ca/~wesselsd/courses/csci330/exams/FinalExam2020.html
It can be returned as a pdf either through the git add/commit/push, VIULearn, or as a pdf email attachment.
(PDF ONLY: no other formats accepted, it gets impossible to deal with all the crazy
different formats people come up with, many of which get trapped by the university spam
filters or rejected as too large somewhere in the email chain.)
Again, PDF ONLY
**** PDF ONLY ****
PDF ONLY PDF ONLY PDF ONLY ...
sing it with me ... P ... D ... F ... onnnnly ...
once more with feeling! ... P ... D ... F ... onnnnly ...
Did I mention PDF ONLY?
Sorry, I just really want people to remember it's PDF ONLY
Intro/overview for the revised course delivery format:
(sorry, audio is faint played from desktop - ok on headphones)
Question and answer topics/discussions
|Dates||Web page(s)||Lab Slides, Video(s)|
|(March 17/18)||classes suspended|
|(March 24/25)||lab 8: operations, precedence, side effects||slides, viutube, and youtube (I suggest watching the Mar. 26th material on operators/precedence etc first)|
|(March 31/Apr 1)||lab 9: variadic functions in C/C++||slides, viutube, and youtube (I suggest watching the Mar. 31st material on parameter passing first)|
|(April 7/8)||lab 10: higher order functions in C++||slides, viutube, and youtube (I suggest watching the Mar. 31st material on higher order functions first)|
|bonus lab 11: smart pointers||slides, viutube, and youtube (I suggest watching the April 7th material on smart pointers first)|
|Date||Readings||Lecture Slides, Code, Video(s)|
|March 16-20||classes suspended|
|Tuesday March 24|| Data types and operations
(picking up after the character, numeric, and boolean types)
| string types:
ordinal types: viutube, and youtube
arrays, C++ example, viutube, youtube
records, C++ example, viutube, youtube
hashes,sets,unions, C++ example, viutube, youtube
|Thursday March 26||Data types and operations (pointers)|| pointers, C++ example,
Blocks, entry and exits points,
|Tuesday March 31||Subroutines|| Subroutines (overview),
Parameter passing, C example, C++ example, part 1: viutube, youtube part 2: viutube, youtube
Higher order functions, C++ example, viutube, youtube
Macros , sample code, viutube, youtube
Implementing dynamic/nested function scopes, viutube, youtube
|Thursday April 2|| Dynamic memory handling (wikipedia)
GNU malloc (sourceware.org)
Smart pointers (Alexandrescu, InformIT)
| Issues in handling dynamic memory,
A GNU malloc approach:
- memory organization, viutube, youtube
- allocate/free algorithms, viutube, youtube
Smart pointers (theory), viutube, youtube
C++ smart pointers, C++ example, viutube, youtube
|Tuesday April 7||ADTs and objects|| ADTs: features and support,
OO: features and support, viutube, youtube
C++ OO implementation, viutube, youtube
(whoops: in slide 3, the definition of foo inside the class is incomplete, it was supposed to be returning x+i)
Course wrap-up, viutube, youtube
|Thursday April 9|| Review and exam prep
Exam format, admin details
Practice questions: old finals