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

COS30008 Programming Project 1 - 2020S1

This document outlines Programming Project 1 for the course COS30008 Data Structures and Patterns. Students must develop a text-based game prototype that demonstrates 10 data structures and design patterns concepts. The project involves coding a functional game, writing a report explaining how each concept is implemented, and creating a video demonstration. Students will be evaluated based on demonstrating concepts correctly in their code and providing complete explanations in the report and video. The project is due in 2 weeks and late submissions will be penalized.

Uploaded by

Fizz Zaro
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
167 views

COS30008 Programming Project 1 - 2020S1

This document outlines Programming Project 1 for the course COS30008 Data Structures and Patterns. Students must develop a text-based game prototype that demonstrates 10 data structures and design patterns concepts. The project involves coding a functional game, writing a report explaining how each concept is implemented, and creating a video demonstration. Students will be evaluated based on demonstrating concepts correctly in their code and providing complete explanations in the report and video. The project is due in 2 weeks and late submissions will be penalized.

Uploaded by

Fizz Zaro
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

SUTS - COS30008 Data Structures and Patterns (2020 S1) – Programming Project 1 Outline

COS30008 Data Structures and Patterns:


Programming Project 1 (25%)- 2020 S1
Duration: 2 Weeks (27th April – 11th May 2020)
Instructions
1. The aim of this assessment is to examine your understanding of Data Structures and Patterns
in both design and implementation on an actual application.

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

ii. Purpose: What part of the application it is applied in.


iii. Reasoning: Why apply this concept as opposed to other options (e.g. why use
a linked list but not an array).
iv. Troubleshooting: Did you run into any issues while implementing this
concept? Did you refer to any resources (tutorials/guides) to find the
solution? How did you solve the problem? Cite your resources.
f. References / Bibliography
g. Appendix: Include the content of all source codes (.h and .cpp).

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.

Project Theme: Text-Based Game


Some of the earliest computer programs in the 1970s come in the form of Text-Based Games where
players interact with the system primarily via Text input through the Command Line Interface. The
core component of such a system is a Text Parser (a mechanism to examine the text input from the
human player and find any matching Keyword calls based on the current panel/scene). Although most
versions of this program comprise of Adventure and Role-Playing games, some early Platformer
variants do exist that make use of the keyboard arrow keys and Command Prompt console refresh.

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 late submission


Late submissions will be penalized with a penalty @ 10% per day and will be marked zero if the
submission is done after 5 days. Only in some special cases such as medical emergency, late
submission or extension will be provided if a medical certificate is presented (Is there any provision
for special consideration?)

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

You might also like