IDSA
Course Outline
Description
Details
Lecturer
Timetable
Learning Management System
Communication and Consultations
Textbook
Other Resources
Grading
Tentative Schedule
Satisfactory Performance
Academic Integrity
1
Data Structures & Algorithms
1.1
Analysis of Algorithms
1.2
Best, Worst or Average?
1.3
When do we actually care?
1.4
Beyond Asymptotics: When Constants Still Matter
1.5
Abstract Data Types
1.6
Conclusion
1.7
TODO
2
C++ Revision
2.1
Introduction
2.2
Compilation
2.2.1
Command Line
2.2.2
Make
2.2.3
Integrated Development Environments (IDEs)
2.3
Hello World!
2.4
Data Types
2.5
Strings
2.6
Reading input from
stdin
2.7
Vectors
2.8
Branching (If Statements)
2.9
Loops
2.9.1
While Loops
2.9.2
Do Loops
2.9.3
For Loops
2.10
Pointers
2.10.1
Basics
2.10.2
Initialisation & Null Pointers
2.11
References
2.12
Classes
2.13
Arrays
2.14
Static & Dynamic Allocation
2.15
Recursion
2.16
Debugging
2.17
Setting up your environment
2.17.1
Create your account
2.17.2
Download the installer
2.17.3
Linux
2.17.4
Windows/MacOS
2.17.5
Installation
3
Searching and Sorting
3.1
Introduction
3.2
Searching Algorithms
3.2.1
Linear Search
3.2.2
Binary Search
3.2.3
Linear vs Binary Search
3.3
Sorting Algorithms
3.3.1
Insertion Sort
3.3.2
Selection Sort
3.3.3
Bubble Sort
3.3.4
Summary
3.4
Lab
Published with bookdown
Introduction to Data Structures & Algorithms
Introduction to Data Structures & Algorithms
COMS1017A & COMS1021A
Prof. Richard Klein
Semester 2, 2025
[Updated: 2025-07-28]