YEAR 1 MODULES
This module introduces the fundamentals of programming and how to develop programs using appropriate problem-solving techniques in a modular style. In this practice-oriented module, students are taught how to apply problem-solving skills using a top-down structured programming methodology and given ample practice in translating solutions into computer programs, then test and debug the programs.Topics include data types, variables, expressions, statements, selection structures, loops, simple computation and algorithms, and the use of libraries. Students will also practise the use of pseudocodes, best practices of programming, debugging techniques with the help of tools, development of test cases, and suitable program documentation. In addition, they will study various areas where application software plays a prominent part in helping organisations solve problems. Students will be given ample opportunity for independent and self-directed learning.
This module builds upon the knowledge and skillsacquired in Programming 1 (PRG1). It aims to provideopportunities for the students to develop mediumscaleapplications based on the Object-Oriented(OO) approach. A suitable object-oriented high-levelprogramming language will be used for students tocontinuously apply their problem-solving skills. Themain concepts of OO and the implementation ofapplications using the OO approach will be taught inthis module. The module may also cover the conceptsof Abstract Data Types (ADTs) and the implementationof some selected ADTs using the OO approach.Suitable sorting and search algorithms and the use ofApplication Protocol Interface (API) will be introducedwhen required. Other key topics include the introductionof system design concepts such as the class diagram.Software robustness and correctness, and goodprogramming practices will be emphasised throughoutthe module. Independent and self-directed learning willalso be encouraged.
YEAR 2 MODULES
This module trains students in reverse engineeringmalicious software using system and networkmonitoring tools, a disassembler, and a debugger. Themodule focuses on teaching students the essentialassembly language concepts, along with the useof an assembly language emulator, a disassembler,and a debugger. These assembly language conceptsand tools are needed to examine malicious codeand understand its execution flow, identify commonassembly-level patterns in malicious code, identifysuspicious API calls, and to bypass defensivemechanisms of the malware.
This module provides students with the knowledgeof the secure software development lifecycle. It trainsstudents to incorporate security throughout theentire process of software development. With theknowledge gained from this module, students wouldbe able to design, code, test and deploy software witha security mindset. The module begins with trainingstudents on how to identify, gather and record securityrequirements for a software. Students will learn securesoftware design, where various security frameworks,considerations and methodologies are taught. Studentswill understand how software vulnerabilities can beexploited and how to address the risks. Students aretrained to write secure code that is resilient againstcritical web application attacks. Finally, students aretrained in secure software testing and how to securelydeploy software.
This module gives a course-based experience inwhich students can engage with the local communityand industry. This includes participation in communityservice events or in Service-Learning projects thatleverage students’ discipline knowledge and skills tomeet identified needs. Through iterative and guidedreflection on the service experience, students gaina broader appreciation of their discipline and anenhanced sense of personal voice, empathy and civicresponsibility. Industry talks and seminars are organisedto keep students up-to-date on emerging trends so asto build up their interpersonal, team and networkingskills with the community and industry.
This module provides a thorough understanding ofmajor web application vulnerabilities and their potentialimpact on people and organisations. The moduleteaches a repeatable web pen-testing methodology,which includes reconnaissance, mapping, discovery,and exploitation of web application vulnerabilitiesand flaws. Students are taught how to write a webapplication pen-test report. The module teachesstudents the pen-tester’s perspective of webapplications. It trains students on building a profile ofthe machines that host the target web application andcome up with a map of the web application’s pages andfeatures. Students are also trained in web applicationattack tools and interception proxies that are used todiscover and exploit key web application vulnerabilities.
YEAR 3 MODULES
In this module, students are required to completea substantial project that is the culmination of theireducation in the School of InfoComm Technology. Theproject can be a real-world problem proposed by aclient, or it can be proposed by students in pursuit oftheir personal interests.
This module provides a stepping stone to the studentsin their IT career. Students are given an insight into theinfocomm industries and are kept updated with thelatest skill sets required in their IT career path. They alsohave the opportunity to be exposed to various institutesof higher learning to further acquire their skill sets.