Worksheet Tasks

In this assignment, you are required to complete a number of tasks to accompany your studies of the principles of computing. This assignment is divided into a series of bite-sized worksheets. The worksheets require you to design, annotate, and write a series of computer programs according to instructions, as well as to apply mathematical techniques to solve problems.

In order for programmers to communicate with each other regarding the technical aspects of a development project, they must have good computational thinking skills, a strong foundational knowledge of computing principles, applied knowledge of program design notations and annotations, and a working knowledge of particular programming constructs (often as a result of writing their own versions). Such knowledge and skills take time and a sustained effort to develop. For this reason, you will work consistently across the semester by completing a series of bite-sized worksheets.

This assignment is formed of FIVE parts: Worksheets 1 to 5.

These address the following learning objectives:

  1. Apply basic computational thinking to problem solving in the puzzle game SpaceChem;
  2. Manipulate and understand low-level data representations;
  3. Represent and reason about algorithms using standard notations;
  4. Implement programs making use of advanced data structures;
  5. Understand how computer processors work with numbers and execute low-level machine code

For each part you must:

  1. Read the instructions in the worksheet;
  2. Complete all of the problems presented;
  3. Submit your solution according to the instructions on the worksheet, and by the deadline specified on the worksheet.

Assignment Setup

This assignment consists of five formative submissions, followed by a single summative submission. You will receive feedback after each formative submission.

Each worksheet contains detailed submission instructions. Some are submitted via LearningSpace (either as file uploads or as online quizzes), whilst others are submitted via the Games Academy GitHub server.

At the end of the study block you will be required make a final summative submission of all of your worksheet solutions. Prepare a single Git link containing your submissions in separate folders, and create a link to the appropriate submission area on LearningSpace. The folder structure within your zip file should resemble that shown in Figure 1.

This submission is for archival and external examining purposes and only; at this stage your work has already been marked and you have received feedback, and you should not submit any new, unmarked work via LearningSpace unless you have been granted permission to do so by the tutor.

This final submission is subject to the usual university policies regarding late submission or non-submission, as detailed in the course handbook — even if you have met all the formative deadlines for individual worksheets, failure to make a submission via LearningSpace by the summative deadline will be subject to penalties.

Additional Guidance

Make a submission on time and you will get at least a 30% mark on that worksheet, even if your solution is incorrect or incomplete. This is just below the pass threshold of 40%, so even an incomplete solution submitted on time is often enough to pass. A solution meeting all of the correctness and/or functionality criteria on the worksheet is required to demonstrate basic proficiency, with higher grades contingent on your solution being of a high quality.

The individual worksheets give more guidance as to what constitutes “quality” for that particular exercise, but bear in mind that a major purpose of these worksheets is to assess your ability to communicate complex computational ideas in English, in notation and in program code.

Thus pay particular attention to the precision and clarity of your written communication, and the readability and maintainability of your source code. It is very important to keep up with the worksheets. Missing a deadline results in an automatic mark of 0% for that worksheet. The underlying skills being developed are also critically important to your progression as a programmer, so do not neglect the work.

Do not underestimate the time it takes to complete tasks that may appear trivial when you first see them. Do not leave work until the last minute! With programming in particular, trying to “cram” the work just before the deadline is a sure path to failure. Aim for consistent, steady progress over the course of the semester.

A key skill of software development is the ability to read and follow instructions. Make sure to read the worksheet carefully to ensure that you are meeting all of the requirements — a surprising number of students needlessly lose marks by misreading the worksheet.

Nobody learns in a vacuum: you are allowed, and indeed encouraged, to discuss your work with your peers. However you must be very careful to avoid falling into academic misconduct, in particular plagiarism. If any part of your solution is not your own individual work, you must make this as clear as possible in your submission, for example in source code comments.

FAQ

What is the deadline for this assignment?

Each worksheet has its own formative deadline, specified on that worksheet and also communicated in class. Falmouth University policy states that summative deadlines must only be specified on the MyFalmouth system.

What should I do to seek help?

You can email your tutor for informal clarifications. For informal feedback, make a pull request on GitHub.

How will I receive feedback on my work?

You will receive verbal feedback during the timetabled worksheet support. You will also receive formative feedback on some worksheets through automated processes, and also from your tutor in the scheduled tutorial sessions. You will receive formal feedback three weeks after the summative deadline.

Is this a mistake?

If you have discovered an issue with the brief itself, the source files are available at: https://github.com/Falmouth-Games-Academy/bsc-assignment-briefs Please make a pull request and comment accordingly.

Additional Resources

  • F. Dunn and I. Parberry (2011). 3D Math Primer for Graphics and Game Development. CRC Press.
  • E. Lengyel (2011). Foundations of Game Engine Development, Volume 1: Mathematics. Terathon Software LLC.
  • T. Jenkyns and B. Stephenson (2012). Fundamentals of Discrete Math for Computer Science: A Problem-Solving Primer. Springer.

See also individual worksheets.

Worksheet Rubrics and Weightings

Worksheet Rubrics and Weightings Each worksheet is marked according to its own rubric. Please see individual worksheets for details.

Each of the worksheets is weighted equally, and your final mark will be based on the best 4 of the 5 worksheets.

II: Low-Level Representations

Manipulate and understand low-level data representations

Mark Summary

This is an exemplar mark reporting sheet.

Graduation Cap Book Open book GitHub Info chevron-right Sticky Note chevron-left Puzzle Piece Square Lightbulb Video Exclamation Triangle Globe