0% found this document useful (0 votes)
18 views

Assignment 3 CPP

The document provides instructions for an assignment to improve a C++ student management program across 4 parts. Part 1 involves using data structures like struct, vector, stack or queue. Part 2 focuses on design patterns like singleton, factory or adapter. Part 3 is about modern C++ features such as smart pointers, range-based for loops, auto or decltype. Part 4 requires submitting a report with UML diagram and explanations of improvements.

Uploaded by

Minh Hoàng
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

Assignment 3 CPP

The document provides instructions for an assignment to improve a C++ student management program across 4 parts. Part 1 involves using data structures like struct, vector, stack or queue. Part 2 focuses on design patterns like singleton, factory or adapter. Part 3 is about modern C++ features such as smart pointers, range-based for loops, auto or decltype. Part 4 requires submitting a report with UML diagram and explanations of improvements.

Uploaded by

Minh Hoàng
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

ASSIGNMENT 3 CPP

Prepared by Dr Han Duy Phan.

Submission instruction: Create a folder (A3_StudentName_StudentID) that contains 4


sub folders for each part. Each sub folder contains a solution for the corresponding
task. Compress the A3_StudentName_StudentID folder and submit
A3_StudentName_StudentID.zip to Moodle.

PART 1
Improve the simple C++ student management program from Assignment 2.
In this part, you need to utilize at least one of the C++ data structures below to improve
your program.
Struct:
1 Minute C++ Struct | Cat Can Code
https://youtu.be/b7zehj0qIDs
Vector:
1 Minute C++ Vector | Cat Can Code
https://youtu.be/_W0cZCLWk8U
Stack:
1 Minute C++ Stack | Cat Can Code
https://youtu.be/detOrVIbBOg
Queue:
1 Minute C++ Queue | Cat Can Code
https://youtu.be/4M1UeN5ro54
Set:
1 Minute C++ Set | Cat Can Code
https://youtu.be/dVVDQcGgzDY
Map:
1 Minute C++ Map | Cat Can Code
https://youtu.be/1U_9rQXnAxY

PART 2
Improve the simple C++ student management program from Part 1.
In this part, you need to utilize at least one of the following design patterns to improve
your program.
Singleton:
1 Minute C++ Design Pattern Singleton | Cat Can Code
https://youtu.be/_763HQ17wY8
Factory:
1 Minute C++ Design Pattern Factory | Cat Can Code
https://youtu.be/K38KM_pDhrc
Adapter:
1 Minute C++ Design Pattern Adapter | Cat Can Code
https://youtu.be/1H3rDXVu0dE

PART 3
Improve the simple C++ student management program from Part 2.
In this part, you need to utilize at least one of the following modern C++ features to
improve your program.
Smart Pointers:
1 Minute C++ Modern Smart Pointers | Cat Can Code
https://youtu.be/9VO_viG67QY
Range For Loop:
1 Minute C++ Modern Range For Loop | Cat Can Code
https://youtu.be/wRG2AWqwPl8
Auto:
1 Minute C++ Modern Auto | Cat Can Code
https://youtu.be/9vyt_VnVWYo
Decltype:
1 Minute C++ Modern Decltype | Cat Can Code
https://youtu.be/_qHF7WYubBo
Lambda Expression
1 Minute C++ Modern Lambda Expression | Cat Can Code
https://youtu.be/lgdbeqaYROo

PART 4
Produce a report (PDF format) that includes all the following contents:
● An UML diagram with all the classes and relationships and necessary details.
Use the notations shown in my UML essentials cheat sheet.
https://youtube.com/shorts/VXXx7j8XPfw
● Detailed explanations why your changes in Part 1 lead to good improvements.
● Detailed explanations why your changes in Part 2 lead to good improvements.
● Detailed explanations why your changes in Part 3 lead to good improvements.

You might also like