, and simply load CSS and JS files
through the , which then load and run the game.
4. All data should be logically separated in separate JavaScript files. Your game data
should never be “hard-wired” into your application code, but should be in separate
files so that a non-programmer would be able to change them without really knowing
anything about programming. E.g. data/gameLevel1.js would contain a single, large
declaration:
// ensure the global gameLevels variable exists, or create it
window.gameLevels = window.gameLevels || [];
// now add the data for this level
gameLevels.push( {
"levelName" : "Basic Verbs 1",
"wordList" : [
"run", "eat", "sleep"
],
"pastTense": {
"run": "ran",
"eat": "ate",
SIT120
Document Version: 2018-06-26 22 / 44
"sleep": "slept"
}
"difficulty": 4
} );
Marking Rubric (University)
To achieve a particular grade, you must meet all criteria for that grade, as per the
table below. Each higher grade requires all features of the previous grade as well.
Additional marking explanations:
• Weekly Progress (Changelog.txt / .md): A file within your project directory of the
progress you make each day you work.
• Code quality: Code quality means both indentation (TAB key) and comments. A
method signature means each of the parameters, as well as the return type.
• Legal: You must include a licenses.txt / .xls file in your project’s root directory. Every
externally-sourced item must be legal for you to use for commercial purposes, and
you must have one row per item, recording:
o Item name: image/sound filename you have renamed it to, or
method/function/class where the code is found.
o License type: (Public Domain / CC-BY / CC0 / GPL / MIT / Apache / BSD)
o Author / Attribution: (name of author)
o Source Website: (original website of the content, as per the author’s wishes)
• Playable Levels: A level’s duration must be a minimum of 10 minutes.
• Playability: Playability is the length of time an average player would be able to play
your game and get enjoyment out of it. Some games can be “finished” (e.g. all levels
complete) in only a few hours, whereas others may take weeks or months. Note, this
should not involve lots of “grinding” nor repeat questions, where the user is doing
repetitive (and usually boring) tasks, but where the player is continually engaged with
new material.
• UI Layout: Each layout and orientation will be tested using Google Chrome when we
mark your work.
• Code Structure: A new UI component is any function that creates and returns a
HTML element (such as a DIV) that contains other elements within it (e.g.
createSearchBar() would create a DIV containing a textbox for the search text, AND a
button to enable the search).
• Data Structures: It is mandatory that all your data is in separate JavaScript files
specifically for data (those files do not contain program code). This is to create a
logical separation between program code and data, such that a non-programmer
could edit and expand the game’s data and your program would adapt automatically.
For example, you would never create 3 buttons for 3 levels in program code
manually, but would use a loop to generate the number of buttons, based on the
number of levels that are in the data. This way levels can be added without any
changes to program code.
• Presentation: Note that the presentations will be held during our week 12 class
time, but students can continue to work on their Project after their presentation
and submit their assessment at the end of the week. For the presentation, students
must present what they have completed so far, but it does not have to be the final
version.
Note that there is no HD rubric for Weekly Progress, Code Quality, Data Structures, UI
Layout, Bugs, and Demonstration Video. If you get a Distinction category, this also counts for
High Distinction. Legal does not have a Credit rubric, so a Pass level also counts as a Credit
level.
SIT120
Document Version: 2018-06-26 26 / 44
#3: Portfolio
Critical Information Summary
Weight 30%
Due Friday Week 8, 5pm
Individual / Group Individual
Submission via Unit Site Assessment Dropbox
Rolling weekly submission (keep uploading
the latest copy of your doc each week)
Required Files MS Word Doc or PDF
Filename: SIDxxxxxxxxx-A3-Portfolio.docx
The Portfolio (which I like to refer to as the "Unit Summary Report") is where you create your
notes about this entire unit, week by week. You will also demonstrate that you have
accomplished all of the practical exercises (with screenshots as evidence). We have this
Portfolio instead of an exam, so keep in mind that you need to demonstrate your
understanding equivalent to if you were sitting an exam.
In this Portfolio, you will create a reflective summary of the class notes and answers to
practical lab exercises for every topic from every week within our unit.
You are required to present a written report of each week’s topic, analysing and discussing
how the topic relates to developing web applications. You will also include a screenshot of
the output of each week’s practical exercise, along with any significant learning notes.
Appropriate formatting required.
Note, this is due before the Project 2 assessment, because you must have covered all
concepts to be able to complete the Project 2. Thus, this earlier due date somewhat forces
you to make sure you cover all theory + practical labs before you can finish the Project 2.
SIT120
Document Version: 2018-06-26 27 / 44
Required Sections
• Marking Justification: A cover page detailing the grade you are aiming for, and
evidence for each individual rubric.
• Week 1:
o Notes
o Lab Exercise Answers
• Week 2:
o Notes
o Lab Exercise Answers
• Week 3:
o Notes
o Lab Exercise Answers
o Project Progress
• Week 4:
o Notes
o Lab Exercise Answers
o Project Progress
• etc…
Marking Rubric (University)
• Explanation:
o Paragraph structure means: topic sentence, supporting sentences, conclusion
sentence.
o ELI5 means “Explain Like I’m 5”, as in, imagine you are explaining an
introductory sentence or paragraph of a section to a 5-year-old child. How
would you use language, analogies, and generally express your idea so that a
5-year-old would understand the gist of your point?
• Note Summary:
o Distinction: E.g. let's say you're going through the material, and you
hear/read and learn a little about pixel density. But then you think "wait,
what's the pixel density on android devices. Are these consistent or are they
different for every device?", because personally (based on your own
interests) this is something you're curious about. Then you go search for
answers, and write it up: "Something else about Pixel Density [reference #] is
....". Note: You always write in your own words. Never copy and paste, unless
it's a short, direct quote, in quotation marks and with a direct reference
following it.
Submission
You must complete your work weekly (both theory summary with your lessons learned, and
all exercises completed), and upload your latest copy of the entire document each week.
You’ll keep a file: “SIDxxxxxxxxx A3 Portfolio.docx”, containing everything you’ve written so
far. And each week, you’ll upload that same file again (your document will grow larger each
week you write in it). You are also welcome to edit previous weeks’ work at any stage.
Note: keep one single entire document (append each week’s new content into the
existing single document you keep for this Portfolio). Do not separate each week into its
own document. Every time you upload the document, it should contain everything.
SIT120
Document Version: 2018-06-26 30 / 44
Game Ideas
Here is a random list of topic areas that you should consider, ranging from kid’s games, to
school games, to adult education. All of these ideas are allowable and meet the criteria for
the Project.
1. Sorting objects into buckets as quickly as possible. E.g. dragging a list of items into
relatable circles, such as colours, shades of colour, word types (e.g. past tense /
present tense), object types (modes of transport such as car/bus/bicycle vs types of
buildings vs types of people), etc. Sorting objects into a sequence. Sequences can be
numerical, size-based objects, side-based (e.g. number of sides on a shape), mathbased,
word-based (e.g. from lightest weighting of a word, such as “kind” to the
heaviest weighting, such as “benevolent”), etc. Could also sort patterns involving
multiple objects.
2. Listen to word (Text-to-Speech API) and then select which image it is, and pick
alternative (incorrect) image options that are very similar in their sound. The learning
language can be English or something else.
3. Identify the incorrectly spelled words in a sentence. Have a small data-bank of
common incorrect sequences, to find and replace in any word from the word list (e.g.
“ou” and “oo” sound pairs, “au” and “uo” sound pairs).
4. Identify incorrect grammar (e.g. tense) sentence within a randomly-generated
paragraph.
5. Convert sentences between tenses or pronouns (from first-person to third-person).
6. Banking transactions / maths / loans / credit card simulation to learn about credit /
banking / interest rates / supply & domain.
7. Diag