Master of Technology Basic Elective Courses

MTech EBAC students
Choose 4 courses from the Business Analytics Techniques group, and any 4 other courses. For further information on the Enterprise Business Analytics courses contact Dr. Rita Chakravarti

MTech KE students
Choose 4 courses from the Knowledge Engineering Techniques group, and any 4 other courses. For further information on the Knowledge Engineering courses contact Dr. Barry Adrian Shepherd

MTech SE students
Choose any 8 courses. For further information on the Software Engineering courses contact Mrs. Swarnalatha Ashok

Basic Elective Courses

Advanced IT Management

SG5207 Managing IT Outsourcing & Subcontracting
This elective discusses in-depth the management of IT Outsourcing (ITO) projects, which is an important PM skillset for any IT professional. 
We will explore the ITO in a lifecycle fashion: from the strategic rationale for ITO, evaluating and selecting RFP proposals, selecting the service provider to work with, to managing ITO contracts and service providers. 
This is an interactive course involving students to analyse cases, role play and work in teams, as well as have the self-discipline to e-learn on IVLE.
Pre-requisites: This elective will benefit students who have some IT project and outsourcing management experience in a work environment

SG5211 Business Process Management
This course applies the principles of engineering and management to business processes with the aim of enhancing customer value. Business Process Management (BPM) involves analyzing, automating, deploying, monitoring and maintaining business processes on a continuous basis. Focusing on the criticality of business processes, the course uses BPM as an approach to reduce the gap between business intent and execution. By taking a simulation based approach the course teaches techniques to analyze, design, deploy and digitize business processes. This is further enriched by coverage of industry specific process frameworks. Finally, the role of business processes in the overall services architecture is covered to provide a holistic perspective.
Pre-requisites: Nil

SG5231 Agile Software Project Management
Agile movement largely been driven by the need to adapt to today’s fast-changing and customer-driven environment. Agile is a mind-set, a culture, and a way of thinking, and responding to change in the organisations. It is an approach which adopts tools and techniques that assist in developing better products. It does this by meeting customer needs through the early and continuous delivery of valuable solutions.

Agile is not just a domain of software development, Agile is now spreading to every kind of organisation and every aspect of work.

This course will introduce agile values and principles in detail. Students will be able to understand agile values by practicing agile in the class. Not only it teaches theory but also allows students to experiment to believe the core values necessary for successful teams and organisations. Students will be exposed to different agile methods and techniques
Pre-requisites: Nil

SG5232 Advanced Software Estimation

This course aims to provide an in-depth understanding of software estimation concepts. The estimation topics introduced in the MTech SE core curriculum are related to only one scientific method (Function Point Counting). This elective helps the students to advance their knowledge by providing an in-depth coverage of multiple scientific and heuristic estimation models. The course covers in detail several estimation concepts and techniques suitable for a wide variety of projects. It addresses not only the estimation techniques but also the management aspects that are important for estimators and managers such as cost estimation, budget management, and the psychology of estimation. This course aims to provide an in-depth understanding of software estimation concepts. The estimation topics introduced in the MTech SE core curriculum are related to only one scientific method (Function Point Counting). This elective helps the students to advance their knowledge by providing an in-depth coverage of multiple scientific and heuristic estimation models. The course covers in detail several estimation concepts and techniques suitable for a wide variety of projects. It addresses not only the estimation techniques but also the management aspects that are important for estimators and managers such as cost estimation, budget management, and the psychology of estimation.
Pre-requisites: Nil

Business Analytics Techniques

EB5201 Campaign Management
In this module students will learn how to successfully manage, execute and track marketing campaigns, this will include how to measure and analyse campaign results in order to fine-tune and optimise future campaigns. Students will learn the various ecosystems and channels within which successful digital campaigns are conducted and how to put marketing activities and offers together to ensure an integrated marketing communications plan
Pre-requisites: Business Analytics Fundamentals

EB5203 Customer Relationship Management
This course introduces Customer Relationship Management (CRM) theory, concepts, and techniques to derive insights into actionable business strategy in customer acquisition, retention and churn management. 
Students will learn how to make better decisions using customer segmentation and profiling, sales data analysis, and customer lifetime value analysis.
Pre-requisites: Business Analytics Fundamentals

EB5202 Web Analytics
in this module students will learn how Web Analytics and Web Mining can be used to discover valuable information from the ways in which users interact with the web and from the structure of the web. They will learn how Web Analytics can be used to investigate website performance, optimize website design and improve customer experience.  They will also learn how graph and network mining and link analysis techniques can be used to discover insights by mining the linkages between web sites and the interactions between web users. Other related application areas for network mining will also be examined with practical case-studies.
Pre-requisites: Business Analytics Fundamentals

EB5204 New Media and Sentiment Mining
This course introduces the concepts and techniques for opinion extraction from unstructured text and the classification of sentiment polarity. Students will learn how to find textual sources containing expressions of opinion/sentiment, and use computerised tools to perform various sentiment analysis tasks, including creating an aggregated view of sentiment information, finding important factors like product features and topics that are associated with positive/negative sentiments, discovering points of consensus and points of disagreement, identifying communities of opinion holders, etc.
Pre-requisites: Business Analytics Fundamentals, KE5205 Text Mining, Python Programming

EB5206 Supply Chain Analytics
Effective logistics and supply chain management requires strategic, quantitative and tactical that can be harnessed through data analytics and intelligent methods. 
Supply chain analytics leverage on descriptive, predictive and prescriptive analytics for optimisation and better decision making with emphasis on business processes and enterprise resources integration - information, inventory, transportation, warehouse, capital and human resources. Besides, supply chain analytics beyond logistics focuses on the demand oriented business solution in various domains. Some of the key emerging trends and technologies for supply chain analytics are big data analytics with Internet-of-Things (IoT) and cognitive computing. 
Pre-requisites: Business Analytics Fundamentals, Optimisation Techniques & Tools

EB5207 Service Analytics
In this module students will have a practical understanding of analytics and its application in the service industry. The topics covered will include improving service quality and customer satisfaction and performing service innovation. 
The service sectors examined will include hospitality and tourism, public transport, healthcare, and so forth. 
Pre-requisites: Business Analytics Fundamentals

EB5208 Geospatial Analytics
Globally, there are strong initiatives which aim to harness data and analytics to build solutions with smart features for operational intelligence – particularly geospatial intelligence. Geospatial analytics is capable to detect expected and discover unexpected insights - spatial relationship, and transform the complex relationship into understandable visual map and actionable decision. The three important components for geospatial analytics are geospatial data, geospatial analysis, and geovisualisation. 
Geospatial analytics is implemented in various applications by engaging relevant geo-enabled tools, techniques and technologies - to perform data management for unlocking values in statistical, geospatial and temporal data; to execute geospatial analytics for discovering hidden patterns; and to implement geospatial visualisation for presenting spatial trends and patterns. They are carried out using emerging trends and cutting edge technologies in geospatial information system and technology domain. 
Pre-requisites: Business Analytics Fundamentals

EB5205 Clinical Health Analytics
This module aims to train students to become versatile bio-health analysts as future health transformation leaders. The first part of the module introduces the field of biosignals and imaging analytics, while the second part covers analytics for health analysts. Course participants will get a chance to do their term projects that will be hosted by Duke-NUS and i2R.
Pre-requisites: Business Analytics Fundamentals

IT Infrastructure Technology

SG4205 Information Systems Security
As organizations embrace the digital world, so too have cyber criminals.  Cyber systems are under constant cyberattacks. Organizations need to continually improve their cyber defences to remain resilient against these cyber onslaughts. This course provides insights into the building blocks that can be used to build your cyber defences.
Pre-requisites: Nil

SG4211 Cloud Computing
Cloud Computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort.  However, before one can decide on a cloud service model, he or she needs to determine what would be the ideal fit for the given business and computing requirements in the considered context.

This course would help the decision makers cut through all the haze and architect the cloud service effectively. The course concentrates on teaching the participants how to make the most critical technology decisions faced: selecting the right cloud service model(s) based on the combination of business and technology requirements in a vendor agnostic manner.
Pre-requisites: The participants are expected to possess knowledge of software applications, programming languages, application design, application architecture and technology. Participants must also possess project management skills, IT architecture and understanding of various technologies used in building enterprise scale systems. 

SG5233 Internet of Things Technology
The The lowered cost of peripherals and System on a Chip (SOC) computer boards over recent years has fuelled the utilisation and increased return on investment (ROI) of Internet of Things (IoT) devices and related mobile enabled applications. 
This course is geared to meet the increasing interest in building applications using such devices and iDA’s Smart Nation vision for Singapore. The aim of this course is to teach the embedding of sensors and actuators into enterprise systems via SOC boards such as the Raspberry PI.
Pre-requisites: Knowledge and use of the Python programming language

Knowledge Engineering Techniques

KE5206 Computational Intelligence I
The objectives of the course are to introduce computational intelligence techniques with a focus on Neural Networks and Support Vector Machines (SVM), and explore how these techniques can be used to construct intelligent systems to solve real-world problems such as classification, clustering and prediction. Topics covered in this course include concepts of neural networks, neural networks with supervised and unsupervised learning, neural network modelling, concepts of SVM learning, SVM for linear and non-linear classification and an overview of computational intelligence. There are hands-on exercises and assignments through which students will learn how to construct neural networks and SVM for problem solving.
Pre-requisites: Basic concepts of knowledge-based systems and machine learning

KE5207 Computational Intelligence II
The objectives of this course are to introduce computational intelligence techniques with a focus on Fuzzy Systems, Rough Sets and Evolutionary Computation, and to explore how these techniques can be used to construct intelligent systems to solve real-world problems such as reasoning, decision making and optimization. Topics covered in this course include fuzzy sets, fuzzy logic inference, fuzzy system modelling, fuzzy decision making, rough sets in knowledge discovery, evolutionary computation techniques and genetic algorithms. There are hands-on exercises and assignments through which students will learn how to model fuzzy systems and genetic algorithms for problem solving.
Pre-requisites: Basic concepts of rule-based reasoning and search for optimization

KE5205 Text Mining
The course aims to equip students with knowledge and skills to effectively mine large amounts of unstructured textual data to discover themes, patterns, and trends for business intelligence, research, or investigation. The students will be introduced to the concepts, techniques, and methods for common text mining tasks, such as data pre-processing and preparation, linguistic/knowledge resources management, concept extraction, text classification and categorization, clustering, topic modelling, association analysis, and trend detection. The scenario-based case studies showcase the application of text mining in business and research context, whereas hands-on workshops let the students practice performing the above mining tasks following a text mining process. 
Pre-requisites: Basic python programming

KE4202 Case Based Reasoning
This module teaches the fundamentals of case-based reasoning as a similarity-based reasoning technique for intelligent systems. It gives an overview of CBR concepts and the overall reasoning process, with application examples and case studies illustrating the typical problem types where case-based solutions are applicable. The development steps of CBR systems are elaborated in details, covering case representation and indexing, major retrieval schemes, common adaptation methods, etc. Opportunities of building hybrid intelligent systems, combining CBR and other reasoning or machine learning techniques, are also discussed, highlighting the nature of CBR as a problem solving framework incorporating multiple methods.
Pre-requisites: Java programming preferred

KE5208 Sense Making and Insight Discovery
Sense making is the process of creating situational awareness and understanding in situations of high complexity or uncertainty in order to facilitate decision-making. Singapore’s Smart Nation initiative aims to harness sensor data and analytics to build solutions to address various problems such as transport, safety, healthcare, etc. In the context of Smart Nation, sense-making is the ability to describe, diagnose and resolve problem situations in a multi-sensor environment. This course aims to equip students with the required Smart Nation competencies by developing practical know-how in data processing, data analysis, event processing, data visualization and insights discovery techniques. 
Pre-requisites: Nil

SG5236 Machine Learning for Software Engineers
This course provides a thorough introduction to machine learning, datamining, and statistical pattern recognition. Topics include:
(i) Supervised learning (parametric/non-parametric algorithms, support vector machines, kernels, neural networks). 
(ii) Unsupervised learning (clustering, dimensionality reduction, recommender systems). 
(iii) Best practices in machine learning (bias/variance theory; innovation process in machine learning and AI). 
Extensive programming workshops are included
Pre-requisites: Programming skills & MTECH SE Students

Requirements, Design & Construction

SG5214 Software Requirements Engineering 
Getting software requirements right is often cited by many as one of the biggest challenge in a software project. This course looks at the problems and challenges relating to software requirements and how to handle them. It also introduces the student various elicitation techniques to use in different situation. A most common form of communication requirements is through documentation. This course looks at how to document requirements effectively. It also teaches you how to manage requirements issue such as requirements ambiguity and scope creep. It requires no prior experience in software requirements but an open and thinking mind
Pre-requisites: Nil

SG5234 Digital User Experience Design
Digital User Experience Design is a holistic, multi-disciplinary approach that leads to the development of useful and usable digital solutions. In the backdrop of Smart Nation and Digital disruption, there is a convergence of various interfaces and platforms. This poses the challenge of providing seamless experience to users across various interfaces. The knowledge of user experience design will be an added advantage for software architects/engineers as architectural and design decisions will indirectly influence the usability of a software application. This course will highlight the importance of user experience in software development and impart tools and techniques to design and develop software systems that are useful and usable. This course will also introduce the UX lifecycle and various principles and techniques that enable design of seamless user experience across multiple interfaces and devices. The topics covered include user research methods, integration of UX in software development lifecycle, principles of interface and interaction design for 2D, 3D interfaces, metrics for usability and usability testing techniques and principles.
Pre-requisites: Nil

SG5208 Object Oriented Design Patterns
The objective of this course is to advance the use of OO design patterns in software development. The course explains how the use of OO design patterns will improve the transition from OO analysis to design, and will generally improve OO implementation. Just as buildings are architected using proven designs, software too can be built using proven solutions to common problems. Reapplying design pattern solutions to new applications reduces the development cost and lends itself to extensibility. This course teaches you to solve tough design problems by adapting proven designs called design patterns. By reusing proven solutions on the right problems in the right contexts, you will be able to solve design problems that you may not have been able to do previously. The course will introduce design patterns, explain their benefits and show how design patterns work in practice using a case study. The course also describes OO design principles, and includes design and programming workshops. This course is intended for OO designers/developers who wish to use advanced techniques to develop OO systems. There is also a design-cum-programming project.
Pre-requisites: Object-oriented programming: Java, C# or C++

SG5225 Architecting Software Solutions
This course This course aims to equip the participants with knowledge to build robust, scalable and maintainable architectures. The participant will get to understand how the solution architecture fits into the broader context of software development and enterprise architectures of the organization as they embark to implement the Smart Nation initiatives. The syllabus focuses on the understanding of architectural concepts, software qualities such as availability, performance and security and reusing of architectural patterns. By combining lectures with scenario based workshops, the participant will apply the patterns and software qualities with respect to Web and middleware architectures.
Pre-requisites: Object-oriented design; Java or C#.NET programming

SG5237 Secure Software Life Cycle
Security tends to focus on firewalls and servers, network and server administrators often get most of the attention. Development process are often overlooked when developers or software engineers are usually hired for their development or coding expertise and may have zero or minimal security knowledge. Such security flaws, if discovered late, can result in applications having to be redeveloped, or create an opportunity for disaster.

In this course, the participants will learn about the techniques, tools and processes and on how security could be built into each phase of the software lifecycle.
Pre-requisites: SG5101 Software Analysis & Design
Software Development Platforms & Technologies

SG4210 Enterprise .NET
.NET is a software development framework that remains popular over many years, and as technology landscape changes, the framework evolves and change accordingly. This course will teach practical aspects of multi-tier web and service application development as well as the fundamental architectural and design concerns such as security, performance, scalability and maintainability. This course aims to equip the students with essential knowledge to build robust, secure and innovative web and service application essential for the current service economy and smart nation initiative. This course will cover some of the latest frameworks in .NET with enough fundamental knowledge so that the knowledge can be applied to other frameworks as well. Technologies covered in this course includes ASP.NET MVC, Web API, WCF, and LINQ.
Pre-requisites: Object Oriented Programming: Java, C# or C++

SG5209 Enterprise Java
Java Enterprise Edition is a framework with APIs for building robust, secure and scalable applications. Upon completion of this elective, students will be able to: Use Servlets, JavaServer Faces and Enterprise JavaBeans to create to create robust and dynamic web applications; Allow mobile and external applications to integrate with your application using RESTful web services. Implement real-time notification via websockets/server sent events. Improve application scalability by using asynchronous processing and messaging. Create enterprise grade application by applying transactions to critical operations. Learn to design and developed cloud native based Java EE microservices. 
Pre-requisites: Proficient in Java programming language and understand RDBMS

SG4206 Enterprise Integration
Present day IT solutions are often made up of multiple distributed inter-connected computer systems that must work together in an efficient way.  The integration of the computer systems in a technologically optimal and architecturally robust manner is key to the effective functioning of distributed computer systems – this is termed Enterprise Application Integration (EAI).

The objective of this course is to introduce students to the technologies, patterns and best practices utilised for integration of computer systems. 

The course will introduce Service Oriented Architecture (SOA) as a means to address integration challenges and how it can support enterprise-wide integration. The course will also introduce the importance of RESTful APIs and how they are used in integration scenarios as well as the role of API gateways.

Topics covered in the course include: (1) Foundation concepts of EAI such as communication patterns, protocols, data routing, etc. (2) Key integration technologies such as message queues, Enterprise Service Bus, Business Process Management engine, etc. (3) Integration methodology, patterns and best practices to integrate enterprise systems consisting of traditional computing systems, mobile devices, cloud-based systems, etc. (4) SOA. 

On completing the unit, the student will be able to perform the analysis, architecture definition, design and implementation of enterprise integration solution for a given business scenario. This course is intended for aspiring solution architects intending to establish and grow their careers in the senior echelons of the software engineering profession. 
Pre-requisites: Nil

SG4207 Mobile Wireless Solution Design
To accomplish a task beautifully, we must not only act, but plan.  However, a plan without the competence to execute will remain as a plan on paper.  This elective covers the critical design issues related to mobile wireless solution such as mobile development technology considerations, communications and data storage strategies.   The concepts will be illustrated in iOS and Android platforms.  A broad overview of the wireless and mobile technologies will also be covered.  Students are expected to implement mobile design concepts they learnt.
Pre-requisites: Skills in at least one OO Programming language

Technopreneurship & Innovation

SG5220/SG5221 Independent Work I & II
This two-elective series is aimed at providing students with innovative problem solving skills, and allowing them to conduct experimental project work, evaluating any alternative scenarios, assessing pros and cons of each solution approach and pursuing the best one, and finally rapidly turning news ideas and concepts into real life solution prototypes. Students are expected to work independently with guidance from ISS lecturers. The projects can be sourced or proposed by students or sponsored by ISS lecturers or other organisations. The projects can be of diverse nature: technologies, IT management, scientific application, engineering, and so on.

Pre-requisites: Independent Work I: Approved project proposal; Independent Work II: SG5220 Independent Work I

SG5228 Digital Innovation and Design
Digital Innovation and Design is an emerging discipline, premised on the digital penetration in the 21st century, which has brought about a disruption in the delivery of most services. The distinctive characteristic of this field is that it takes an inter-disciplinary approach to re-design systems for the purpose of value co-creation. With the changing dynamics in the consumer, it is imperative that services leverage latest digital trends such as Big data, Cloud computing, Smart sensors, Artificial Intelligence etc. in order to be able to understand the user and continually adapt to serve them better.  This course will introduce participants to frameworks, techniques, and tools that span the innovation cycle from discovery and ideation to implementation and continuous evaluation. Key themes include:

• Research and development of innovation ideas
• Responses to ‘unmet need’ or opportunities to enhance the ‘value proposition’
• User research and market mapping 
• Collaboration, engagement, and co-creation
• Prototyping, testing, evaluation, and refinement
• Implementation planning of innovation and design

In addition, the course explores the application of important concepts and practices such as ‘user centred innovation’, ‘design thinking’, ‘ethnographic research’, and ‘customer experience design’. Topics are backed by practice workshops to hone the foundational knowledge and skills for the course. 
Pre-requisites: Nil