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 |
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]
|