MEng, BSc Computer Science with Artificial Intelligence



Similar documents
MEng, BSc Applied Computer Science

One LAR Course Credits: 3. Page 4

Doctor of Philosophy in Computer Science

Master Degree Program in Computer Science (CS)

Master of Science in Computer Science

CS Master Level Courses and Areas COURSE DESCRIPTIONS. CSCI 521 Real-Time Systems. CSCI 522 High Performance Computing

School of Computer Science

Masters in Human Computer Interaction

Department of Computer Science

M.S. Computer Science Program

School of Computer Science

Computer Science (COMP)

Division of Mathematical Sciences

Professional Organization Checklist for the Computer Science Curriculum Updates. Association of Computing Machinery Computing Curricula 2008

FACULTY OF COMPUTER SCIENCE AND INFORMATION TECHNOLOGY AUTUMN 2016 BACHELOR COURSES

Masters in Advanced Computer Science

Masters in Artificial Intelligence

Masters in Networks and Distributed Systems

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Stage III courses COMPSCI 314

COURSE TITLE COURSE DESCRIPTION

Masters in Computing and Information Technology

Bachelor of Science in Information Technology. Course Descriptions

Page 1 of 5. (Modules, Subjects) SENG DSYS PSYS KMS ADB INS IAT

INFORMATION TECHNOLOGY PROGRAM

Datavetenskapligt Program (kandidat) Computer Science Programme (master)

Masters in Human Computer Interaction

QF01/ الخطة الدراسية كلية العلوم وتكنولوجيا المعلومات- برنامج الماجستير/ الوصف المختصر

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries

How To Get A Computer Science Degree At Appalachian State

Course Syllabus For Operations Management. Management Information Systems

Computer Science MS Course Descriptions

Masters in Information Technology

Information and Communications Technology Courses at a Glance

Computer and Information Sciences

Degrees Major in Computer Science Minor in Computer Science Major in Software Engineering

Assessment Plan for CS and CIS Degree Programs Computer Science Dept. Texas A&M University - Commerce

Master of Science in Software Engineering (MSC)

Please consult the Department of Engineering about the Computer Engineering Emphasis.

CAD and Creativity. Contents

School of Computer Science

Computer Science. General Education Students must complete the requirements shown in the General Education Requirements section of this catalog.

COMPUTER SCIENCE, BACHELOR OF SCIENCE (B.S.)

CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014)

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

COURSE DESCRIPTION FOR THE COMPUTER INFORMATION SYSTEMS CURRICULUM

Diploma Of Computing

Computer Science. Requirements for the Major (updated 11/13/03)

PCCC PCCC Course Description

Computer Science. Master of Science

Department of Computer Science

The University of Jordan

Computer Science. 232 Computer Science. Degrees and Certificates Awarded. A.S. Degree Requirements. Program Student Outcomes. Department Offices

INFORMATION TECHNOLOGY (INFO)

COMPUTER SCIENCE. FACULTY: Jennifer Bowen, Chair Denise Byrnes, Associate Chair Sofia Visa

Masters in Advanced Computer Science

IC 1101 Basic Electronic Practice for Electronics and Information Engineering

COURSE CATALOGUE

Course Descriptions - Computer Science and Software Engineering

Department of Computer Science

Computer Science. Courses. Computer Science 1

Depth and Excluded Courses

Assessment for Master s Degree Program Fall Spring 2011 Computer Science Dept. Texas A&M University - Commerce

UNDERGRADUATE DEGREE PROGRAMME IN COMPUTER SCIENCE ENGINEERING SCHOOL OF COMPUTER SCIENCE ENGINEERING, ALBACETE

B.Sc. in Computer Information Systems Study Plan

How To Get A Computer Engineering Degree

PhD in Computer Science at North Carolina A&T State University

KMU International School

CTI Bachelor of Science in Information Technology

Programme Specification (Undergraduate) Date amended: 27 February 2012

LONG BEACH CITY COLLEGE MEMORANDUM

COMPUTER SCIENCE. Department of Mathematics & Computer Science

SYSTEMS, CONTROL AND MECHATRONICS

DIABLO VALLEY COLLEGE CATALOG

Computer Science. Computer Science 207. Degrees and Certificates Awarded. A.S. Computer Science Degree Requirements. Program Student Outcomes

Master s Program in Information Systems

Master of Science in Computer Science Information Systems

Computer Science 1010 Introduction to Computers and the Internet (3) 1015 Web Structures I (1) 1016 Web Structures II (1)

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Position Classification Flysheet for Computer Science Series, GS Table of Contents

Study Plan for the Bachelor Degree in Computer Information Systems

LONDON SCHOOL OF COMMERCE. Programme Specification for the. Cardiff Metropolitan University. BSc (Hons) in Computing

ABET General Outcomes. Student Learning Outcomes for BS in Computing

REGULATIONS FOR THE DEGREE OF MASTER OF SCIENCE IN COMPUTER SCIENCE (MSc[CompSc])

Poznan University of Technology Faculty of Electrical Engineering

Applied mathematics and mathematical statistics

COMPUTER SCIENCE/ COMPUTER NETWORKING AND TECHNOLOGIES (COSC)

Department of Computer Science

BSc in Information Technology Degree Programme. Syllabus

Course Bachelor of Information Technology majoring in Network Security or Data Infrastructure Engineering

Graduate Co-op Students Information Manual. Department of Computer Science. Faculty of Science. University of Regina

INFORMATION TECHNOLOGY (IT) 515

Microsoft Training and Certification Guide. Current as of December 31, 2013

CURRICULUM VITAE EDUCATION:

Transcription:

School of Computing FACULTY OF ENGINEERING MEng, BSc Computer Science with Artificial Intelligence Year 1 COMP1212 Computer Processor Effective programming depends on understanding not only how to give a machine instructions (the software), but also on how the machine carries out those instructions (the hardware). Modern hardware is built up in layers upon simple structures, and this module will introduce the student to how a computer chip actually computes, how data is represented in memory, and how simple electronic circuits are built up to provide complex logic. COMP1211 Computer Architecture This module introduces students to the structure and components of modern computer architectures, including memory, machine level languages, the fetch execution cycle, data storage, and input/output. Multi-core architectures, parallelism and scalability in modern systems. COMP1511 Introduction to Discrete Mathematics This module covers combinatorics essential in determining the complexity of algorithms, general techniques for solving problems, probability and an introduction to graphs that are a powerful tool for modelling problems such and the structure of the World Wide Web, or to determine a shortest path between two cities. COMP1711 Procedural Programming Learn how to develop a solution to a problem and design and implement its solution as a procedural program. Learn how to design robust, debug to identify errors and test to ensure design requirements are met. COMP1911 Professional Computing Introduces the tools and processes required by a computing professional to do their job properly; including software engineering tools; team working skills, project management techniques and social and legal issues that must be considered. COMP1121 Databases This module covers the principles of the design and implementation of database management systems, including the theory of relational databases and E-R modeling; and the use of SQL to create and manipulate data in a database. COMP1421 COMP1721 Fundamental Mathematical Concepts Object-oriented Programming This module focuses on some mathematical concepts and techniques that are fundamental to computing. We study propositions and how they combine using logical operators and quantifiers (concepts which underpin automated reasoning and system specification). This leads to a study of rules of inference and different proof techniques used for verification of program correctness, system security and complexity analysis. These concepts are then applied in the study of sets, functions, relations (the basis of relational databases), vectors and matrices (fundamental for applications in mathematics, computer science, physics and engineering. Implement using classes and Object Oriented concepts such as inheritance, encapsulation and abstraction. Contrast OOP to procedural programming techniques. Understand and implement common abstract data types such as stacks and queues. COMP1921 Programming Project Develop experience with professional programming tools and techniques, such as version control, unit-testing, secure and defensive coding. Analyse existing for consistency with coding standards and documentation. Construct to a given specification and demonstrate how it meets the specification. COMP1011 Programming For The Web Recognise the need for programming as a part of modern web applications. This

COMP1021 Introduction to Web Technologies module provides an introduction to programming, using languages such as Python and JavaScript that are particularly relevant to web application development and other tasks involving the web. In this module, you will learn how to use HTML, CSS and JavaScript to develop the content, presentation and interactive features of web sites and web applications - i.e., all those parts that run within a web browser. You will learn how to test and debug web pages using a web browser and how to ensure that your pages conform to accessibility standards and relevant legislation. Year 2 COMP2211 Operating Systems The role of the operating system. Modern operating system architecture. Process management, memory management, file systems and I/O. Example systems, from mobile to HPC platforms. COMP1321 Formal Languages and Finite Automata Develop models of computation, the theory of automata and grammars and the basics of computability. Covers Turing Machines, the Church-Turing thesis and undecidable problems. COMP2611 Artificial Intelligence Artificial Intelligence is a rapidly evolving field. This module provides an introduction to a broad range of topics in Artificial Intelligence. You will learn how to design and implement simple intelligent agents; the principles of knowledge representation and inference, machine learning and explore application in areas such as text mining, image analysis and bio-inspired computing COMP2931 Software Engineering Understand the software life-cycle. Select a development process appropriate for a given task and context. Use appropriate tools to manage the development process. Work effectively as team to capture the requirements, produce a design and complete the implementation for a given task COMP2221 Networks Network communication protocols and n-tier architectures. Standard protocols for common networked tasks. The client-server model. Implementation of scalable networked applications. COMP2811 User Interfaces The role of usability and user experience in application design. The foundations of designing interactive systems. Implement graphical applications using a user interface toolkit. Design considerations for effective human-computer interaction. Develop low-fidelity prototypes for human-computer interfaces COMP2711 COMP2721 Algorithms and Data Structures I Algorithms and Data Structures II This module focuses on key algorithms and data structures,that form the toolkit of a modern computer specialist. Practicing with classical algorithms and data structures students will learn how to combine them in order to produce efficient algorithms for solving problems There may exist several algorithms for solving the same problem, and it is important to produce the one which is efficient in terms of the computation time and space requirements. In this module you will start to develop skills in designing algorithms Our primary goal is to identify the most efficient solutions among those available and to provide a formal justification of that choice. COMP2011 COMP2021 Web Application Social and Mobile Web This module focuses on those parts of a web application that run remotely on a web server rather than locally within a web browser. You will learn about how databases are a key component of many web applications and you will learn how to use a web application development framework to create a database-driven application such as an online store. In this module, you will learn how to design, implement and deploy web applications that work effectively on smartphones and tablets. You will also learn how to develop applications that integrate with and use the services offered by popular social networks.

COMP2421 Numerical Computation Accuracy of floating-point computation. Standard numerical algorithms for linear equation systems, nonlinear equations, ordinary differential equations and data interpolation. The design of robust and efficient implementations in. COMP2121 Data Mining This module covers the principles of the design and implementation of database management systems, including the theory of relational databases and E-R modeling; and the use of SQL to create and manipulate data in a database. Year 3 COMP3931 Individual Project The Individual Project provides the opportunity for you work on a significant research and/or development project related to your degree programme. You will work closely with a supervisor to design, implement and evaluate a solution to your chosen project and present the work both as a dissertation and short presentation to peers and staff. COMP3221 Parallel Computation Describe parallel computing architectures for distributed and shared-memory programming. Understand the efficiency and scalability of parallel algorithms. Design parallel algorithms for a range of tasks. Implement and benchmark parallel algorithms on a range of architectures. COMP3211 Distributed Systems This module presents the main characteristics of distributed systems and looks at some of the challenges that are faced by designers and implementers of such systems. It investigates how sophisticated multi-tier architectures can be supported, and examines how this is achieved using distributed object technology, Web services and cloud computing. COMP3222 Mobile Application Understand the constraints of developing for mobile devices from hardware, interface and networking. Design and structure the user interface and underlying software structure for a mobile application. Integrate input from hardware sensors and networked data and services. Implement mobile applications on a given platform. COMP3121 Data Science The aim of the module is for students to develop a practical understanding of analysis techniques that may be used to gain insights from complex data. The module covers the theoretical aspects of a variety of approaches, with an emphasis on statistical methods, and practical application using established tools. COMP3811 Computer Graphics This module covers the core concepts behind 3D computer graphics, including rasterisation, raytracing, hardware-accelerated projective rendering, geometric modelling of curves and surfaces, surface texturing, hierarchical animation and introductory shader-based rendering. COMP3911 Secure Computing Security is an increasing problem for all computer systems. Users, administrators and developers all need to be aware of risks and the need to develop systems that are resistant to known attacks. In this module you will learn about threats to the security of a software system, design and implement software that is resistant to well-known attacks and learn how security incidents can be detected and analysed. COMP3223 Cryptography This module provides a thorough introduction to cryptography and its applications. We cover the mathematical foundations of cryptography and discuss modern cryptosystems in detail. This includes both symmetric and public-key systems like AES and RSA and their usage and applications in digital signatures and complex cryptographic protocols like digital currency and electronic voting. COMP3011 Web Services and Web Data In this module, you will learn how search engines and other key web services

COMP3940 Graph Algorithms and Complexity Theory work. You will learn how cloud computing provides such services and how to build applications that make use of these services. You will also learn how to incorporate open and linked data into web applications. Many problems arising in diverse areas such as transportation, telecommunication, molecular biology, industrial engineering, etc. can be modeled by graphs. These problems then reduce to optimizing some graph parameter. Since the objects we are dealing with are finite, we can envision an algorithm that would list all the possibilities and go through them to find the desired optima. COMP3910 Combinatorial Optimisation Understand how models can be formulated as combinatorial optimisation problems. Solve optimisation problems with linear programming techniques such as the simplex method and branch-and-bound. Appreciate the role of problem-specific heuristics in improving solution algorithms. COMP3631 COMP3771 Robotics User Adaptive Intelligent Systems You will gain experience and understanding of techniques for user modelling and their application areas to build user adaptive intelligent systems. You will apply human-computer interaction methodology to identify user needs, draw requirements, design, and evaluate user-adaptive systems and implement one or more recommender system techniques in a practical application. Year 4 (MEng) COMP5530M Group Project The Group Project provides an opportunity for you to work on a major computing project as part of a team. The project will further develop your team working/ project management skills and your technical knowledge and skills. COMP5221M Cloud Computing In this mobile you will learn about the key techniques and technologies that underpin cloud computing and look at the new directions that Cloud Computing is taking. You will have the opportunity to design the framework of Cloud architecture and will gain experience of using a range of middleware tools to implement a cloud application. COMP5911M Advance Software Engineering This module covers different approaches to the design and development of large software systems. You will study different design techniques and technologies that can be used to address issues of efficiency, modularity, security and maintainability. COMP5111M Big Data Systems The aim of the module is for students to develop a practical understanding of the methods, techniques and architectures required to build big data systems, so that knowledge may be extracted from large heterogeneous data sets COMP5930M Scientific Computation Understand the range of problems that can be formulated as nonlinear equation systems. Consider standard algorithms for these problems and the efficiency of their implementation. Demonstrate how state-of-the-art algorithms deliver gains in efficiency and allow the solution of large, sparse systems of nonlinear equations. COMP5940M Graph Theory: Structure and Algorithms This module introduces students to the main techniques and results from structural graph theory and considers their algorithmic applications. It covers classical results and more recent ones, and introduces current research techniques. COMP5880M Scientific Visualisation This module therefore covers both visual representation of data, but also systematic development of applications supporting scientific workflow using existing toolkits and libraries both at the small and the large scale. Material covered will include contours, isosurfaces, direct volume rendering, streamlines and other vector visualisations and topological analysis and visualisation, pipelined models of visualisation, modern visualisation toolkits and domain-based visualisation development.

COMP5860M Semantic Technologies and Applications The module covers both the architecture and key technologies of the Semantic Web. You will learn the principles of ontology engineering and use common Semantic Web tools to apply these technologies to a number of applications. COMP5621M COMP5622M Bio-computation Text analytics and natural language processing COMP5870M Image Analysis This module studies a selection of these techniques in depth. You will learn about the problems and solutions in particular application areas; how to evaluate the performance of the methods and to apply the theoretical knowledge gained to design image analysis systems for solving specific problems. COMP5830M Machine Learning and Knowledge Representation This module covers the fundamental principles of knowledge representation and machine learning. You will learn about some of key algorithms used in Automated Reasoning and Machine Learning and use software tools to compute inferences by Automated Reasoning and to build models from data using Machine Learning algorithms. This is an indicative list and actual content may vary as we regularly review the content or our courses in light of new experienc es and developments in the field.