158.100 Computer Applications and the Information Age15 credits
A broad based and practical introduction to the applications of IT and computers that pervade today's society. A range of software applications will be studied in their context of use, enabling an understanding not only of technical issues but also the social, ethical and organisational aspects of applied computing.
158.120 Fundamentals of Information Technology15 credits
This course demonstrates how the core components of information technology, including programming, databases, networking, web technologies and human computer interaction, combine to form complex information technology solutions.
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 Data Visualisation15 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. Topics covering Big Data challenges will also be explored.
158.335 The Internet of Things and Cloud Computing15 credits
This course provides an opportunity for a practical, scenario-based and integrated study of The Internet of Things (IoT) and Cloud Computing concepts, models, infrastructures and capabilities. Students will learn, practice and innovate on the unified IoT and Cloud Computing paradigm through a running scenario and working application that integrates the IoT with Cloud Computing services.
A study of the application of software engineering principles to the development of databases for information systems. Modern database principles, issues and development methods including conceptual modelling, logical and physical design, implementation, database languages (e.g. SQL), distributed database design, and methods for interfacing with the web are covered. Students will acquire practical skills utilising modern tools and techniques used by industry.
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.
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.