SEP200 (Second Half)

In this second half of our course, we will contiue learning about object oriented programming with C++. We will cover a number of topics, such as relationships between classes (composition, aggregation, adn association), the Standard Template Library (STL), error handling, function pointers, algorithms, smart pointers and threads.


Calendar

Week 08

Composition, Aggregation, and Association

In this class, students have an introduction to the second part of the course and its evaluation methods. Also, we will cover relationships between classes such as composition, aggregation, and association. Finally, we also discuss casting.

Slides
Workshop 05 (2.5%) - Quiz 06 (1.0%)
Week 09

Standard Template Library and Containers

In this week introduce the Standard Template Library with a focus on the String library. Moreover, we also explore different container classes, such as vectors, deques, stacks, as well as iterators to access elements of containers.

Slides
Workshop 06 (2.5%) - Quiz 07 (1.0%)
Week 10

Function Pointers, Lambda Expressions, and Error Handling

This lecture covers function pointers and its uses, lambda expressions, and also introduces the concept of Error Handling

Slides
Assignment 1 (15%) - Quiz 08 (1.0%)
Week 11

Algorithms

This week we will cover a number of methods defined in the algorithm library to efficiently perform operations in arrays and containers.

Slides
Workshop 07 (2.5%)
Week 12

Smart Pointers and Multiple Inheritance

In this class we will cover two unrelated topics. First, we will discuss the use of smart pointers to counter possible sources of memory leaks. Then, we will describe how multiple inheritance works, as well as issues associated with it.

Slides
Workshop 08 (2.5%) - Quiz 09 (1.0%)
Week 13

Threads

In this class we will cover the concept of threads. Also, we will discuss how to pass information from one thread to another by means of promises and futures.

Slides
Assignment II (15%) - Quiz 10 (1.0%)
Week 14

Final Exam


Final Exam (20%)

Evaluation

Item Qtd Marks
Quizzes 10 (5) 1%/10%
Labs 8 (4) 2.5%/20%
Assignments 2 (2) 15%/30%
Midterm 1 (0) 20%/20%
Final Exam 1 (1) 20%/20%

Important Dates

Assignment I: July 19th
Assignment II: August 9th
Final Exam: August 13th

Academic Honesty

Make sure to learn and abide to Seneca's academic honesty policies. Not knowing a particular policy will never be accepted as a valid excuse.
Remember that, implicitly within every test, exam, and assignment you submit, you are stating that it contains your own work. The three most often scenarios of academic dishonesty are: using material obtained from the internet, using AI to generate your answers, and using material obtained from another student.