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

Course Information Syllabus Lectures Assignments Exams


Lecture 22 - Decemeber 5
Review before final
Slides: [Lecture22.zip]
Tutorial 11 - Decemebr 1
Open lab
Lecture 21 - November 30
Introduction to C++
- Operators in C++
- Generic types
- C++ Standard Template Library (STL)
Singleton
Slides: [Lecture21.zip]
Tutorial 10 - November 24
C++
- Clases
- constructors/destructors
- new/delete
Notes: [lab10.zip]
Solution: [lab10-sol.zip]
Lecture 20 - November 23
Practice Problems on BST
Slides: [Lecture20.zip]
Lecture 19 - November 21
Introduction to C++
- Object Oriented Programming
- Inheritance, virtual methods
- Passing arguments by reference
- Copy constructors
Slides: [Lecture19.zip]
Tutorial 9 - November 17
Binary Trees
Notes: [lab09.zip]
Solution: [lab09-sol.zip]
Lecture 18 - November 16
Introduction to C++
- Clases
- constructors/destructors
- new/delete
Slides: [Lecture18.zip]
Lecture 17 - November 14
Breadth First Search
Binary Search Trees
Slides: [Lecture17.zip]
Lab Exam - November 10
Lecture 16 - November 9
Comments on recursion
Flood Filling Algorithm
Slides: [Lecture16.zip]
Lecture 15 - November 7
Introduction to Graphs
Introduction to Trees
Binary Trees
Tree Traversals
Slides: [Lecture15.zip]
Tutorial 8 - November 3
Linked Lists
Notes: [lab08.zip]
Solution: [lab08-sol.zip]
Lecture 14 - November 2
Linked List
- Implementing a stack using linked list
- Implementing a queue using linked list
- Variants: Doubly Linked List
Slides: [Lecture14.zip]
Lecture 13 - October 31
qsort()
void*
More on Big-O notation
Introduction to data structures
Stack
Queue
Slides: [Lecture13.zip]
Tutorial 7 - October 27
A data structure representing python-style list
Notes: [lab07.zip]
Lecture 12 - October 26
Quick sort
qsort()
Slides: [Lecture12.zip]
October 24
Midterm Exam
Tutorial 6 - October 20
Sorting algorithms
Measuring performance of a sorting algorithms
Notes: [lab06.zip]
Lecture 11 - October 19
More sorting algorithms
- Selection sort
- Insertion sort
- Quick sort
qsort()
void*
Slides: [Lecture11.zip]
Lecture 10 - October 17
Big-O notation
Examples
Search algorithms
Sorting algorithms
- Merge sort
Slides: [Lecture10.zip]
Tutorial 5 - October 13
Dynamic memory allocation
Measuring performance of a program
Notes: [lab05.zip]
Lecture 9 - October 12
Measuring performance of algorithms
Big-O notation
Slides: [Lecture09.zip]
Tutorial 4 - October 6
File I/O
Notes: [lab04.zip]
Lecture 8 - October 5
Recursion
- Fibonacci sequence
Slides: [Lecture08.zip]
Lecture 7 - October 3
enum/typedef/struct
2-d arrays
Returning structs
Pointers to functions
Quine program
Pseudo-code
Slides: [Lecture07.zip]
Tutorial 3 - September 30
Binary representation on integers and floats
Bitwise operations on numbers
Notes: [lab03.zip]
Lecture 6 - September 28
Memory allocation
Execution stack
Slides: [Lecture06.zip]
Lecture 5 - September 26
Strings
scanf()
Return values and conditions
Global variables
Static variables
Macros
Type casting
Memory allocation
Slides: [Lecture05.zip]
Tutorial 2 - September 22
Passing arguments to main()
Redirecting stdin and stdout
Reading letters from input and calculating the frequencies
Notes: [lab02.zip]
Lecture 4 - September 21
Arrays
Constant variables
Chars
Strings
Slides: [Lecture04.zip]
Tutorial 1 - September 15
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 - September 14
Arrays
Slides: [Lecture03.zip]
Lecture 2 - September 12
Introduction to C
Variables and strong typing
Data vs address
Pointers and references
Arrays
Slides: [Lecture02.zip]
Lecture 1 - September 7
General Information
Slides: [Lecture01.zip]