CMPT 125 - Introduction to Computing Science and Programming II - Spring 2022

Course Information Syllabus Lectures Assignments Exams


Lecture 24 - Aptil 11
Review before final
Slides: [Lecture24.zip]
Lecture 23 - April 6
More on C++
unique_ptr
Slides: [Lecture23.zip]
Lecture 22 - April 4
Singleton
More on inheritance in C++
Slides: [Lecture22.zip]
Lecture 21 - March 30
Introduction to C++
- Operators in C++
- Generic types
- STL
Singleton
Slides: [Lecture21.zip]
Tutorial 9 - March 29
C++
- Clases
- constructors/destructors
- new/delete
Notes: [lab09.zip]
Solution: [lab09-sol.zip]
Lecture 20 - March 28
Introduction to C++
- constructors/destructors
- new/delete
- Object Oriented Programming
- Inheritance, virtual methods
- Passing arguments by reference
- Copy constructors
- Operators in C++
Slides: [Lecture20.zip]
Lecture 19 - March 23
Introduction to C++
- Clases
- constructors/destructors
Slides: [Lecture19.zip]
Tutorial 8 - March 22
Binary Trees
Notes: [lab08.zip]
Solution: [lab08-sol.zip]
Lecture 18 - March 21
Binary Search Trees
Slides: [Lecture18.zip]
Lecture 17 - March 16
Practice problems on Binary Trees
Binary Search Trees
Slides: [Lecture17.zip]
Lab Exam - March 15
Lecture 16 - March 14
Introduction to Graphs
Introduction to Trees
Binary Trees
Tree Traversals
Slides: [Lecture16.zip]
Lecture 15 - March 9
Comments on recursion
Slides: [Lecture15.zip]
Tutorial 7 - March 8
A data structure of a python style list
Linked Lists
Notes: [lab07.zip]
Solution: [lab07-sol.zip]
Lecture 14 - March 7
Stack
Queue
- Implementation stack/queue using an array
Linked List
- Implementing stack/queue using a linked list
- Variants: Doubly Linked List
Remarks on recursion
Slides: [Lecture14.zip]
Lecture 13 - March 2
Introduction to data structures
- Stacks
Slides: [Lecture13.zip]
Tutorial 6 - March 1
Sorting algorithms
Measuring performance of a sorting algorithms
Notes: [lab06.zip]
Midterm - February 28
Lecture 12 - February 16
Quick sort
qsort()
void*
Slides: [Lecture12.zip]
Tutorial 5 - February 15
Dynamic memory allocation
Measuring performance of a program
Notes: [lab05.zip]
Lecture 11 - February 14
More on Big-O notation
Sorting algorithms
Slides: [Lecture11.zip]
Lecture 10 - February 9
Search algorithms - writing code
Big-O notation
More examples
Slides: [Lecture10.zip]
Tutorial 4 - February 8
Binary representation on integers and floats
Notes: [lab04.zip]
Lecture 9 - February 7
Measuring performance of algorithms
Big-O notation
Some examples
Search algorithms
Slides: [Lecture09.zip]
Lecture 8 - February 2
Pseudo-code
Recursion
- Merge sort
- Flood fill algorithm
Measuring performance of algorithms
Slides: [Lecture08.zip]
Tutorial 3 - February 1
file I/O
Notes: [lab03.zip]
Lecture 7 - January 31
2-d arrays
Returning structs
Pointers to functions
Quine program
Recursion
- Fibonacci sequence
Slides: [Lecture07.zip]
Lecture 6 - January 26
enum/typedef/struct
Slides: [Lecture06.zip]
Tutorial 2 - January 25
Passing arguments to main()
Redirecting stdin and stdout
Reading letters from input and calculating the frequencies
Notes: [lab02.zip]
Lecture 5 - January 24
Return values and conditions
Global variables
Static variables
Macros
Type casting
Memory allocation
Execution stack
Slides: [Lecture05.zip]
Lecture 4 - January 19
Strings
Initializing arrays and strings
scanf()
Slides: [Lecture04.zip]
Tutorial 1 - January 18
Accessing CSIL
Basic commands in Linux
Configuring Visual Studio Code
Writing hello_world.c
Running/Debugging using Visual Studio Code
Compile in terminal using gcc
Notes: [lab01.zip]
Lecture 3 - January 17
Arrays
Constant variables
Strings
Slides: [Lecture03.zip]
Lecture 2 - January 12
Arrays
More on pointers
Lecture 1 - January 10
Introduction to C
Variables and strong typing
Data vs address
Pointers and references
Slides: [Lecture01.zip]