CSCI 265 Software Engineering
Fall 2020: Course Resources (Hybrid delivery)
Sections F20N01-N03, Prof. Dave Wessels

This page contains links for the lecture, lab, quiz and project slides, videos, and supporting material for the 2020 fall offering of CSCI 265, Software engineering.

Note that most of the material is in development over the summer, but the goal is to have each item in place at least one week before it is needed.


Discussions (zoom/discord/email)

(Until/unless in-person labs, lectures, and office hours can resume) I'll post all the lab and lecture material on video (viutube/youtube), and use the course lab and lecture time slots for informal zoom Q&A sessions.

The current plan is to use the first 15-20 minutes of the time slot for a group session, and the rest will be divided into 10-minute individual slots (students can request one of these by sending me an email). I'll also try to be available on discord during those time slots for students who prefer that. Note that discord allows you to send me private messages if you don't feel comfortable asking something on the open channel (or fire me an email).

No doubt most of you have had lots of practice with Zoom by this point in 2020, but the basic idea is:


I've listed the videos for the lecture content in the order we'll cover them, and roughly grouped them by week. Some weeks there's a little extra material, some weeks a little less, mostly to keep the content grouped by topic.

I'll expect you to have watched the video content for lectures before the lecture Q&A Zoom session (the Zoom sessions will be for Q&A and discussion, not to simply repeat the content for people who didn't watch the videos).


Quizzes will be held every second week, theoretically during the scheduled 1-hour lecture block on Fridays, but in practice you will have a 12 hour window on Fridays (7am-7pm Nanaimo-time) during which you can take the quiz. (The quiz is still time-limited, so once you start it you'll have 50 minutes to complete.)

I'll have a short video posted for each quiz at least a week ahead of time, just summarizing the content/kinds of questions you can expect on the quiz. In general, the quizzes will cover all the lab/lecture material up to and including the week of the quiz, but will emphasize material not covered by previous quizzes.

Quizzes and academic integrity
I've met many of you in previous classes, and know that the overwhelming majority of students are trustworthy and are here to genuinely learn the material. Unfortunately, in an online environment it is necessary to take some steps to protect the integrity of the quizzes/exams. I've tried to strike a reasonable balance here, please let me know if you've got ideas, suggestions, or concerns.

For the quizzes (and the exam), you have a 12-hour window in which to take the quiz/exam, but a time limit once you start (50 minutes for the quizzes, 3 hours for the final exam).

Questions are generated in a random order for each student, and each student is randomly given one of several variants of each question.

Once you've answered a question you cannot go back to it (the system will ask you if you're sure you want to go on, so it's not easy to accidentally move past a question).

Hopefully that combination of steps isn't too onerous for students (though the no-going-back I'm not too thrilled with either) but makes it a bit more awkward for a pair or small group of students to collaborate.

Quiz and exam rules
As with all work this term, quizzes and exams are individual exercises, all work submitted is expected to be your own.

You must cite any resources used that were not part of the course readings or resources provided by the instructor. Citations for online resources must include the full URL to the resource used, while citations for offline resources should include the author(s), full title, date, and publisher.

You must work individually and are not permitted to communicate with other people during the exam. Create a focussed time and space to work on the exam. Communicating with other people includes:
  • Messaging or emailing
  • Video or audio communication
  • Screen sharing
  • Working in the same room during the exam
  • Accessing another person's files or permitting another person to access yours
  • Accessing a shared document

Your best 5 of the 6 quizzes will be counted, and worth 7% each towards your final grade.

The quizzes will be run through VIULearn, and the process is discussed in the "intro" below, and after the Q&A session on Sept. 9th I'll post a practice quiz (available for 1 week) that you can use as a test run of the quiz software. (The practice quiz questions are just a survey of your background and the resources you have available when working on the course.)

Labs and project

The labs form parts of the project in this course, and together the labs/project make up a total of 40% of your final grade.

The breakdown of that 40% is as follows:

At the start of the semester (as part of lab 1) you'll be forking/cloning the project git repository for the course, and with each lab you'll be pulling instructor updates for the project, merging them into the code base you've developed so far, making additional changes to meet the lab/project requirements, and pushing your work.

This will give you experience in maintaining a code base in the face of changing requirements, and experience in resolving conflicts between the code changes you pull from the instructor and the code modifications you have made so far to your own project code.

It will be crucial that you keep up with the labs and that you actually get each lab stage working in a timely fashion - e.g. if your lab 2 code doesn't work properly then that may well cause problems you need to fix to get subsequent labs working correctly, and you'll certainly need to fix them to get full marks for the final project assessment.

I'll be posting an introductory video for each lab, and I'll expect students to have watched the video before our weekly lab Zoom Q&A session. As with the lectures, the Zoom sessions are for Q&A/discussion of the lab, not to recap the video for people who didn't watch it.

Sample solutions will NOT be provided for the labs, but I'll do my best to provide helpful feedback where I see issues in the work you submit for each lab.

The project code will not compile/run on platforms other than otter/cubs/pups so you'll need to do your work in your repositories on our systems.

Specifics on the project and individual labs are given below.

Final exam

The final exam will also be run through VIULearn - much like the quizzes, just longer and worth 25% of the overall grade :)

I'll continue office hours (same format) during the days prior to the exam (same times, same setup).

Exam overview (material, question styles, format)
- youtube, viutube, slides

Below are the recent 265 final exams.
2014, 2015, 2016, 2017, 2018, and 2019
Those exams were hand-written in the gym, so the question formats will be somewhat different this year, and (as always) the specific content varies a bit from year to year.

Zoom Exam Q&A Sessions
We'll plan four short (30-minute) drop-in sessions on Dec. 14th/15th to help with prep for the final exam (using the usual zoom codes for 265). The day of the exam (Dec 16th) I'll try to be available as much as possible from 9am-4pm, but might not be readily available before/after that time.