Skip to content
Browse by Grade: JC 2

Singapore · MOE Syllabus Outcomes

JC 2 Computing

A comprehensive pre university course focusing on complex data structures, network architectures, and the ethical implications of emerging technologies. Students master high level programming and systems thinking to solve real world computational problems.

6 units·57 topics·Ages 17-18

01Abstract Data Structures and Algorithms

13 topics·Semester 1

Deep dive into non linear data structures and the optimization of algorithms for memory and speed.

Introduction to Computational Thinking

Students will be introduced to the core concepts of computational thinking: decomposition, pattern recognition, abstraction, and algorithms, as problem-solving tools.

Concept MappingThink-Pair-Share
Linked Lists: Implementation and Complexity Analysis

Students will learn basic ways to organize data using simple lists and tables, understanding how this helps in managing information.

Problem-Based Learning
Stacks and Queues: Implementations and Applications

Students will identify and create simple step-by-step instructions (algorithms) for everyday tasks, understanding the importance of order and precision.

Problem-Based LearningCollaborative Problem-Solving
Binary Trees and Binary Search Trees

Students will explore how 'if-then-else' statements allow programs to make decisions and respond to different conditions.

Think-Pair-ShareSimulation Game
AVL Trees and Height-Balanced Structures

Students will learn about loops (e.g., 'repeat' or 'for' loops) to perform actions multiple times, making programs more efficient.

Simulation GamePeer Teaching
Hash Tables and Collision Resolution Strategies

Students will understand how variables are used to store and retrieve different types of data (numbers, text) in a program.

Collaborative Problem-SolvingSimulation Game
Heaps and Priority Queues

Students will learn to create and use simple functions to group related instructions, making programs more organized and easier to manage.

Problem-Based LearningCollaborative Problem-Solving
Graph Representations and Traversal Algorithms

Students will explore how information like text, images, and numbers are represented digitally using binary code.

Think-Pair-ShareSimulation Game
Shortest Path and Minimum Spanning Tree Algorithms

Students will learn basic debugging techniques to identify and fix errors in their simple programs.

Problem-Based LearningGallery Walk
Algorithm Complexity Analysis: Big-O and Case Analysis

Students will use flowcharts to visually represent the steps and decisions in an algorithm before writing code.

Problem-Based Learning
Sorting Algorithms: Complexity, Optimality, and Trade-offs

Students will explore simple methods for sorting data (e.g., arranging numbers from smallest to largest), understanding why order is useful.

Gallery WalkCollaborative Problem-Solving
Dynamic Programming: Memoization and Tabulation

Students will learn basic search techniques to find specific information within a list or collection of data.

Problem-Based LearningCollaborative Problem-Solving
Algorithm Design Paradigms and Amortised Analysis

Students will understand abstraction as simplifying complex ideas by focusing on essential details and hiding unnecessary ones.

Socratic SeminarProblem-Based Learning

02Advanced Programming Paradigms

12 topics·Semester 1

Transitioning from procedural logic to object oriented programming and functional concepts.

Introduction to Event-Driven Programming

Students will learn how programs respond to user actions (events) like clicks or key presses, a common paradigm in interactive applications.

Creating Interactive User Interfaces

Students will design and implement simple graphical user interfaces (GUIs) with buttons, text boxes, and labels.

Handling User Input

Students will learn how programs can receive and process input from users, such as text entered into a box or selections from a menu.

Introduction to Game Design Principles

Students will explore basic game design elements like rules, objectives, and player interaction in simple digital games.

Creating Simple Animations

Students will use programming to create basic animations, understanding concepts like frames, timing, and movement.

Using Libraries and Modules

Students will learn how to use pre-written code (libraries/modules) to add functionality to their programs without writing everything from scratch.

Recursive Problem Solving

Mastering the divide and conquer approach to solve complex mathematical and computational problems.

Escape RoomCollaborative Problem-Solving
Introduction to Parallelism: Doing Multiple Things at Once

Students will explore the concept of parallelism by making different parts of a program run at the same time, such as multiple sprites moving independently in a game.

Simulation Game
Introduction to Text-Based Programming

Students will transition from block-based to simple text-based programming languages, understanding syntax and basic commands.

Error Handling and Exception Management

Students will learn to implement robust error handling mechanisms using try-catch blocks and custom exceptions.

Case Study AnalysisCollaborative Problem-Solving
File I/O and Data Persistence

Students will learn to read from and write to files, enabling data persistence in their applications.

Project-Based LearningStations Rotation
Introduction to Version Control (Git)

Students will learn the basics of Git for tracking changes, collaborating, and managing code versions.

Experiential LearningPeer Teaching

03Database Systems and Data Modeling

8 topics·Semester 1

Designing robust relational databases and using structured query language to manage large datasets.

Organizing Digital Information

Students will learn about different ways to organize digital information, such as folders, files, and simple spreadsheets, to make it accessible.

Introduction to Spreadsheets for Data Management

Students will use spreadsheets to enter, organize, and perform basic calculations on data, understanding rows, columns, and cells.

Visualizing Data with Charts and Graphs

Students will learn to create simple charts and graphs from spreadsheet data to identify patterns and communicate insights.

Collecting and Storing Data

Students will explore different ways data is collected (e.g., surveys, sensors) and simple methods for storing it digitally.

Case Study Analysis
Data Privacy: Protecting Your Information

Students will learn about the importance of personal data privacy and simple strategies to protect their own information online.

Ethical Use of Data

Students will discuss the ethical implications of collecting and using data, considering fairness, bias, and transparency.

Formal DebateCase Study Analysis
Introduction to Data Security

Students will learn basic concepts of data security, including passwords, backups, and recognizing common threats.

Data Privacy and Security

Examining the methods used to protect sensitive information within database environments.

Case Study AnalysisFlipped Classroom

04Computer Networks and Communication

9 topics·Semester 2

Exploring the protocols and architectures that enable global data exchange and the internet.

Introduction to Computer Networks

Students will learn the basic concepts of computer networks, including network types, topologies, and components.

Concept MappingGallery Walk
How the Internet Works: A Simple Model

Students will explore a simplified model of how the internet connects devices and transmits information, focusing on basic concepts like sending and receiving data.

Network Addressing: IP and MAC Addresses

Students will understand the concepts of IP addresses (IPv4, IPv6) and MAC addresses, and their roles in network communication.

Think-Pair-ShareProblem-Based Learning
Online Safety and Digital Footprint

Students will learn about safe online practices, recognizing online risks, and understanding their digital footprint.

Protecting Information Online: Passwords and Privacy Settings

Students will learn practical strategies for protecting their online accounts and personal information, including creating strong passwords and using privacy settings.

Role Play
Common Network Attacks and Defenses

Students will learn about common cyber threats like phishing, DDoS, and malware, and strategies to mitigate them.

Mock TrialRole Play
Web Technologies and Client-Server Model

Understanding the interaction between browsers and servers through HTTP and DNS.

Peer TeachingConcept Mapping
HTTP and Web Protocols

Students will explore the Hypertext Transfer Protocol (HTTP) and other web protocols, understanding their stateless nature and methods.

Simulation GameFlipped Classroom
Using Cloud Services for Collaboration

Students will explore how cloud services (e.g., online document editors, shared storage) enable collaboration and access to files from anywhere.

05The Impact of Computing on Society

7 topics·Semester 2

Critical analysis of how technology shapes ethics, law, and daily human interaction.

Ethics in Artificial Intelligence

Investigating algorithmic bias and the moral implications of autonomous decision making.

Formal DebateSocratic Seminar
Data Privacy and Protection Laws

Students will examine data privacy regulations like PDPA and GDPR, understanding their impact on data handling.

Case Study AnalysisPhilosophical Chairs
Digital Citizenship and Online Etiquette

Students will learn about responsible and respectful behavior online, including netiquette, cyberbullying prevention, and respecting intellectual property.

Role Play
Intellectual Property in the Digital Age

Students will explore copyright, patents, and trademarks in the context of software and digital content.

Formal DebateExpert Panel
The Future of Work and Automation

Analyzing the shift in the labor market caused by robotic process automation and AI.

World CaféFishbowl Discussion
Digital Divide and Social Equity

Students will investigate the causes and consequences of the digital divide and explore solutions for promoting digital inclusion.

Town Hall MeetingGraffiti Wall
Impact of Social Media and Online Platforms

Students will critically examine the societal impact of social media, including its effects on communication, privacy, and mental health.

Socratic SeminarPhilosophical Chairs

06Computational Thinking Project

8 topics·Semester 2

A capstone unit where students apply the full software development life cycle to solve a local problem.

Introduction to Software Development Life Cycle (SDLC)

Students will learn about the phases of the SDLC, from planning to maintenance, and different development methodologies.

Concept MappingJigsaw
Planning a Digital Project

Students will learn to define the goals and features of a simple digital project, considering who it's for and what it needs to do.

Designing a Simple Solution

Students will create a basic design for their digital project, outlining how different parts will work together and what the user interface will look like.

Building and Iterating a Project

Students will learn to build their project in small steps, testing and improving it along the way based on feedback.

Testing and Refining a Project

Students will practice testing their digital projects to find and fix bugs, ensuring they work as intended and are user-friendly.

User Interface (UI) and User Experience (UX) Design

Students will learn principles of UI/UX design to create intuitive and user-friendly applications.

Project-Based LearningGallery Walk
Sharing and Reflecting on Projects

Students will learn to present their completed digital projects and reflect on their learning process, challenges, and successes.

Project Presentation and Review

Communicating technical solutions to stakeholders and reflecting on the development process.

Gallery WalkExpert Panel