COS30008 Programming Project 1 - 2020S1
COS30008 Programming Project 1 - 2020S1
2. This assessment consists of a Software Prototype (10%), a Project Report (10%), and a Video
Demonstration (5%). Zip Project Folder & Report and submit via Canvas.
3. A list of Data Structures and Patterns concepts is supplied (covered during Week 1-6 Modules).
You are required to develop a prototype software whose implementation demonstrates all
the required concepts.
4. Software Prototype Application: An open Project Theme will be given, so you are free to
develop your own version of the prototype, under these conditions:
a. The title and content of your application must be specific and unique, else you will
infringe upon the work of other students.
b. The program must be developed as a C++ Console Application (in Visual Studio).
c. The implementation of concepts in your code must be appropriate and logical.
d. Provide comments in your code to identify and explain each implemented concept.
e. The prototype must be at least minimally functional (complete runtime cycles and
carry out functions that demonstrate real-time operations of demonstrated
concepts).
f. Code the application fully by yourself to avoid plagiarism.
g. The full application project folder is to be zipped and submitted along with the Project
Report.
5. Project Report: The submission must include a brief Report (in PDF format) with the following
content:
a. Cover Page
b. Table of Contents
c. Link to Video Demonstration
d. Introduction and Description of your Software Prototype Application (Include design
diagrams, screen captures and etc where necessary).
e. A section for each Concept, explain:
i. Description: What is this concept and how does it work.
1
SUTS - COS30008 Data Structures and Patterns (2020 S1) – Programming Project 1 Outline
6. Video Demonstration: Create a video presentation to explain how your prototype works,
which operations/functionalities demonstrate each concept, and your reasoning for applying
them. This video is to satisfy the Oral Defence requirement (Discussed during Week 6 Lecture
Session). Limit your video duration to within 15 minutes and upload it to YouTube as an
unlisted video. Clearly include the video link in the Project Report.
Have a look at this article to get a better view of what a Text-Based Game looks like and how it
operates: https://www.makeuseof.com/tag/browser-text-based-games/
You can use the excerpted Cheat-Sheet as an example control scheme for your prototype:
2
SUTS - COS30008 Data Structures and Patterns (2020 S1) – Programming Project 1 Outline
These kinds of applications persist today, beyond the desktop PC environment. This link provides some
examples of Text-Based games that you can try out on Mobile:
https://www.androidauthority.com/best-texting-games-text-based-games-android-926860/
Finally, go to YouTube and use the search term: text based games to see various resources in
introducing this form of application, the various types of genres and how you can build one.
Using these inspirations, create a unique version of your own Text-Based game. It does not have to be
complete, but there must be a fully functional game-loop or cycle in addition to a working interface
for accepting and responding to user text inputs.
Examined Concepts
Read the Entire List before starting work. Your project must demonstrate and explain the application
of the following 10 concepts:
1. Object-Oriented Programming:
a. Inheritance and Derived Classes
b. Operator Overloading
c. Polymorphism
d. Template Class
2. Composite Data Structures:
a. Array
b. Singly Linked List
c. Doubly Linked List
3. Abstract Data Type: Stack
4. Design Patterns
a. Iterator
b. Research and choose one other Design Pattern appropriate for your application.
Marking Rubric
For each Concept 0 0.5 1
Prototype No Implementation functions but Implementation functions
Attempt incorrectly. Concept expressed correctly, as is the concept’s
partially correct. expression.
Report No Partial explanations, missing Complete and concise
Attempt resources/screen caps, explanation of concept
incorrect analysis of concept implementation. Supply
application. screen caps and citations.
Score 0 1-2 3 5
Demo No Video is present. System overview System overview and concepts
Video Attempt Introduction of and demonstration are explained completely and
application is poorly is concise and concise. Implemented concepts
detailed. Poor detailed. Reasoning are located, explained, and
coverage of for implemented include suitable discussion of
implemented concepts are reasoning, alternatives, and
concepts. explained. possible improvements.
3
SUTS - COS30008 Data Structures and Patterns (2020 S1) – Programming Project 1 Outline
Policy on plagiarism
Before you submit the document, it is your responsibility to ensure that you follow the University
plagiarism policy (click on the link below to read about plagiarism in detail) and do not breach it.
Plagiarism is the practice of submitting or presenting the ideas, writing or other work of someone else,
in whole or in part, as though it is your own work. That is, without proper acknowledgement of the
source(s). Paraphrasing another person’s work without attribution is also plagiarism.
https://www.swinburne.edu.au/current-students/manage-course/exams-results-
assessment/plagiarism-academic-integrity/plagiarism-misconduct