The Infocomm Studies Programme (2016 Onwards)

Secondary 1 and 2

The first two years, will require all students to read Infocomm Studies as a compulsory subject as IT is essential and integral for a total education. The emphasis of this initial two years will focus on equipping students with core transferable IT skills that he could use within and across all subjects and levels.

The core curriculum focuses on the following topics:

Secondary 1 Curriculum
The Secondary 1 curriculum aims to provide a broad based education that lays the foundation for the second year of specialization. Each module is compulsory and it will be taught over a term.

The curriculum will give students the exposure to the following areas:
  • Programming (Mr Tan Choo Kee)
  • Web Publishing (Mr Yong Jong Shyan)
  • Multimedia Design (Mr Kent Cheong)

Module 1: Programming
An introductory module to the basics of programming. The language taught will be in C++.

By the end of this course students should be able to:
  1. understand the rule and syntax of C++ programming language
  2. understand the concepts of variables, data types ( integer, float, char & string), array and function.
  3. code source program to solve simple problems

Module 2: Web Publishing
This module will enable students to create functional web pages and publish it onto the Internet.

By the end of this course students should be able to:
  1. how to create HTML files
  2. apply CSS to HTML
  3. publish webpage via FTP

Module 3: Multimedia Programming
This module will teach students the basics of game creation, graphics manipulation and animation creation. It focuses on the development of fundamental programming concepts such as using blocks programming.

By the end of this course students should be able to:
  1. explore the use of Scratch software to understand how algorithms / instructions can be given to a computer (known as a script or program) to perform tasks;
  2. design a sprite and background (using Photoshop/Flash) and create an interactive animation / game / art / story via the script / program.

Secondary 2 Curriculum (2018 Onwards)
The Secondary 2 curriculum allows students to choose an area of knowledge to specialize. In each of the modules, students are given 4 terms to explore deeper and expand their knowledge in the following areas:

  • Advanced problem solving in C++ (Mr Koh Kim Tian)
  • Web-publishing with CSS, client-side & server-side scripting (Mr Yong Jong Shyan)
  • Mobile Apps Development/ Robotics (Mr Kent Cheong)
  • The Art of programming in Python (Mr Tan Choo Kee)

Advanced problem solving in C++
This course is an extension of the programming module in Secondary 1. Students will learn data structures and programming techniques to solve challenging problems.

By the end of this course students should be able to
  • estimate the complexity of programming algorithms in big O notations
  • use recursion programming technique to solve difficult program problems
  • apply sorting, searching and hashing functions to solve programming problems
  • use data structures such as list, vector, stack, queue and map to manipulate data in programming
  • understand and code programs to solve problems by using following methods: brute force, greedy, flood fill, depth first search, breadth first search and dynamic programming

Web-publishing with CSS, client-side & server-side scripting
This course is an extension of the Secondary 1 Web publishing module. Beyond the creation of simple web pages, students will be taught scripting languages to create dynamic web pages.

By the end of this course students should be able to
  • apply CSS2 in page layout
  • create simple online forms to capture data
  • incorporate simple Javascript and jQuery functions
  • include dynamic contents from Google APIs

Basic Android Apps Development and Digital Maker Programme with Micro:bit
By the end of this course, students should be able to
  • create their own Android mobile applications with App Inventor, a cloud-based tool builds apps right in the web browser.
  • use the micro:bit microcontroller board innovatively and learn the programming technique using MakeCode block-based coding environment.

Course Content
Basic Android Apps Development
  • Introduction
  • Installing App Inventor
  • Understanding the User Interface
  • Understanding Button, Image, Label, Sound Components with App 1 - Hello Purr
  • Understanding Screen Arrangements with App 2 - Android Zoo
  • Understanding Phone Call, Activity Starter Component, Multiple Screens with App 3 - Business Card App
  • Understanding Canvas, Animated Ball, Player Components with App 4 - Virtual Campus Tour
  • Understanding ListPicker Component with App 5 - Event / Conference App
  • Understanding Location Sensor, TinyDB and GPS capabilities with App 6 - GPS Locator App
  • Understanding Fusion Tables and Database Storage with Final App Project
  • Introduction to Digital Making and Micro:bit
  • Hands-on with micro:Bit: LED animation (LED display), Scissors, Paper, Stone Game (accelerometer), Digital Compass (compass)
  • Extending the micro:Bit with a breakout board: Step Counter (OLED), Making Music (buzzer), Timing Gates (capacitive touching), Pulsating Display (potentiometer), Inchworm (servo)

The Art of Programming in Python
This is programming course in which students will be taught to program in Python. Students will learn how to think algorithmically and solve problems efficiently through computerized solutions. Topics include abstraction, algorithms. Designed for students with basic programming experience.

By the end of this course students should be able to
  • Discover python syntax
  • Learn core python structures and flow control
  • Create and run python functions
  • Practice with python execution environment
  • Explore the python library
  • Handle the file-system with python scripts
  • Understand handling of errors and exceptions
  • Explore test and debug python best practices
  • Solve problems that have origins in a variety of disciplines