ADDITIONAL ASSESSMENT DETAILS
Assessment 1 – Reflective Programming Exam 50% [Learning outcomes 1 and 4]
* Students will demonstrate their understanding of the programming language through a series of multiple-choice questions that provide code snippets to be read and understood to determine the correct output. The coding questions will increase in complexity, and the techniques used to provide a structured approach to demonstrate understanding of the core materials. Students will then reflect on their understanding of the tasks in the final question in a written format.
* Each of the exam programming questions will cover a fundamentals programming concept in isolation. This will cover areas such as:
Data types
Variables
Functions
Data Structures
Loops
Conditionals
Data Communication
Inheritance, Polymorphism, and Encapsulation
Classes and Structures
Fundamental Memory Management
Assessment 2 – Game Project 50% [Learning outcomes: 1, 2 and 3]
Based on a well-defined brief, students will develop a small game. The game will demonstrate fundamental programming techniques, structure, and good practices, as well as giving students the opportunity to showcase independent learning and functionality. The topic of the game will be negotiated between the student and the tutor.
INDICATIVE CONTENT
Content will cover four major development areas:
1. Fundamentals of programming
a. Data types
b. Variables
c. Conditional
d. Iteration
e. Functions
f. Pointers and memory
g. Object-oriented programming
2. Computer architecture and the relationship to code
a. Turing and Von Neumann machines
b. Fetch-execute cycle
c. Memory – the stack and the heap
d. Modern computer architectures
3. Problem solving and debugging
a. Problem decomposition
b. Structured approaches to problem solving
4. Reflective practice
LEARNING OUTCOMES
1. Evidence fundamental programming concepts and approaches used to develop game solutions.
Programme Learning Outcome: Knowledge & understanding
2. Develop solutions to well defined problems using appropriate programming techniques and methodologies.
Programme Learning Outcome: Application & problem-solving
3. Demonstrate the use of development environments and source control systems used to create technical game artefacts.
Programme Learning Outcome: Digital literacy
4. Demonstrate reflective practice skills to showcase understanding of the fundamentals of programming for games.
Programme Learning Outcome: Reflection
LEARNING STRATEGIES
Learning and teaching activities will be delivered through a structured blend of scheduled and independent study designed to support a coherent learning journey. Scheduled sessions will typically include lectures that introduce core concepts and workshops that allow students to apply techniques, engage in facilitated discussions, and undertake activities focused on problem solving and peer learning. Independent study will involve, recommended reading, research tasks, and ongoing development of project work supported by the resources provided.
RESOURCES
IDE
Windows PC
Office 365
Version Control
Digital Academy Forum or equivalent
Digital Academy Upload or equivalent
Games Lab
TEXTS
Malik, D.S. (2018) C++ programming: Program design including Data Structures. Boston, MA: Cengage Learning. ISBN: 978-1337117562
Madhav, S. (2018) Game programming in C++: Creating 3D games. Boston: Addison-Wesley. ISBN: 978-0134597201
Yale N. Patt Sanjay J. Patel (2022), Introduction to computing systems from bits & gates to C/C++ & beyond, McGraw Hill, ISBN: 978-9355321442
WEB DESCRIPTOR
Introduction to C++ provides you with an understanding of the fundamental concepts that underlie modern programming practices and techniques through a structured, problem-focused approach. This module links together your ability to understand a problem, create and test a solution, and reflect on the outcome of the work.