Welcome!


Welcome to CMSC 195: Special Topics in Modern C++ Programming! Course assignments and updates will be posted here. Updates will also be posted to Piazza.


Calendar of assignments

No late assignments will be accepted (not even by one minute), unless approved prior to the deadline.

All dates are tentative. If there are extenuating circumstances for the dates above, please discuss with the instructor. Completed assignments are colored in light gray, upcoming assignments are colored in white with the next immediate assignment in blue.

Assignment

Date

Topic list to be discussed on date specified

Each discussion will introduce some modern C++ programming language features and programming practices.

Rvalue References and Move SemanticsJan. 15
Template ProgrammingJan. 22
Resource acquisition is initialization; Smart PointersJan. 29
Const, Static, and InliningFeb. 5
Polymorphism, virtual, override, and finalFeb. 12
Compiler generated methods; Explicit; ExceptionsFeb. 19
Type deduction and auto; Reference Collapsing; Perfect ForwardingMar. 4
Type aliasing and traits; decltypeMar. 18 Now Mar. 25
Constant expressionsMar. 25
Lambda ExpressionsApr. 8 Now Apr. 1
Threading and parallel computing supportApr. 8
Variadics and initializer listsApr. 15
C++17/20Apr. 22

Programming Challenges - Due before class on date specified

Programming challenges test your critical thinking skills and understanding of the programming concepts that we learn about in class. Please turn in as a soft copy.

Programming Challenge 01 Jan. 22
Programming Challenge 02 Jan. 29
Programming Challenge 03 Feb. 5
Programming Challenge 04 Feb. 12 Now Feb. 19
Programming Challenge 05 Feb. 19
Programming Challenge 06 Feb. 26 Now Mar. 4
Programming Challenge 07 Mar. 18 Now Mar. 25
Programming Challenge 08 Mar. 25 Now Apr. 1
Programming Challenge 09 Apr. 1 Now Apr. 8
Programming Challenge 10 Apr. 8 Now Apr. 15
Programming Challenge 11 Apr. 15 Now Apr. 22
Programming Challenge 12 Apr. 22 Now Apr. 29