CSCI 265 Software Engineering Fall 2025
Supporting Resources (videos, slides, notes, examples)

This page contains links for most of the supporting videos, slides, examples, and notes for the 2025 fall offering of CSCI 265, Software engineering.

While I do plan on keeping the lectures/labs in synch with this material as much as possible, there will certainly be content differences between this material and the live lectures. This material is not intended to replace in-class attendance, but rather to act as extra aids/study/support material.

After CSCI 265 was changed to 3 lecture hours per week (down from 4), we moved several topics to CSCI 162: essentially intro to linux, gdb/debuggers, and compilation/makefiles. I've included links to the slides/video materials for those topics in the extra topics section at the bottom of the page.

Week Topics Resource links
Review/prep
(not covered in class)
intro to linux accounts, ssh, very basic linux youtube, slides
basic programming tips for ssh/C++ on our systems youtube, slides
git submit basics and troubleshooting youtube, slides, short guide to csci git project/lab submission
Sept 1-5 Notes: there is no lecture Sept 1st (VIU closed), and Friday's week 1 lab is a meet-and-greet to set up project teams, attendance required
Course mechanics, administrivia outline labs. assignments, quizzes, project
Design and implementation challenges at larger scales youtube, slides
Sept 8-12 Version control youtube, slides
git basics youtube, slides
git branch, merge youtube, slides
git remotes, pull and push youtube, slides
managing standard git with a team Examples: using gitlab/github, or using csci assigned team git repos
Sept 15-19 Intro to SDLCs, waterfall model youtube, slides
spiral and agile models youtube, slides
Roles/responsibilities in team s.w. development
Requirements and specifications youtube, slides
Sept 22-26 Code/document standards youtube, slides, Google's C++ style guide
HCI youtube, slides
Localization, internationalization, unicode youtube, slides
Design concepts and issues youtube, slides
Sept 29-Oct 3 Using AI in CSCI courses slides
Code reuse youtube, slides
Wed. 1st: 5-10 minute mini-showcase: all six teams give whole class a short look at the vision for their product
Oct 6-10 Modeling: DFDs, ERDs, activity/state/sequence diagrams notes/examples (borrowed from old old old offering of 375 system analysis):
- process modeling: DFDs,
- data modeling: ERDs,
- larger DFD/ERD example
Intro to software testing youtube, slides
Oct 13-17 Note: no classes Monday (VIU closed for Thanksgiving) but the regular Monday class schedule will be observed on Tuesday
unit testing, stubs and drivers youtube, slides
test suite development youtube, slides
test automation youtube, slides
Shells, scripting languages and bash youtube, slides
- basic bash i/o, syntax youtube, slides
- integer and floating point math youtube, slides
- if statements and boolean logic youtube, slides
Oct 20-24 - references, quotes, and brackets youtube, slides
- loops and iteration, text processing (reading file, command content) youtube, slides
- arrays youtube, slides
- command line arguments youtube, slides
- bash functions, calls and returns youtube, slides
- globbing and wildcards in commands youtube, slides
- regular expressions and pattern matching youtube, slides
Oct 27-31 Bash scripting examples youtube, misc. functions, scripting/git exercise
Recursive directory traversals youtube, slides
Automated testing with bash and C++: version 1 youtube, slides, SampleTester.sh
Script for parsing command line arguments youtube, slides, cmdLineParse.sh
Script (outline) for running a single test case (specified by cmd line args) youtube, TesterII.sh
Script for running a test suite (using TesterII.sh above) youtube, TestCollection.sh
Nov 3-7 Bug reports, reporting, tracking youtube, slides
Time estimates and tracking youtube, slides
intermediate cocomo (wikipedia)
Code and document inspections youtube, slides
Nov 10-14 Study week, no labs or lectures
Nov 17-21 Product deployment youtube, slides
Maintenance and support youtube, slides
Refactoring youtube, slides
Test driven development youtube, slides
Nov 24-28 Profilers and profiling youtube, slides
gprof youtube, slides
valgrind for profiling youtube, slides
valgrind for debugging youtube, slides
Dec 1-5 Service-oriented design models youtube, slides
Design patterns youtube, slides
Course wrap-up, exam overview (material, question styles, format)
Dec 8-18 Final exam: in the gym, time/date tba
Extra content
(time permitting)
Hardware, software, and languages (background) youtube, slides
Article: Coding habits and their impact on code reviews and maintenance (by M. Lynch)
linux absolute and relative paths youtube, slides
linux command history and options youtube, slides
io redirection youtube, slides
linux file permissions youtube, slides
common environment variables and customizing your bash setup youtube, slides
linux process control youtube, slides
misc. useful commands/tools youtube, slides
Compilation and compilers youtube, slides
Compiling C/C++ with gcc/g++ (options, #includes, guards) youtube, slides
Automated compilation, makefiles and make youtube, slides, old makefile notes
Debuggers and debugging youtube, slides
gdb and C youtube, slides
language-specific debugging youtube, slides
General safety principles youtube, slides
templated functions and classes youtube, slides
C++ stl: stack, list, queue, and iterators youtube, slides
stacks example youtube