This module introduces the basic concepts of relations and functions, matrices, statistical methods and relevant applications. The main emphasis is to develop students’ ability in solving quantitative problems in computing mathematics, probability and statistics.
This module provides an overview of the various domains of cyber security. It helps to develop an understanding of the importance of cyber security in today’s digital world. It aims to provide an appreciation of cyber security from an end-to-end perspective. It covers fundamental security concepts, tools and techniques in domains such as data, end-user, software, system, network, physical, organization, and digital forensics. It also helps to develop knowledge and skills in identifying common cyber threats and vulnerabilities, and to apply techniques to tackle these issues.
This module introduces students to basic elements and principles of design. Students will practice visual communication and self-branding through aesthetic use of line, shape, form, color, texture, typography, scale, contrast, rhythm and balance. Students will be trained in the usage of digital design tools and application of modern industrial practices to communicate the concepts, designs and solutions.
This module provides an overview of Data Science, its importance in the world of data and how it affects the competitiveness of organizations. Learners will learn about the different areas within Data Science and the core pillars essential to practise in the area. Students will also be introduced to Design Thinking. Indicative topics include Introduction to Data Science, Big Data and Analytical Design Thinking.
This module provides a broad introduction to the field of ICT by exploring the roles, professional practice, ethical expectations and career development paths of IT professionals. Through a guided inculcation of interpersonal and teamwork skills with strong team bonding spirit, the module aims to deepen students’ commitment to the sector that the course prepares them for. In addition, students will be required to begin charting their career path in the ICT industry by considering crucial aspects such as personal preferences and aptitude, job roles and responsibilities, skills needed and further education.
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.
English Language Express aims to give you a better grounding in the English Language and to strengthen the written and oral communications skills that you will need in your academic and professional careers. You will be engaged in writing, reading, listening and speaking activities that will develop your ability to speak and write grammatically, coherently and clearly. You will also hone your reading and listening comprehension skills.
Today’s business organisations depend on information systems in virtually all aspects of their businesses. Corporate databases are set up to hold the voluminous business transactions generated by these information systems. This module introduces students to the underlying concepts of database systems and how to model and design database systems that reflect business requirements. Students will be taught how to analyse data needs, model the relationships amongst the data entities, apply the normalisation process to relations and create the physical database. Skills taught include data modelling technique, transformation of data model to relations, normalisation technique and SQL (Structured Query Language).
This module widens students’ programming knowledge by covering programming concepts through the creation of interactive media applications. Students refine their knowledge of programming by decomposing their programs into classes and objects. Students learn to understand, design and build modern interfaces, moving on to create interactive elements. The focus of this module is to incorporate interaction design and methodology to build interactive applications around it.
This module focuses on the fundamentals and principles of Operating Systems. It explains what general operating systems are and what they do. The module teaches concepts that are applicable to a variety of operating systems such as Windows and Linux. Students will learn about the different number and character representation methods such as binary, hexadecimal and ASCII. Concepts including processes, physical and virtual memory, files and directories, file systems, shell and OS commands will be covered. The module also covers the terminology and technologies in current networking environments and provides a general overview of the field of networking as a basis for subsequent related modules in the course. Topics related to types of networks, network topologies, network technologies and layered protocol architecture will be taught. In addition, the students will also learn about the OSI model as a reference model to understand data networks and commonly used network systems such as Ethernet. The topic of TCP/IP, which forms most of the network architecture will be discussed in detail. An overview of internetworking will also be presented to allow the students to have a global picture of how local area networks and wide area networks are interconnected in the real world.
This module builds upon the knowledge and skills acquired in Programming 1 (PRG1). It aims to provide opportunities for the students to develop medium-scale applications based on the Object-Oriented (OO) approach. A suitable object- oriented high-level programming language will be used for students to continuously apply their problem-solving skills. The main concepts of OO and the implementation of applications using the OO approach will be taught in this module. The module may also cover the concepts of Abstract Data Types (ADTs) and the implementation of some selected ADTs using the OO approach. Suitable sorting and search algorithms and the use of Application Protocol Interface (API) will be introduced when required. Other key topics include the introduction of system design concepts such as the class diagram. Software robustness and correctness, and good programming practices will be emphasised throughout the module. Independent and self-directed learning will also be encouraged.
See Year 3 for elective modules.
This module gives a course-based experience in which students can engage with the local community and industry. This includes participation in community service events or in Service-Learning projects that leverage students’ discipline knowledge and skills to meet identified needs. Through iterative and guided reflection on the service experience, students gain a broader appreciation of their discipline and an enhanced sense of personal voice, empathy and civic responsibility. Industry talks and seminars are organised to keep students up-to-date with emerging trends and develop their interpersonal, team and networking skills with the community and industry.
This module leverages the skills acquired in Object-Oriented Programming to introduce software design and requirements analysis, so that students experience the full cycle of software development. An overview of various Software Development Life Cycles as well as an in-depth look at software development methodologies will be provided. In particular, students will learn about requirements gathering techniques and the primary artefacts of system design. They will be able to specify, design and document simple software systems using appropriate modelling tools.
This module provides students with the knowledge and skills needed to develop web applications and web Application Protocol Interfaces (API). Students will be introduced to an integrated development environment that will enable them to design and develop web applications and web API over the Internet. They will learn how to make use of web development technologies such as ASP.NET framework, jQuery for rich internet applications, data interchange formats such as JSON AJAX, source code version control systems such as GIT or SVN to develop effective web applications, and web API targeting both mobile web and unified web experience. This module aims to provide students with a good understanding of the web development architecture and service layer as well as the various issues related to Web Application Development.
This module provides a stepping-stone for students in their IT career. They will gain insights into the infocomm industry and keep abreast of the latest skill sets required in their IT career path. They will also have the opportunity to be exposed to various institutes of higher learning to further hone their skill sets.
This module provides students with the opportunity to apply the knowledge and skills gained from the various modules in the course to date and explore IT topics in which they have a personal interest. Students may choose to undertake a real-life IT project, a competition-based project or a research and development project. Through the project, students have opportunities to work in teams, work on real-world problems, and build up their personal portfolios. The chosen project should ideally include problem definition, requirements gathering, analysis and design, development and testing and the subsequent deliverable of artefacts that are suitable for their personal portfolios.
This module trains students to view information systems from the perspective of business needs and participate in the design of IT solutions to solve the identified business problems. Students will be exposed to work processes such as Design Thinking that facilitates problem identification to prototyping. This module also allows students to work in teams to experience a real-life application development cycle. Elements of project management, automated testing and source version controls will be introduced in relevant phases of the application development cycle. Students will be exposed to current development methodology such as Agile.
The spreadsheet is an indispensable tool for professionals, especially in the banking and finance industry, to solve business problems and make better informed decisions. This module will introduce students to the use of spreadsheets as a reporting and modelling tool. Through hands-on practical sessions in class using a commercial spreadsheet system such as Microsoft Excel, students will explore various spreadsheet functions and simple macros used for analysing, formatting and presenting data.
This module provides students with the opportunity to apply the knowledge and skills gained to develop an IT solution to solve a practical problem. Students may undertake an in-house industry-driven project, a Technopreneurship Enterprise project or a real-life IT project in a local or overseas organisation. These projects may include problem definition, requirements analysis, design, development and testing, delivery and presentation of the solution. Through the project, students will learn to appreciate the finer points of project planning and control issues relating to IT project development.
In this semester, students will choose two elective modules or a Capstone Project, along with two other electives offered by the school that are aligned with their interest and passion in addition to the IS Module.
In this module, students are required to complete a substantial project that is the culmination of their education in the School of InfoComm Technology. The project can be a real-world problem proposed by a client, or it can be proposed by the student in pursuit of their personal interests.
This introductory module covers the fundamentals of elements of Big Data: volume, velocity and variety. Students will learn various technologies and tools used to create a big data ecosystem which is able to handle storing, indexing & search. This module also covers the whole technology stack of Big Data: infrastructure, data management and analytics. Tools such as Hadoop, HDFS, and MapReduce will be taught in this module.
This module covers the techniques and tools for creating effective visualisations based on principles from graphic design, perceptual psychology and cognitive science. Students will learn how to process large volumes of data to create interactive visualisations for ease of exploration. Topics that are covered include visualising patterns, proportions, relationships, spatial and temporal elements, and multi-dimensional visualisations.
This module introduces the fundamentals of Deep Learning and its applications and provides students with essential context and background knowledge around Artificial Intelligence and its subset, Deep Learning. Students will learn about relevant models such as Neural Networks and experience the practical applications of these models in areas such as computer vision and natural-language processing. These models will be implemented using leading softwares and associated libraries.
Descriptive Analytics refers to a discipline used by many companies to analyse their data for improved decision making. Descriptive Analytics describes what happened in the past. It can include various forms of reports, queries and dashboards. This module aims to teach students the descriptive analytics lifecycle. Students will learn to ask the appropriate analytics questions, identify and aggregate data sources and create data models. They will apply techniques to analyse the data captured in these models. They will also create appropriate visualisation components to gain insights from the data. These visualisation components will be synthesised into dashboards that add value and can be readily consumed by business users.
This module introduces the fundamentals of Machine Learning (ML) and its applications. Students will be provided the essential context and background knowledge of Machine Learning. Students will gain exposure to both supervised and unsupervised learning models such as Linear & Logistic Regression, Decision Tree, K-means Clustering and more. Using leading software and associated libraries, learners will be able to implement and train Machine Learning models to address business challenges.
This module aims to introduce students to the statistical concepts and methods that are used to analyse and interpret business or financial data. Students will be equipped with the technical know-how to formulate statistical models and make informed decisions by evaluating these models using software tools. Topics covered include frequency distribution, probability distribution, quantitative modelling, correlation analysis and linear regression analysis.
This module covers analysis, design, and implementation of polyglot persistence for modern software applications. Latest data storage methods and techniques, both relational and non-relational NoSQL databases, such as Key-Value, Document, Column-Oriented, Graph, Blob, and Queue storages will also be discussed. Students will also be exposed to de-normalisation, transactions, concurrency control, and database recovery techniques. The module also discusses Stored Procedures and how to migrate and deploy an on-premises database to a cloud database. In addition, this module will introduce parallel and distributed database technologies which include the concepts, structures, and the design objectives of distributed databases. Factors relating to data partitioning and placement across regions will also be discussed. In order to facilitate students in understanding the distributed database design, data placement and polyglot persistence, their implementation will be introduced through hands-on practical activities using products such as Microsoft Azure. This module will further explore data security, laws and regulations governing data access, usage, storage and transmission.
This module gives insight into the key concepts and technologies of cloud computing which include cloud characteristics, service models (SaaS, PaaS, and IaaS), deployment models (Public cloud, Private cloud, Community cloud, and Hybrid cloud), and the features of cloud computing technologies. It also covers the cloud computing architecture, emerging trends and issues such as clouds for mobile applications, cloud portability and interoperability, scalability, manageability, and service delivery in terms of design and implementation issues. The module discusses the benefits and challenges of cloud computing, standards of cloud computing service delivery, and Service Level Agreement (SLAs) for cloud services. Hands-on activities are included to expose students to various cloud computing services offered by major cloud computing providers such as Amazon Web Services (AWS), Google App Engine (GAE), and Microsoft Windows Azure.
This module covers the analysis of business and technical requirements of a cloud-based system, implementation of a cloud strategy with appropriate programming tools, deployment, and testing and debugging of the cloud application. Analysis of business requirements to determine how they can be mapped into a cloud environment is discussed in this module. The module extends its discussion to cloud computing design patterns, best practices, cloud migration issues and considerations. Students are exposed to a cloud computing platform such as Windows Azure to get extensive hands-on practice to build, migrate, host and scale web applications and services through the vendor’s data centres.
This module aims to teach students the concepts and knowledge related to securing web servers and cloud models. It covers topics such as how a web server is installed and optimised securely, the various methods of attacking web servers and the appropriate countermeasures. The specific tools used to test for vulnerabilities in web servers, their applications and databases will also be covered. Cloud security topics will cover introduction to the various delivery models of cloud computing ranging from Software as a Service (Saas) to Infrastructure as a Service (IaaS). Each of these delivery models presents an entirely separate set of security conditions to consider. An overview of security issues within each of these models will be covered with in-depth discussions of risks to consider.
This module introduces the foundations of virtualisation, creating and managing virtual machines for cost efficiency and agility in delivering IT services. Hands-on sessions are included to give students practical experience in virtualisation tools such as Windows Server and VMWare. It will also explore the impact of virtualisation technologies on cloud database development. The module will then proceed to provide an understanding of basic data centre design principles, physical infrastructure, and a framework for managing a data centre using appropriate tools. Tools and methods for usage metering and billing in a cloud environment are also covered in this module.
Students will be introduced to soft skills in understanding customer biases and concerns, building rapport, handling objections, identifying informal and formal decision makers, selling functions/features/ benefits, negotiating and closing sales techniques. They will also learn about reference selling and proofs of concept as well as pick up presentation and communication skills. The module offers opportunities to role play and develop value propositions in sales calls within the context of ICT.
With SMAC (Social, Mobility, Analytics and Cloud) technologies resulting in a new competitive environment, the control has shifted from the seller to buyer. This module provides students with the knowledge and understanding of Customer Experience Management (CXM) as a business strategy in this new environment. The buyer’s experience is not limited to a single transaction but includes the sum of all experiences across all touch points and channels between a buyer and a seller over the duration of their relationship. This strategy aims to achieve a sustainable competitive advantage to help sellers manage the buyer’s experience in a collaborative and personalised manner. Students will have an opportunity to gain hands-on experience with customer management systems used by sellers that collect and create customer data, segment that data into manageable data sets, make sense of the data and make it available for timely delivery. This allows companies to deliver consistent customer experiences that delight customers and/or achieve other organisational goals.
This module aims to train students to improve efficiency of organisations by integrating the different types of transactions from different business processes into one common database. The data can be extracted easily for analysis and decision making. ERP systems have the capability to integrate the data and processes of an organisation with external business partners such as customers, vendors and banks which improved collaborations and workflows. In this module, students will have hands-on exposure to the world market leading ERP software, for example SAP, to learn and demonstrate how basic business processes are represented and integrated in a real-world business setting.
This module will introduce students to the concept of market segmentation and the development of sales and marketing strategies for each segment. They will acquire an understanding of industry and customer segmentation from corporate, small and medium businesses to consumers. They will also delve into the different go-to-market strategies and selling techniques required in the context of ICT (such as consultative selling, major account selling and management, territory selling and management, partner management and consumer marketing.
Students are exposed to systems and technologies employed by financial organisations, including robotic process automation (RPA).
This module introduces the various approaches for injecting intelligence into games. Topics covered include AI architecture (e.g. rule-based systems, finite state machines), movement, pathfinding and planning (both strategic and tactical). AI-related game design issues such as realistic non-player character behaviour and game difficulty will also be taught.
This module introduces game interactivity and the various game interaction devices to the students. Topics include current and experimental game devices, console usability, player profiling and psychology, measuring playability and testing techniques. Students will be required to research and develop a game prototype demonstrating their understanding of game interactivity.
This module provides an overview of the game development process and introduces game design. Key concepts of game design such as storytelling, game mechanics and level design will be covered. Students will have the opportunity to design and prototype a game using an industry standard game creation system.
This module presents fundamental concepts of game implementation and architecture, such as the game loop, game- system component separation, game state manager, input/output handling and frame rate control. Basic concepts in computer graphics, such as collision detection and back buffering, will also be introduced. Consequently, students will have the opportunity to develop a game prototype without the use of a game engine.
This module provides an in-depth examination of the various mathematical concepts that are relevant to games programming. Topics covered may include vector geometry (e.g. vector arithmetic, dot product, cross product), linear transformations (e.g. rotations, reflections), matrices, trigonometry (e.g. trajectory) and physics (e.g. acceleration/deceleration, gravity).
This module aims to provide students with the knowledge and skills to analyse, design, implement, test and document programmes involving data structures. It teaches basic data structures and algorithms within the conceptual framework of abstract data types. The emphasis is on using the class feature of an Object-oriented language platform to give the concrete implementation of various abstract data types.
This module aims to provide students with the knowledge and skills to implement DevOps. The focus is to teach the set of software development practices that automates the processes between software development and IT operations. Building upon their knowledge on agile methodology and software development, students will be taught how to leverage the concepts of continuous integration and continuous delivery (CI/CD) to deliver value faster. The module will provide hands-on practice for students to experience the CI/CD pipeline with the use of popular open-source tools.
This module aims to provide students with the technical skills as well as an appreciation of the business perspective on electronic commerce (eCommerce). The focus will be on building a Business-to Consumer (B2C) eCommerce website. Students will learn about the building blocks and enabling technologies for building eCommerce applications, the processes of eCommerce transactions and business-related eCommerce issues. The module will also provide hands-on experiences for students to build a simple B2C eCommerce website on their own.
This module focuses on the design and development of applications for mobile devices like hand phones, personal digital assistants (PDAs) and handheld computers. Due to the nature of these handheld devices, issues such as memory storage, user interface and data input methods require more careful consideration. At the end of this module, students will be able to develop applications that can run on mobile devices and interact wirelessly with server-side programmes.
This module builds upon the skills and knowledge that students have acquired from the Mobile Applications Development module. It will focus on the development of advanced applications and emerging mobile operating systems. For example, students can develop applications for industries such as entertainment, games and healthcare. They will learn to develop applications for emerging operating systems such as the iPhone OS and Android.
This module covers the design artefacts and analysis techniques required to model, document and design complex software systems. Students will learn how to model system states and apply design patterns when developing software. Students will also learn design principles for maintainable and extensible software, as well as appropriate testing and deployment methodologies in relation to the best practices that the industry recommends. This module leverages the core analysis and design skills acquired in Object Oriented Analysis & Design (OOAD) to introduce complex design artefacts and relevant methodologies, enabling students to appreciate the design, deployment and management of complex software systems.
This module gives an insight into the process of forensics investigation. It covers the various types of computer related crimes, techniques of gathering electronic evidence, and the recovery of deleted, damaged or encrypted data. Students will also make use of advanced forensic tools to perform forensic investigation. Besides the tools and techniques of investigation, students will be taught sound forensic investigation methodology and the proper handling of evidence. The module will also cover aspects of law and policies applicable to digital forensics.
The revolution in computing and communications has spurred the rapid advancement of IT in modern societies, and there is little to suggest that its proliferation will slow down in the future. In view of this trend, this module is designed to help students keep abreast of the latest IT developments to stay current and relevant in the fast-moving industry. To achieve this objective, the syllabus for this module will be guided by technology research and feedback from industry partners, and both seminar-style and hands-on workshop teaching approaches may be adopted, depending on the nature of the topic covered.
This module covers basic Local Area Network (LAN) and Wide Area Network (WAN) infrastructures including physical cabling systems used for an enterprise network, and how hardware platforms such as switches, routers and servers are deployed in typical networks. The module also introduces students to major networking protocols such as Ethernet, RIP, PPP, OSPF and HDLC, network operating systems and applications that run on LANs/WANs. Students will learn to configure switches and routers and will be taught the techniques to configure and troubleshoot LANs and WANs.
The rapid emergence of new infocomm technologies is empowering new capabilities as well as opportunities for creativity and entrepreneurship. This module focuses on the processes and mechanisms by which new ideas and inventions can be commercialised in the market. Students will examine case studies of real-world examples of technopreneurship. They will also learn about the issues and challenges of transforming a technological innovation into a successful product or service in the marketplace.
This module focuses on the principles and techniques for designing good user experience in software applications and other products such as ATMs, Kiosks, etc. Students will learn to apply business requirement gathering techniques as well as the analysis, design and validation phases of the user experience design life cycle, with emphasis on building empathy with users. They learn to communicate designs through deliverables such as personas, sitemaps and wireframes. Practical hands-on design activities will be guided by concepts such as information architecture, content strategy, formulation of user needs, and the application of design principles in interface, navigation, interaction and usability. The student will apply these concepts and techniques to design and prototype a web/mobile application, and to present and critique design decisions.