2.17. Specialized Platform Development (SPD)

2.17. Specialized Platform Development (SPD)

The Specialized Platform Development (SPD) knowledge area refers to attributes involving the creation of software targeting non-traditional hardware platforms. Developing for each specialized platform, for example, robots, mobile systems, web-based systems, and embedded systems, typically involves unique considerations.

Societal and industry needs have created a high demand for developers on specialized platforms, such as mobile applications, web platforms, robotic platforms, and embedded systems. Some unique professional abilities relevant to this knowledge area include the following:

  • Creating applications that provide a consistent user experience across various devices, screen sizes, and operating systems.
  • Developing application programming interfaces (APIs) to support the functionality of each specialized platform.
  • Managing challenges related to resource constraints such as computation, memory, storage, and networking and communication.
  • Applying cross-cutting concerns such as optimization, security, better development practices, etc.
Table 2.17: List of KUs in the Specialized Platform Development area.

2.17.1. SPD/Common Aspects: Platforms, APIs and Constraints  (CS Core: 3 hrs, KA Core: 2 hrs) ↑ Back to top

Topics:
Core

Learning Outcomes:
Core:

  1. List the constraints of mobile programming [List]

2.17.2. SPD/Common Aspects: Platform Languages and Web Programming Patterns  (CS Core: 2 hrs, KA Core: 1 hr) ↑ Back to top

Topics:
Core

  • Overview of platform Languages (e.g., Python, Swift, Lua, Kotlin)
  • Techniques for learning and mastering a platform-specific programming language

Learning Outcomes:
Core:

  1. List the characteristics of scripting languages [List]
  2. Describe the three-tier model of web programming [Describe]
  3. Describe how the state is maintained in web programming [Describe]

2.17.3. SPD/Frontend, Frameworks and Web Standards  (KA Core: 3 hrs) ↑ Back to top

Covers web programming languages, frameworks, the SaaS model, web standards (DOM, accessibility), and security and privacy considerations.
Topics:
Core

Learning Outcomes:
Core:

  1. Compare and contrast web programming with general-purpose programming [Compare]
  2. Describe the differences between Software-as-a-Service (SaaS) and traditional software products [Describe]
  3. Discuss how web standards impact software development [Debate]
  4. Evaluate an existing web application against current web standards [Evaluate]

2.17.4. SPD/Cloud Architecture and Data Management  (KA Core: 3 hrs) ↑ Back to top

Covers requirements analysis for web applications, cloud computing services, data management, architectures (microservices, serverless, event-driven), and storage solutions.
Topics:
Non Core

  • Analyzing requirements for web applications
  • Computing services NoSQL Systems
    1. Cloud Hosting
    2. Scalability (e.g., Autoscaling, Clusters)
    3. Cost estimation for services enumerate
    4. Data management Core Database System Concepts
      1. Data residency: where the data is located and what paths can be taken to access it
      2. Data integrity: guaranteeing data is accessible and that data is deleted when required enumerate
      3. Architecture
        1. Monoliths vs Microservices
        2. Micro-frontends
        3. Event-Driven vs RESTful architectures: advantages and disadvantages
        4. Serverless, cloud computing on demand enumerate
        5. Storage solutions NoSQL Systems , Relational Databases
          1. Relational Databases
          2. NoSQL databases enumerate

          Learning Outcomes:
          Core:

          1. Design and implement a web-based application using a microservice architecture design [Design]
          2. Describe the constraints, such as hosting, services, and scalability, related to web platforms [Describe]

          2.17.5. SPD/Mobile Platforms: Development Fundamentals  (KA Core: 2 hrs) ↑ Back to top

          Topics:
          Core

          Learning Outcomes:
          Core:

          1. Compare mobile programming with general-purpose programming [Compare]
          2. Evaluate the pros and cons of native and cross-platform mobile application development [Evaluate]

          2.17.6. SPD/Mobile Platforms: Architecture and Constraints  (KA Core: 2 hrs) ↑ Back to top

          Topics:
          Non Core

          Learning Outcomes:
          NonCore:

          1. Design the architecture of a mobile application applying appropriate software design patterns, justifying the choice between native and cross-platform development [Design]
          2. Evaluate the constraints of a given mobile platform (responsive UI, device heterogeneity, energy-performance tradeoffs) when specifying and testing an application [Evaluate]

          2.17.7. SPD/Mobile Platforms: Capabilities and Asynchronous Computing  (KA Core: 1 hr) ↑ Back to top

          Topics:
          Non Core

          • Mobile computing affordances
            1. Location-aware applications
            2. Sensor-driven computing (e.g., gyroscope, accelerometer, health data from a watch)
            3. Telephony and instant messaging
            4. Augmented reality Immersion enumerate
            5. Asynchronous computing Algorithms
              1. Difference from traditional synchronous programming
              2. Handling success via callbacks
              3. Handling errors asynchronously
              4. Testing asynchronous code and typical problems in testing enumerate

              Learning Outcomes:
              Core:

              1. Develop a location-aware mobile application with data API integration [Create]
              2. Build a sensor-driven mobile application capable of logging data on a remote server [Create]
              3. Create a communication app incorporating telephony and instant messaging [Create]

              2.17.8. SPD/Robot Platforms  (KA Core: 4 hrs) ↑ Back to top

              Topics:
              Core

              Learning Outcomes:
              Core:

              1. Design and implement an application on a given robotic platform [Design]
              2. Integrate an Arduino-based robot kit and program it to navigate a maze [Integrate]
              3. Compare robot-specific languages and techniques with those used for general-purpose software development [Compare]
              4. Explain the rationale behind the design of the robotic platform and its interconnections with physical or simulated systems [Explain]
              5. Given a high-level application, design a robot software architecture using ROS specifying all components and interconnections (ROS topics) to accomplish that application [Design]
              6. Discuss the constraints a given robotic platform imposes on developers [Debate]

              2.17.9. SPD/Embedded Characteristics and Architectures  (KA Core: 1 hr) ↑ Back to top

              Covers the unique characteristics of embedded systems compared to other systems, APIs for custom architectures (GPU, FPGA), and the evaluation of architectures according to requirements.
              Topics:
              Core

              Learning Outcomes:
              Core:

              1. Describe the unique characteristics of embedded systems versus other systems [Describe]
              2. Identify different types of embedded architectures [Analyze]
              3. Evaluate which architecture is best for a given set of requirements [Evaluate]

              2.17.10. SPD/Systems, Programming and Sensors  (KA Core: 2 hrs) ↑ Back to top

              Covers embedded systems with microcontrollers, interrupts and energy efficiency, embedded programming, and interfacing with sensors and actuators.
              Topics:
              Core

              Learning Outcomes:
              Core:

              1. Interface with sensors/actuators [Program]
              2. Debug a problem with an existing embedded platform [Analyze]
              3. Design and develop software to interact with and control hardware [Design]

              2.17.11. SPD/Real-Time, Memory and Verification  (KA Core: 3 hrs) ↑ Back to top

              Covers hard and soft real-time systems, real-time and memory resource management, safety considerations, analysis and verification, and embedded application design.
              Topics:
              Core

              Learning Outcomes:
              Core:

              1. Design and implement a small embedded system for a given platform (e.g., a smart alarm clock or a drone) [Design]
              2. Design methods for real-time systems [Design]
              3. Evaluate real-time scheduling and schedulability analysis [Evaluate]
              4. Evaluate formal specification and verification of timing constraints and properties [Evaluate]

              2.17.12. SPD/Platform History, Types and Characteristics  (KA Core: 1 hr) ↑ Back to top

              Covers the historical evolution of game platforms, typical platform types, and their technical characteristics and constraints.
              Topics:
              Core

              • Evolution of Game Platforms (e.g., Brown Box to Metaverse and beyond; improvement in computing architectures (CPU and GPU); platform convergence and mobility) Digital Logic and Digital Systems
              • Typical Game Platforms (e.g., Personal Computer; Home Console; Handheld Console; Arcade Machine; Interactive Television; Mobile Phone; Tablet; Integrated Head-Mounted Display; Immersive Installations and Simulators; Internet of Things enabled Devices; CAVE Systems; Web Browsers; Cloud-based Streaming Systems)
              • Characteristics and Constraints of Different Game Platforms (e.g., features: local storage, internetworking, peripherals; run-time performance: GPU/CPU frequency, number of cores; chipsets: physics processing units, vector co-processors; expansion bandwidth (PCIe); network throughput (Ethernet); memory types and capacities (DDR/GDDR); maximum stack depth; power consumption; thermal design; Endian)

              Learning Outcomes:
              Core:

              1. Describe the key constraints a specific game platform will likely impose on developers [Describe]
              2. Compare the interfaces of different game platforms, highlighting their respective implications for human-computer interaction [Compare]

              2.17.13. SPD/Sensors, Controllers and eSports Ecosystems  (KA Core: 1 hr) ↑ Back to top

              Covers typical sensors, controllers and actuators in game platforms, and eSports ecosystems including events, streamed media and professional play.
              Topics:
              Core

              • Typical Sensors, Controllers, and Actuators (e.g., distinctive control system designs - peripherals (mouse, keypad, joystick), game controllers, wearables, interactive surfaces; electronics and bespoke hardware; computer vision, inside-out tracking, and outside-in tracking; IoT-enabled electronics and I/O) Interaction
              • eSports Ecosystems (e.g., evolution of gameplay across platforms; games and eSports; game events such as LAN/arcade tournaments and international events such as the Olympic eSports Series; streamed media and spectatorship; multimedia technologies and broadcast management; professional play; data and machine learning for coaching and training)

              Learning Outcomes:
              Core:

              1. Explain how eSports are streamed to large audiences over the internet [Explain]

              2.17.14. SPD/Architectures and Rendering  (KA Core: 1 hr) ↑ Back to top

              Covers CPU and GPU architectures for games and pipelines for graphical rendering and physical simulation.
              Topics:
              Core

              • CPU and GPU Architectures (e.g., Flynn's taxonomy; parallelization; instruction sets; standard components - graphics compute array, graphics memory controller, video graphics array basic input/output system; bus interface; power management unit; video processing unit; display interface) Heterogeneous Architectures
              • Pipelines for Graphical Rendering and Physical Simulation (e.g., tile-based, immediate-mode) Applied Rendering and Techniques

              Learning Outcomes:
              Core:

              1. Recall the characteristics of common general-purpose graphics processing architectures [Recall]
              2. Identify the key stages of the immediate-mode rendering pipeline [Analyze]

              2.17.15. SPD/Algorithms, Media and Virtual Worlds  (KA Core: 1 hr) ↑ Back to top

              Covers common algorithms, data structures and mathematical functions in games, and media representations in virtual worlds.
              Topics:
              Core

              Learning Outcomes:
              Core:

              1. Translate complex mathematical functions into performant source code [Translate]
              2. Optimize a function for processing collision detection in a simulated environment [Create]

              2.17.16. SPD/Languages, APIs and Development Tools  (KA Core: 1 hr) ↑ Back to top

              Covers programming and shading languages, graphics APIs and libraries, and development tools and environments for games.
              Topics:
              Core

              Learning Outcomes:
              Core:

              1. Use an industry-standard graphics API to render a 3D model in a virtual scene [Use]
              2. Modify a shader to change a visual effect according to stated requirements [Create]
              3. Recommend an appropriate set of development tools and techniques for implementing a game of a particular genre for a given platform [Recommend]

              2.17.17. SPD/Game Engines  (KA Core: 1 hr) ↑ Back to top

              Covers open-source game engines and production techniques, quality assurance, optimization, porting and internationalization.
              Topics:
              Core

              • Game Engines
                1. Open Game Engines (e.g., Unreal; Unity; Godot; CryEngine; Phyre; Source 2; Pygame and Ren'Py; Phaser; Twine; Spring RTS)
                2. Techniques (e.g., Ideation, Prototyping, Iterative Design and Implementation, Compiling Executable Builds, Development Operations and Quality Assurance - Play Testing and Technical Testing, Profiling; Optimization, Porting; Internationalization and Localization, Networking) Performance and Energy Efficiency , Requirements Engineering , Requirements Evolution and Estimation enumerate

                Learning Outcomes:
                Core:

                1. Implement a game for a particular platform according to the specification [Implement]
                2. Assess a game's run-time and memory performance using an industry-standard tool and development environment [Assess]
                3. Discuss the key challenges in making a digital game that is cross-platform compatible [Debate]

                2.17.18. SPD/Game Design Foundations  (KA Core: 1 hr) ↑ Back to top

                Covers game design vocabulary and models, design thinking and user-centred experience design.
                Topics:
                Core

                • Game Design Vocabulary (e.g., game definitions; mechanics-dynamics-aesthetics model; industry terminology; experience design; models of experience and emotion)
                • Design Thinking and User-Centered Experience Design (e.g., methods of designing games; iteration, incrementing, and the double-diamond; phases of pre- and post-production; quality assurance, including alpha and beta testing; stakeholder and customer involvement; community management) API Design and Modeling , Principles and Software Architecture , Software Design Quality and Evaluation

                Learning Outcomes:
                Core:

                1. Express how game developers can enhance the accessibility of a game interface [Demonstrate]

                2.17.19. SPD/Genres, Audiences and Social Reach  (KA Core: 1 hr) ↑ Back to top

                Covers game genres, audiences and player taxonomies, and the proliferation of game technologies to domains beyond entertainment.
                Topics:
                Core

                Learning Outcomes:
                Core:

                1. Create novel forms of gameplay using frontier game platforms [Create]

                2.17.20. SPD/Interactive Data and Analytics Platforms  (KA Core: 2 hrs) ↑ Back to top

                Covers interactive data analysis platforms such as Jupyter notebooks, Google Colab, R, cloud SQL platforms, and design tools with low-latency feedback loops.
                Topics:
                Non Core

                • Computational Notebook Platforms (e.g., Jupyter notebooks; Google Colab; R; SPSS; Observable)
                • Cloud SQL and Data Analysis Platforms (e.g., BigQuery) Query Construction
                  1. Apache Spark
                  2. Data Visualizations Visualization enumerate
                  3. Interactive Presentations Backed by Data
                  4. Design Tools Requiring Low-Latency Feedback Loops
                    1. Rendering tools
                    2. Graphic design tools enumerate

                    Learning Outcomes:
                    NonCore:

                    1. Analyze large datasets interactively [Analyze]
                    2. Create a backing track for a musical performance, such as live coding [Create]
                    3. Create compelling computational notebooks that construct a narrative for a given journalistic goal/story [Create]
                    4. Implement interactive code that uses a dataset and generates exploratory graphics [Implement]
                    5. Contextualize the attributes of different data analysis styles, such as interactive vs engineered pipeline [Contextualize]
                    6. Write a program using a notebook computing platform (e.g., searching, sorting, or graph manipulation) [Write]

                    2.17.21. SPD/AI Programming and Quantum Platforms  (KA Core: 1 hr) ↑ Back to top

                    Covers prompt programming with large language models (LLMs) and generative AI, and quantum platforms for programming quantum logic operators and available quantum services.
                    Topics:
                    Non Core

                    • Prompt programming
                      1. Generative AI (e.g., OpenAI's ChatGPT, OpenAI's Codex, GitHub's Copilot) and LLMs are accessed/interacted enumerate
                      2. Quantum Platforms Quantum Architectures
                        1. Program quantum logic operators in quantum machines.
                        2. Use API for available quantum services
                        3. Signal analysis/Fourier analysis/Signal processing (for music composition, audio/RF analysis) Image Processing enumerate

                        Learning Outcomes:
                        NonCore:

                        1. Create a program that performs a task using LLM systems [Create]
                        2. Contrast a program developed by an AI platform and by a human [Contrast]
                        3. Implement a system that interacts with a human without using a screen [Implement]
                        4. Demonstrate a quantum gate outcome using a quantum platform [Demonstrate]

                        2.17.22. SPD/SPD-SEP/Mobile ↑ Back to top

                        Topics:
                        Non Core

                        • Privacy and data protection
                        • Accessibility in mobile design
                        • Security and cybersecurity
                        • Social impacts of mobile technology
                        • Ethical use of AI and algorithms

                        Learning Outcomes:
                        NonCore:

                        1. Understand and uphold ethical responsibilities for safeguarding user privacy and data protection in mobile applications [Assess]
                        2. Design mobile applications with accessibility in mind, ensuring effective use by people with disabilities [Design]
                        3. Demonstrate proficiency in secure coding practices to mitigate risks associated with various security threats in mobile development [Demonstrate]
                        4. Analyze the broader social impacts of mobile technology, including its influence on communication patterns, relationships, and mental health [Analyze]
                        5. Comprehend the ethical considerations of using AI in mobile applications, ensuring unbiased and fair algorithms [Explain]

                        2.17.23. SPD/SPD-SEP/Web ↑ Back to top

                        Topics:
                        Non Core

                        • Privacy concerns with mobile apps
                        • Designing for inclusivity and accessibility
                        • Ethical use of AI in mobile apps
                        • Sustainable app development and server hosting
                        • Avoiding spam or intrusive notifications
                        • Addressing cyberbullying and harassment
                        • Promoting positive online communities
                        • Monetization and advertising
                        • Ethical use of gamification

                        Learning Outcomes:
                        NonCore:

                        1. Understand how mobile computing impacts communications and the flow of information within society [Analyze]
                        2. Design mobile apps that have made daily tasks easier/faster [Design]
                        3. Recognize how the ubiquity of mobile computing has affected work-life balance [Recognize]
                        4. Understand how mobile computing impacts health monitoring and healthcare services [Analyze]
                        5. Define how mobile apps are used to educate about and help achieve UN sustainability goals [Define]

                        2.17.24. SPD/Intellectual Property in Games ↑ Back to top

                        Covers intellectual property rights in the creative industries, including copyright, trademarks, licensing and enforcement.
                        Topics:
                        Non Core

                        • Intellectual Property Rights in Creative Industries
                          1. Intellectual Property Ownership: copyright, trademark; design right, patent, trade secret, civil versus criminal law; international agreements; procedural content generation and the implications of generative artificial intelligence
                          2. Licensing: Usage and fair usage exceptions; open-source license agreements; proprietary and bespoke licensing; enforcement enumerate

                          Learning Outcomes:
                          NonCore:

                          1. Discuss how creators can protect their intellectual property [Debate]
                          2. Compare options for open-source licensing of a game development tool [Compare]

                          2.17.25. SPD/Game Interface and Accessibility ↑ Back to top

                          Covers the usability and accessibility of game interfaces, including heuristic evaluation methods and design for players with disabilities.
                          Topics:
                          Non Core

                          • Fair Access to Play
                            1. Game Interface Usability: user requirements, affordances, ergonomic design, user research, experience measurement, and heuristic evaluation methods for games
                            2. Game Interface Accessibility: forms of impairment and disability; means to facilitate game access; universal design; legislated requirements for game platforms; compliance evaluation; challenging game mechanics and access enumerate

                            Learning Outcomes:
                            NonCore:

                            1. Identify common pitfalls in game interfaces that exclude players with impaired or non-functional vision [Analyze]
                            2. Describe how heuristic evaluation can be used to identify usability problems in game interfaces [Describe]
                            3. Recommend changes to a specific game interface to improve access to players who are deaf or whose hearing is otherwise impaired [Recommend]

                            2.17.26. SPD/Health, Safety and Sustainability ↑ Back to top

                            Covers game-related injuries and their mitigation, risk assessment for events and manufacturing, player mental health, and the supply chain and sustainability of platform hardware.
                            Topics:
                            Non Core

                            • Game-Related Health and Safety
                              1. Injuries in Play: ways of mitigating common upper body injuries, such as repetitive strain injury; exercise psychology and physiotherapy in eSports
                              2. Risk Assessment for Events and Manufacturing: control of substances hazardous to health (COSHH); fire safety; electrical and electronics safety; risk assessment for games and game events; risk assessment for manufacturing
                              3. Mental Health: motivation to play; gamification and gameful design; game psychology - internet gaming disorder enumerate
                              4. Platform Hardware Supply Chain and Sustainability
                                1. Platform Lifecycle: platform composition - materials, assembly; mineral excavation and processing; power usage; recycling; planned obsolescence.
                                2. Modern Slavery: supply chains; forced labor and civil rights; working conditions; detection and remission; certification bodies and charitable endeavors. enumerate

                                Learning Outcomes:
                                NonCore:

                                1. Explain why upper body injuries are common in eSports [Explain]
                                2. Modify a policy for a LAN party event to include mitigations that lower the risk of fire [Design]
                                3. Design a gamification strategy to motivate serious play for an awareness-raising game [Design]
                                4. Assess the appropriateness of two manufacturers for producing a new game console [Assess]
                                5. Discuss whether games are addictive [Debate]

                                2.17.27. SPD/Representation, Inclusion and Equality ↑ Back to top

                                Covers representation in games media and industry, inclusion of diverse audiences, equality and social mobility in the industry, and the use of games to advocate for social causes.
                                Topics:
                                Non Core

                                • Representation in the Media and Industry
                                  1. Inclusion: identity and identification; inclusion of a broad range of characters for diverse audiences; media representation and its effects; media literacy; content analysis; stereotyping; sexualization
                                  2. Equality: histories and controversies, such as gamergate, quality of life in the industry, professional discourse and conduct in business contexts, pathways to game development careers, social mobility, the experience of developers from different backgrounds and identities, gender, and technology enumerate

                                  Learning Outcomes:
                                  NonCore:

                                  1. Discuss how to reform characters and dialogues in a scene to reduce stereotype threat [Debate]
                                  2. Illustrate how the portrayal of race in a game can influence the risk of social exclusion in the associated online community around the game [Apply]
                                  3. Analyze the role of company hiring policies and advocacy on social mobility [Analyze]
                                  4. Suggest how the portrayal of women in video games influences how players perceive members of those groups [Evaluate]
                                  5. Create a video game that successfully advocates for climate science [Create]

                                  2.17.28. SPD/SPD-SEP/Robotics ↑ Back to top

                                  Topics:
                                  Non Core

                                  • Fairness, transparency, and accountability in robotic algorithms
                                  • Mitigating biases in robot decision-making
                                  • Public safety in shared spaces with robots
                                  • Compliance with data protection laws
                                  • Patient consent and trust in medical robots

                                  Learning Outcomes:
                                  NonCore:

                                  1. Identify instances of bias in robotic algorithms and propose strategies to mitigate them [Analyze]
                                  2. Evaluate and critique robotic systems for ethical and fairness considerations, suggesting improvements where necessary [Evaluate]
                                  3. Analyze real-world examples of biases in robot decision-making and develop strategies to reduce bias in robotic systems [Analyze]
                                  4. Assess the potential risks associated with robots in public spaces and propose safety measures to mitigate those risks [Assess]
                                  5. Evaluate the impact of patient consent and trust on the effectiveness of medical robot deployments in healthcare contexts [Evaluate]

                                  2.17.29. SPD/SPD-SEP/Interactive ↑ Back to top

                                  Topics:
                                  Non Core

                                  • Ethical guidelines when using AI models to assist in journalism and content creation
                                  • Accountability for AI-generated outputs
                                  • Behavior among prompt programmers and AI developers
                                  • Trust with the public when using AI models

                                  Learning Outcomes:
                                  NonCore:

                                  1. Indicate a framework for accountability in AI model deployment, including clear documentation and attribution [Evaluate]
                                  2. Discuss ethical codes of conduct and professional standards relevant to prompt programming and AI development [Debate]
                                  3. Create communication plans and materials to educate the public about AI capabilities, limitations, and ethical safeguards [Create]

                                  Spotted a typo, an outdated course, a broken link, or have a suggestion? Let us know.

                                  Scan to open on your phone