Master Of Technology

 

Basic Elective Courses


 

The following are brief descriptions of the ISS SE & KE core units and electives. For further information on the Software Engineering courses contact Mr. Howard Russon; for information on the knowledge engineering courses contact Mr. Charles Pang.
 

Basic Elective Courses

EB5201 Campaign Management
The objective of this module is to teach students how to build a successful, repeatable campaign development process. Using helpful practical techniques students will learn how to put marketing activities and offers together to ensure a truly relevant integrated marketing communications plan that works. Students will also learn how to measure campaign results and automatically feed that intelligence back into the system to fine tune future campaigns.

EB5202 Web Analytics
This course introduces Web analytics techniques that are suitable for developing Web-based intelligent systems, optimizing website design and improving customer experience. In this course, students will be exposed to the key concepts, techniques and practices of Web analytics. It provides an overview of three major types of Web analytics/mining tasks, i.e., usage mining, content mining and structure mining.

EB5203 Customer Relationship Management
This course introduces Online Analytical Processing (OLAP) and data mining techniques to derive insights into the behaviour and value of your customers. Students will learn how to make quicker and better business decisions using customer profiling and targeting, profitability analysis, customer-personalization, event-monitoring, what-if scenarios, and predictive modeling.

EB5204 New Media and Sentiment Mining (to be offered in 2015)
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.

EB5205 Analytics for Pharmaceutical Professionals (to be offered in 2015)
The objective of this module is to teach students how to make better use of their data in analyzing their physicians, patients and treatments and thereby improving the decision making of their organization. A wide variety of analytical techniques and methods will be covered in this module. Based on specific organization objectives, students will learn when to use specific methods, how to conduct the study and interpret the results.

EB5206 Analytics for Logistics Management
Effective logistics and supply chain management requires strategic, quantitative and tactical techniques that can be harnessed through data analytics and intelligent methods. This course introduces data analytics from the perspective of a decision support system (DSS) with emphasis on integration of information, inventory, transportation and location of material, capital and human resources.

EB5207 Analytics for Tourism and Hospitality (to be offered in 2015)
The objective of this course is to gain insights into how analytic tools are transforming the conventions and practices of the tourism and hospitality industries to increase product and service differentiation. Some key analyses include customer behaviour, campaign effectiveness, customer profitability, basket analysis, demand forecasting and churn models. Students will be lead through the various stages of analysis starting from preparation of raw data, exploratory data analysis, analytical modeling to results interpretation.

 

KE4202 Case Based Reasoning
The objective of this module is to teach the fundamentals of CBR and how to apply CBR to solve real world problems. Topics covered in this module include CBR concepts; CBR applications survey; CBR techniques: case representation, case indexing, case storage and retrieval; Case adaptation; Learning and generalization; Identifying applications; CBR Tools survey; and Hybrid systems. There is an assignment in which students design and possibly implement a CBR system in their workplace. This course is appropriate for knowledge engineers who wish to apply CBR techniques for knowledge management.

 

KE4204 Business Analytics (previously Data Mining)
The objectives of this course are to introduce students to the concepts, methods and techniques of business analytics. Students will gain the requisite skills to perform analytics in a real life business scenarios through workshops and assignments using tools. Topics included in the course are: Introduction to Business Analytics ; Business Intelligence fundamentals ; Exploratory data analysis and visualization; Segmentation and clustering; Market basket analysis; Advanced modelling using decision trees, rule induction, regression, neural networks; Data mining for CRM and market planning; Data mining tools. This course is highly appropriate for all professional workers who must process and analyze large amounts of data for corporate decision making.

 

KE4205 Knowledge Management
The objective of this module is to teach the essential principles and best practices of knowledge management (KM) and how to apply these principles. Topics covered in this module include Introduction to KM concepts; KM applications and case studies; KM Strategies; KM system implementation; KM Performance assessment. There is an assignment in which students design and possibly implement a KM system in their workplace. This course is appropriate for students who wish to gain an indepth appreciation of KM and how it can be applied in practice.

 

KE5204 Genetic Algorithms
The objectives of this course are to teach how to understand and use GA techniques. Topics covered in this course include; Introduction to GA theory and operation; GA case studies; problem structuring and modeling for GA solutions; selection and optimization of control parameters; GA applications and solutions; currently available GA tools; comparison of GA with other solution methods; and GA workshops and projects using the Evolver tool. There is an assignment in developing a GA system. These courses are particularly appropriate for those students who wish to apply sophisticated solutions to difficult problems.

 

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 categorization, clustering, association analysis, and trend detection. The scenario-based case studies will enable the students to understand the application of text mining in business and research context, whereas hands-on workshops will allow them to practice performing the above mining tasks following a text mining process.

 

SG3204 Human Computer Interface
The aim of this course is to teach how to design effective Human-Computer Interfaces (HCI) The course begins by explaining that the success of a software application may be critically dependent upon it's HCI. Topics included in the course are: principles of HCI design; interface design process; design criteria; scripting and story boarding; evaluating and testing the interface; Web and mobile interface design and tools for interface design. There are case study workshops using interface tools and a design/prototyping project. This course is appropriate for all software developers who wish to construct effective HCIs for software applications.

 

SG4202 Mobile Wireless Application Development
This course focuses on the development of a mobile wireless enterprise solution and addresses the wireless landscape required for a successful deployment. A broad overview of the wireless technologies in Wireless Personal Area Network (Bluetooth), Wireless Local Area Network (WiFi,WiMax), Wireless Wide Area Network (GSM, GPRS, 3G) and RFID will be covered. Symbian, Windows Mobile and Java are some of the device platforms that will be introduced. This course is intended for solution architects and developers who wish to gain the skillsets to develop enterprise mobile applications. Students must have basic Java programming skills.

 

SG4205 Information Systems Security
The objective of this course is to provide learners with a foundation in information systems security. This e-learning course seeks to teach various IS security issues, including infocomm security management, cryptography, access control, network security and application security. There is also an assignment on IS security issues. This course is intended for IT professionals who need to ensure the security of their IT systems.

 

SG4206 Enterprise Integration
The objective of this course are to teach students the different technologies that are currently being used to meet the integration needs of organizations, to show how to perform architectural analysis, design and implementation for an enterprise integration solution, to identify possible architectural options and determine the most suitable option for a given business scenario, and how to plan and manage integration. The course would also introduce Service Oriented Architecture (SOA) as a means to address integration issues and discuss methodologies for successful adoption of SOA to meet the Enterprise business goals. Topics covered in the course include the foundation concepts of Enterprise Integration; an overview of critical technologies; integration methodology, B2B integration and SOA.

                      

SG4210 Enterprise .NET I
The aim of this course is to teach how to design and develop web-based Enterprise Applications using the rich tools and APIs available in the .NET Framework. The students would learn to build function-rich applications using technologies such as ASP.NET, ADO.NET and AJAX. In addition the students would be introduced to the Entity Framework and LINQ for persisting objects on a relational database. Implementation of patterns such as the action-based Model-View-Controller and the event-driven Boundary-Control-Entity patterns would be taught. The course would also cover practical inputs for building secure and robust applications using component-based layered architecture.

 

SG4211 Cloud Computing
Cloud computing is a model for enabling 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 or service provider interaction. This cloud model promotes availability and is composed of five essential characteristics namely: On-demand-network-service, Broad Network Access, Resource Pooling, Rapid Elasticity and Measured Service. Cloud covers three service models in vast majority such as Infrastructure As A Service(IAAS), Platform As A Service (PAAS) and Software As A Service (SAAS). Cloud approaches four different deployment models: Private, Community, Public and Hybrid. The course covers practical business and technical aspects involved in the different service models. Learning outcomes include (1)Understanding the architecture, trade-off, risks, benefits and challenges of the service models, (2)Analyse, choose and implement appropriate solution model based on the application requirements and business model from a service consumer perspective. (3)Demonstrate ability to use appropriate solution stacks and tools. Target audience would comprise of decision makers on the business side and the IT technical groups. Hands on sessions on market leaders' cloud solutions such as Amazon AWS, Google's GAE, Microsoft Azure and Open Source Hadoop workshops will be conducted.

 

SG5205 Software Metrics & Process Improvement
This course will focus on software process improvement and software measurements. In particular, it will describe how to assess development and maintenance processes within an organisation, how to identify Key Process Areas (KPA) that need improvement, and how to design and implement these improvements. The CMM/CMMI representations will be used here as models. The course will also discuss the use of software measurement. It will look at what software metrics are, how to design a metrics collection programme, how to collect and analyse metrics, and how to make decisions based on metrics. In particular, it will discuss how software measurement can be used to support and assess process improvement, and how statistical process control (SPC) can be used to assess software behavior.

 

SG5207 Managing IT Outsourcing & Subcontracting
The objective of this module is to explain how to manage outsourced or subcontracted projects. This course explores the various aspects of subcontracting and outsourcing. In particular it discusses the strategic rationale for outsourcing projects, the process for evaluating contractors and the techniques for managing and controlling vendors. Contractual and legal aspects of outsourcing are also discussed. Part of this course involves students negotiating and writing their own outsourcing contracts. This course is appropriate for all software engineers or project managers who are involved in managing or implementing outsourced projects.

 

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. 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 pattern programming workshops using C++ and Java. In addition, the course also covers web-based and n-tier application patterns. Aspect Oriented Programming and Dependency Injection patterns will also be discussed in this elective. This course is intended for OO designers/developers who wish to use advanced techniques to develop OO systems. There is also a design/programming project.

 

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 and JSPs to create robust and dynamic web applications; Build reusable business objects and services that can be shared across the enterprise using EJBs; Implement the security and transaction features necessary for typical web-based e-commerce applications. Topics include: Java Server Pages (JSP) & Servlets; Enterprise Java Beans (EJB); Transactions and Deployment; Architectural Design Issues & Best practises.

 

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.

 

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. This course is meant for students who are involved in software requirements work or intend to be involved in the future. It requires no prior experience in software requirements but an open and thinking mind.

                      

SG5219 IT Law
The objectives of this course are to teach the legal issues faced in creating and using IT products and services. It will show how legal features of a software product and project should be identified and managed, and what a software developer's rights and obligations are. It will begin by discussing the rights of software creators or entrepreneurs, and will discuss how to establish and protect Intellectual Property Rights. Issues such as copyrights and patents will also be considered. Other issues, such as your rights and obligations when using or including proprietary software components, open source software or public domain software will also be covered. In addition, aspects of contract law will be described, and also the general obligations under civil law. Finally there will a description of the process for managing the legal features of your software product and your development process.

 

SG5220/SG5221 Research on Advanced IT Topics I & II
These courses are conducted as a two-elective series, aiming at providing students with research skills, and allowing them to conduct a research project under the supervision of an ISS lecturer. In this set of courses, the student will understand the purpose and experience various activities of a specific applied research process. She/he will discover the resources that are available to a researcher, and identify those that are relevant to a particular research task. The student can choose one of the following applied research streams:
1. Developing a challenging software system using an Agile methodology (SCRUM)
2. Undertaking Case Study-based research on the innovative application of IT in the local industry

The objectives of Option 1 will be to understand how to apply the SCRUM Agile methodology, explore a variety of Agile techniques such as refactoring, pair programming, test-driven development and agile architecture and enable the students to apply these techniques to develop advanced software systems that supports the solution of research problems.

The objectives of Option 2 will be to understand the role of innovation in general and IT-based innovation in particular, in industrial and commercial practice, to analyze real-world innovations, synthesize general principles and guidelines and to perform case-study based research, demonstrating critical analysis and thinking skills.

 

SG5222 IT Service Management
This course focuses on best practices in managing IT as a service. IT Service Management is important as it supplements other aspects of IT management (such as IT Project Management). It goes beyond project implementation and emphasises the smooth ongoing operations of IT systems and services, and the planning, management and optimisation required to achieve it. It includes key management processes such as Service Level Management, Service Portfolio Management, Availability Management, Performance Management, Problem Management and others important to high quality IT services. IT Service Management is recognised as a critical component to the overall IT governance of an organisation. This course will cover ITIL® (IT Infrastructure Library), an international framework of best practices for IT Service Management. It will also include additional material relating to the new approach to services known as Service Science, Management and Engineering (SSME).

 

SG5225 Architecting Software Solutions
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. 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.

 

SG5226 Enterprise .NET II
The objective of this course is to equip the students with in-depth knowledge on building robust distributed .NET Enterprise applications. The course would provide detailed coverage  on a variety of server side technologies like Windows Communication Framework,  Web Services and Windows Workflow Framework. Multi-tier deployment of reusable business components under heterogeneous Microsoft server products would be taught with the aid of software architectural patterns and practices to improve the scalability, security and robustness of the Enterprise Application.

 

SG5227 Open Source for the Enterprise
Open source is a development method for software that harnesses the power of distributed peer review and transparency of process. The promise of open source is better quality, higher reliability, more flexibility, lower cost, and an end to predatory vendor lock-in. Having gained more acceptance in recent years, this course plans to examine key issues of frameworks for software reuse and models for evaluating Open source software adoption. The course will also rely on technical case studies to demonstrate successful Open source projects.

 

SG5228 Service Innovation
Service Innovation is an emerging discipline, premised on the growth and dominance of the service industry in the 21st century. The distinctive characteristic of this field is that it takes an inter-disciplinary approach to establish service systems for the purpose of value co-creation. This is particularly important for knowledge-intensive services which account for a major portion of the global economy. Critical to this is that a significant number of these services are in fact enabled by system of systems. Another trend in Service Innovation is the notion of value co-creation rather than value creation. This is the systematic involvement of users in the innovation process where value is defined by use rather than in exchange. This is achieved with new logic; one where relationships are established through process and interaction between the provider (& its value network) with the consumer. This logic shifts from one where the provider creates value for the consumer to one where the provider co-creates higher value with the consumer. Helped by participatory technologies, co-created value maybe derived not just from collaboration but from collective intelligence. The course will cover the Service Innovation spectrum from idea generation through design and implementation with key references to relevant frameworks, models, patterns, methods/techniques and best practices. Topics are backed by practice workshops to hone the foundational knowledge and skills for the course.

 

SG5229 Software Maintenance and Evolution
Software evolution refers to the study and management of the process of making changes to software over time. Therefore, it comprises maintenance, enhancement and re-engineering activities.Over several decades, studies have shown that 75% of software personnel spend their time on activities involving software evolution, which comprise 50% of IT costs. Hence, these activities constitute a significant proportion of work performed by most software professionals during their careers.The aim of this course is to teach a systematic approach to software maintenance and evolution. The course will not only discuss the engineering aspects, but also the applicable management practices.

 

SG5230 Software Prototyping
A prototype is typically created quickly and simulates only essential aspects of the system. The prototype code might be eventually thrown away, or could form the basis for constructing a component of the final product. Using prototypes, developers can obtain valuable feedback from the users early in the project lifecycle and can assess whether the software architecture can support demanding technical requirements. Prototypes also allow managers to assess the feasibility of estimates and whether the deadlines proposed can be successfully met. This course presents a software prototyping framework and how it might be supported directly by the Python programming language.
 

SG5231 Agile Software Project Management
This course aims to provide an in-depth understanding of the practice of Agile software project management. The course is very relevant today as leading organizations are adopting Agile. Hence, it is imperative that aspiring and practicing project managers are taught Agile techniques so that they are able to effectively manage such projects in industry. This course will introduce the Agile Project Management concepts and techniques in detail. It will deal with not only the Agile Project Management techniques, but also the management aspects applicable for suitable creation, execution and sustenance of an agile environment in the organization. The topics covered include creating business case for Agile, selecting, estimating, managing and delivering an agile project as part of an Organizational Agile Environment.