Advanced Elective Courses for MTech in Enterprise Business Analytics

Choose any 3 courses offered by Institute of Systems Science, NUS Department of Industrial & Systems Engineering or NUS Division of Engineering & Technology Management.

Courses offered by Institute of Systems Science

SG5012 Architecting Reliable Systems      
The objective of this course is for the students to learn how to architect systems that are reliable. Topics that will be covered are Safety, Reliability, Availability, Resilience, Security, Performance and Maintainability issues in building software systems. The benefits of using Formal methods to ensure these parameters in a software will be discussed. This course is appropriate for all software engineers who are developing highly reliable software systems and who wish to apply Formal Methods. The course combines theory, simple practice exercises, and real-world applications or case studies. The main themes will be covered by an inverse pedagogy, viz., case study first, then class discussion, then the relevant theory, and finally a workshop, takeaway, or both. Main areas of application of the principles and concepts will be aligned to the needs of the nation, e.g. transport, health, defence and embedded systems
Prerequisites :  Ability to count; Ability to think clearly & willingness to discuss real world case studies in detail
SG5013 Software Entrepreneurship
In  the era of Digital disruption, new business models have emerged, where technology plays a pivotal role in the business. In this backdrop, it is essential for people with entrepreneurial instincts to understand the role of technology, various benefits that it can deliver and the opportunities in building software enabled business that are not only desirable but also viable. The course will introduce the push and pull factors for venturing into a business enabled or driven by technology, business models, business plan and its various components, assessing the value of the business and also the approaches to acquiring funding and market share.
Prerequisites :  Nil 

SG5015 Enterprise Architecture
Enterprise Architecture (EA) is a management practice for aligning resources to improve business performance and help organisations better execute their core missions. This course provides participants with in-depth knowledge and best practices on Enterprise Architecture and covers the four key architectures – Business Architecture, Information Architecture, Application Architecture and Technology Architecture – that impacts the enterprise. Participants are taught an architecture development method used in the architecting process and how it can be used for architecture governance and management.
Prerequisites :  Nil 

SG5016 Business Transformation through Technology Innovation
Technology innovation enables organisations to identify and develop tools and methods to grow new lines of revenue; or to solve operational productivity challenges. However, when combined with other business process improvements, and coupled with judicious use of technology, organisations can sometimes revolutionise their business transformation. 
This course shows how a mix of business methods and technology can be ingredients in the process of change; and the ability of organisations to manage such a change is the basis for business transformation. It provides the participants with various approaches, tools and techniques to transform their organisation and a methodology to manage change.
Prerequisites :  Nil 

SG5017 Software Product Line Engineering
This course teaches participants to transform processes, methods and techniques employed by their software development organisation so that they can move from developing customer-oriented systems to market-driven products. The key motivation is to provide the means to significantly improve the productivity and product quality. This is achieved through software reuse at a large scale, beyond the levels achievable using the traditional reuse strategies based on object-oriented mechanisms, design patterns and frameworks. The course covers the processes, methods and techniques required to instrument and harvest from reuse. It also highlights the necessary transformations required in the management of the organisation. 
Prerequisites :  Object Oriented Programming & Object Oriented Analysis and Design

SG5018 Advanced Topics in Software Process Improvement
Surviving in the increasingly competitive software business requires more than hiring smart, knowledgeable engineers and buying the latest development tools. There is a need to use effective software development processes, so those smart engineers can systematically use the best technical and managerial practices to successfully complete their projects. More organizations are looking at software process improvement as a way to improve the quality, productivity, and predictability of their software development, acquisition, and maintenance efforts.
As we design, implement, and adjust the software process improvement program, it is important to keep the following primary objectives of process improvement in perspective: 
1. To understand the current state of software engineering and management practice in an organization. 
2. To select improvement areas where changes can yield the greatest long-term benefits. 
3. To focus on adding value to the business, not on achieving someone’s notion of “Impractical Process” 
4. To prosper by combining effective processes with skilled, motivated, and creative people.  
Prerequisites : Knowledge on project defined process / procedure (SDLC Model); Knowledge on Statistics / Statistics Process Control (Know how to apply the control charts); Knowledge on 7 Quality Control Tools (e.g. Pareto chart, cause & effect diagram, etc.); Knowledge on the IT Enterprise’s Business Goals
Preclusions: All students who have taken SG5205: Software Metrics and Process Management are not allowed to take this module. 

EB5001 Big Data Engineering for Analytics
Big Data refers to massive scalable data that can’t fit in a single server, unstructured to be contained into row-and-column database and continuously flowing to fit into a static data warehouse. Big data examples such as email spam filters, search keyword suggestions, profile matching based on numeric attributes and autocorrect facilities influence our day-to-day activities. 
Big data solution engineering provides a process for identifying and breaking down an organization’s key business initiatives into its business enabling capabilities and supporting technology components in order to support an organization’s decision-making and data monetization efforts. Additionally, the grand challenge about big data engineering is that there is no one shiny technical solution. Such engineering aspects of what makes the analytics of big data possible forms the core of this elective.

This elective will teach the students to engineer such Big-Data solutions on a distributed computing platform (cloud hosted or otherwise). Specifically, this elective covers concepts of distributed systems, indirect communications, message passing techniques, unstructured peer-to-peer technologies, tuple spaces, tools related to the tuple storage, processing, loose coupling analysis and visualization of Big-Data sets including MapReduce and NoSQL.  

The key motivation is to provide the students with necessary engineering skills to deal with a range of real world big-data applications. This will be achieved by constructing an architectural framework for storage and processing, using appropriate programming/scripting languages to manage polyglot processing and persistence, analyzing using the best fitting model and displaying the analytical results. 
Prerequisites : The students are expected to possess knowledge of any functional or object oriented programming languages, software development lifecycle and open source technologies such as Linux, Build tools and Eclipse IDE

SG5235 Scaling Agile
This course aims to provide an in-depth understanding of scaling agile frameworks. Team level agile topics are introduced in the MTech SE basic elective (Agile Project Management). This elective helps the students to advance their knowledge by providing in-depth coverage of multiple popular scaling frameworks and their applications in organizations. The course covers in detail several concepts and techniques suitable for a wide variety of frameworks. 
Pre-requisites: Students must know basics of Agile and must have read scrum primer or guide and pre-course study material will be sent to students

KE5006 Applied Research
This module aims to impart practical knowledge and experience of research processes, various research methods, literature reviews, results analysis and research paper writing. The course is designed so that objectives are fulfilled gradually in the course of conducting the actual research work and through individual guidance by ISS researchers.

Projects are expected to be complex and challenging, and typically requires innovative problem solving approaches, field experimentation, algorithm design & system development. Students can propose to work on a specific area of applied research or to work on an industry sponsored problem. All research activities are supervised by ISS research and teaching staff.
Pre-requisites: An approved applied research project proposal

Courses offered by NUS Faculty of Engineering