Introduction to Computational Thinking and Programming
Foundations of problem-solving and programming
About the Module
Computational thinking is a systematic approach to analysing problems and designing solutions that computers can carry out.
This module introduces the principles of computational thinking and programming, providing a foundation for learners with little or no prior programming experience.
Through Python programming, learners will explore how to break down problems, develop algorithms and translate solutions into computer programs. They will also be introduced to working with data and visualisation tools.
What You Will Learn
By the end of this module, you should be able to:
- Analyse a problem, then design and express its solution in such a way that a computer can effectively carry it out.
- Implement problem solutions as programs using basic control structures (sequence, conditional, iterative), functions and basic data types.
- Handle data in Pandas, and graphics in Matplotlib.
- Apply CT concepts to case studies and problem-based scenarios through hands-on practice of the CT processes.
Module Content
The module covers seven topics in computational thinking and programming.
Concepts of Computational Thinking
Solving complex problems using computational thinking processes – abstraction, decomposition, pattern recognition and algorithms.
Basic Program Structure
Pseudo-code and flowcharts; concepts of data types, variables; assignment, input/output.
Branching and Repetition
Comparison, branching using conditional statements (if, else, elif), repetition using loops (while, for, range).
Data Containers
Understanding and usage of strings, lists, dictionaries, tuples and sets in Python.
Functions and Modules
Using functions, methods and modules to modularise program code.
Exploring Data with Pandas
DataFrames, CSV and JSON files, data manipulation in DataFrames, data visualisation in Matplotlib and Seaborn.
Introduction to Object-Oriented Programming
Concepts of classes, attributes, objects and inheritance.
Upcoming Intake
March – June 2027
Registration deadlines vary by module. Review the consultation and assessment schedules before registering for your modules.
Introduction to Computational Thinking and Programming
Register by
21 Feb 2027
Online consultations
2 Mar – 6 Apr 2027
Tuesdays, 6.30 – 8.30pm
On-site assessment
10 Apr 2027
10.00 – 11.00am
Other Bridging Modules
Linear Algebra and Calculus for Computing
Register by
21 Feb 2027
Online consultations
4 Mar – 8 Apr 2027
Thursdays, 6.30 – 8.30pm
On-site assessment
10 Apr 2027
1.00 – 2.00pm
Discrete Mathematics for Computing
Register by
13 Mar 2027
Online consultations
13 Apr – 18 May 2027
Tuesdays, 6.30 – 8.30pm
On-site assessment
22 May 2027
10.00 – 11.00am
Probability and Statistics for Computing
Register by
13 Mar 2027
Online consultations
15 Apr – 19 May 2027
Thursdays, 6.30 – 8.30pm
On-site assessment
22 May 2027
1.00 – 2.00pm
Introduction to Computer Systems
Register by
25 Apr 2027
Online consultations
25 May – 24 Jun 2027
Tuesdays*, 6.30 – 8.30pm
*CT1002 includes an additional Thursday consultation in week 5.
On-site assessment
26 Jun 2027
10.00 – 11.00am
Accessing Your Online Learning Materials
Once enrolled, you can access your module's online learning materials through NTULearn.
Please refer to your enrolment instructions for details on accessing your course materials.
Fees and Funding
Each Bridging Module costs S$250, bringing the total fee for all five modules to S$1,250.
Eligible learners may use their SkillsFuture Credit towards the module fees.
For more information on eligibility and usage, visit the MySkillsFuture portal.
If you need to retake a module you have not passed, the standard module fee will apply to each retake.
Registration and Technical Support
Before you register
You will need to create a learner account in NTU's Training Management System (TMS) using your personal email address before registering for a Bridging Module.
For guidance on account creation and registration, refer to the Learner User Guide.
50 Nanyang Avenue, Singapore 639798