158.100 Introductory Concepts for Information Technology15 credits
This course is an introduction to the technologies and approaches that will be addressed in more advanced Information Technology courses and includes application design. Students will study a variety of IT applications (e.g. mobile, internet of things) and consider their use in the wider context and their impact on society.
158.120 Fundamental Information Technologies15 credits
In this course, students study how the core components of information technology combine to form complex information technology solutions. This includes analysis and experimentation with databases, web technologies, programming and networking.
A study of the rudiments of structured and object-oriented software development methods and techniques. Students will utilise a modern integrated development environment to gain practical skills.
158.222 Data Wrangling and Machine Learning15 credits
An introduction to the data science workflow involving the acquisition, processing, transformation and integration of data from disparate sources having inherently different data structures, from which actionable insights can be extracted. Entry-level machine learning and statistical techniques for analysing and extracting knowledge from data will be covered. Particular emphasis will be placed on attaining competency in using a high-level programming language for conducting data-driven problem solving and appreciating the necessary agility such tools afford.
A study of the basic principles of digital communications, Internet technologies, communications software, local area network design, client-server system design, middleware and available wide-area network services from the viewpoint of a software engineer/designer developing networked information systems.
A discussion of the technical concepts and software issues that IT managers require to plan, operate and maintain computer-based systems and software assets. The course also considers some core issues in software testing.
An introduction to databases and the underlying relational and selected non-relational approaches. Students will gain practical skills designing, creating and querying databases using Database Management Systems and discuss fundamental concepts - such as vertical and horizontal scaling, transactional safety and eventual consistency - and their implications in the selection of database approaches.
An advanced study of methods used to model, design, build and test robust software architectures. The course provides an in-depth study of multiple techniques to support software design and implementation. It takes a practical approach using current methods and tools.
158.333 Applied Machine Learning and Big Data Processing15 credits
An in-depth exploration of methods for developing intuition and insights about data that enables effective problem formulation and its solution through data-driven methods. A broad range of advanced machine learning and data mining algorithms will be used to build predictive models from real-world contexts. A particular emphasis will be on developing data-products, rapid prototyping and effectively communicating their value through visual storytelling and interpretable summaries. Practical skills for processing large datasets will be taught.
158.335 The Internet of Things and Cloud Computing15 credits
This course involves participants in solving problems whose solutions require active, sensing and connected "things" augmented with Cloud Computing capabilities. Students will design and implement things that participate in the Internet of Things (IoT) and Cloud Computing environments.
A study of enterprise data models, including how data storage and retrieval methods have changed over time. Modern techniques for handling structured and unstructured data and their implications in transactional and analytical processing are evaluated.
158.345 Professionalism in the Information Sciences15 credits
This course provides an advanced study of social and professional issues in the information sciences. It will involve the exploration, through appropriate resources, of issues relevant to practitioners, including ethics, legal issues, communication, teamwork and professional contexts.
An advanced study of databases and the underlying relational and selected non-relational approaches, including distributed databases. Students will gain further practical skills designing, creating and querying databases using database management systems, as well as studying the underlying theories and how they impact the design of databases, query languages and database management systems.
The course will move from conceptual analysis to the design, prototyping and implementation and evaluation of user interfaces. It will emphasise development processes that result in interfaces that provide a superior user experience. Examples of real-life interfaces, from sources such as desktop, multimedia, web, novel, and mobile technologies will be used. There will be a significant practical work component.
Implementation of a complex information technology solution set in the context of a case study scenario, including requirement analysis, technology selection, system design, implementation, testing and project hand over. A group project will form a significant component of this course.
A review of advanced machine learning algorithms that use deep learning to extract knowledge from enterprise data. The course includes a practical component in which students adapt and apply deep learning algorithms to practical data sets.
158.738 Implementation and Management of Systems Security15 credits
Security and privacy are important features of information systems, in particular with the case of free access, as in Web-based services or E-commerce systems. The goal is to restrict the access of information to legitimate users only. For this purpose techniques from cryptography and information theory have to be studied.
An introduction to the field of analytics, including the process of identifying an analytics problem in context, identifying sources and acquiring data, preparing data for analysis to address the problem. Emphasis is placed on developing programming skills relevant for data processing and data retrieval from databases. Special attention is given to privacy, security and ethical considerations surrounding data, and to communication of results.
This course will develop knowledge and skills in the use of geographic information science in an interdisciplinary context. Students will learn how to work with clients to identify requirements, model and collect data and create a location-based application or analysis tool. A range of areas and a variety of different uses of geographic information will be covered, including telemetry, mapping and location-aware analysis. An interdisciplinary group project will form part of the course.
158.750 Information Sciences Research Methods15 credits
A study of information science research, its methods, practices, social context and relationships to other fields of study. Research skills including research design, literature evaluation, data collection, data analysis and publication are practised in this course.
158.751 Object-Oriented Software Development - Theory and Practice15 credits
A study of the object-oriented paradigm applied to software development and database design. The course includes practical work with an object-oriented analysis and design method, a UML CASE tool and an object-oriented programming language.
An advanced study of agile software engineering. The course provides an in-depth investigation of the techniques, methods and practical activities used in the development of software using an agile approach. There will be a significant practical element to the course.
The course investigates the concept and practice of software development methodologies. It examines the commercial pressures which promote methodologies such as Agile and the theoretical frameworks which underpin a desirable methodology. Practical assignments will use appropriate software environments.
158.755 Data Science - Making Sense of Data15 credits
A study of the science of drawing knowledge and insights from data, including the concepts and techniques of data mining, machine learning and natural language processing. The course covers both theoretical and practical aspects using a range of software tools and algorithms.
158.757 User Interface Design and Evaluation15 credits
Focuses on the design and evaluation of human-computer interfaces (HCI) for computerised information systems covering: task analysis, the process of design, the use of rapid prototyping in HCI design, and formative and summative usability testing, as well as the integration of user interface design techniques into the SDLC. The approach is hands-on.
A technological approach to mobile computing systems that covers technical aspects of mobile systems development.
158.762 Software Quality and Reliability15 credits
An advanced study of software quality assurance and reliability analysis techniques used in Information Technology projects. The course provides an in-depth study of software validation and verification strategies using appropriate methods, metrics and models. Current tools and practices will be applied to representative software systems.
158.780 Information Technology Project Part 115 credits
An in-depth study of Information Technology research, exploring both research methods and project execution. This course provides a practical approach to the principles and practices of academic research, and incorporates a full execution of the preliminary parts of a project life cycle, including the proposal, literature review, methodology and pilot study.
158.781 Information Technology Project Part 215 credits
A continuing study of information sciences research, exploring both research methods and project execution. This course provides a practical approach to the principles and practices of academic research, and incorporates a full execution of the latter parts of a project life cycle, including the research practicum, analysis of results and reporting of conclusions.
158.888 Information Technology Professional Project60 credits
Candidates will undertake a practical and/or research IT project including some or all of the following: requirements engineering, product modeling, user interface design and evaluation, systems security, software testing, and quality assurance. This may be conducted either individually or in groups and assessment may be in a variety of ways including written and oral presentations and software demonstrations.