1. Computer Science information Guide
1. School of Computer Science
2. Course(来自SharePoint)
A: Autumn ; S: Spring
2.1. Without CS background
Code | Module Name | Credits | Convenor | Abstract | Exam | Advice |
ACOMP4008 | Programming | 20 | This module provides a comprehensive overview of the principles of programming, including such concepts as procedural logic, variables, flow control, input and output and the analysis and design of programs(Python). The emphasis in this course will be game development in a small group using Python. |
| 1. Python基础课程 2. PyGame做项目 | |
ACOMP4035 | Systems and Networks | 20 | Unix is introduced in terms of the Unix file structure, Input and Output and the Command Line Interface that is used to manipulate these. Computer communication is taught with respect to the Client-Server Architecture and applications that use this. TCP/IP、IPv4\IPv6、LANs\WANs、Wifi、routers、VPN、Firewalls. |
| 1. Unix操作系统 2. 基本网络协议及C-S架构 | |
ACOMP4039 | Databases, Interfaces and Software Design Principles | 20 | To give an understanding of the structure and workings of rational database systems and provide some insight into recent developments. To enable students to gain experience with design and implementation of database driven web interfaces. Wed design && SQL. |
| 1. SQL dev 2. Web dev |
2.2. AI Module
Code | Module Name | Credits | Convenor | Abstract | Exam | Advice |
ACOMP3008 | Knowledge Representation and Reasoning | 20 | This course examines how knowledge can be represented symbolically and how it can be manipulated in an automated way by reasoning programs. Some of the topics you’ll cover include: first order logic; resolution; description logic; default reasoning; rule-based systems; belief networks; planning and reasoning about actions. |
| ||
ACOMP3009 | Machine Learning | 20 | Providing you with an introduction to machine learning, pattern recognition, and data mining techniques.You'll cover a range of topics including: machine learning foundations; pattern recognition foundations; artificial neural networks; deep learning; applications of machine learning; data mining techniques and evaluating hypotheses. |
| AI基础课 | |
ACOMP4034 | Autonomous Robotic Systems | 20 | A significant part of the module is laboratory-based, utilising physical robotic hardware to reinforce the theoretical principles covered. Cover a range of topics including basic behavioural control architectures, multi-source data aggregation, programming of multiple behaviours, capabilities and limitations of sensors and actuators, and filtering techniques. |
| 1. HCI智能机器人方向 2. 老师首次在UoN教学 3. 疫情情况主要使用模拟软件 4. Python和数学基础 | |
ACOMP4041 | Linear and Discrete Optimization | 20 | To develop the skills for modelling a range of optimization problems in business and industry using mathematical models.To develop skills for identifying, analyzing, modelling and solving real-world linear and discrete optimization.The module covers topics such as linear programming, integer programming, combinatorial optimization, modelling and optimization software, and multi-objective optimization among others. |
| 1. 线性/离散优化,运筹学 2. 需要一定数学基础(线性代数) 3. 少量编程,偏重数学模型 | |
ACOMP3074 | Human-AI Interaction | 20 | This module is an introduction to the design of human-AI interaction to ensure the AI-driven systems we built are beneficial and useful to people. The module will cover practical design topics including methods and techniques such as natural language processing and human-robot interaction. |
| HCI方向,涉及NLP | |
SCOMP3004 | Designing Intelligent Agents | 20 | You'll be given a basic introduction to the analysis and design of intelligent agents, software systems which perceive their environment and act in that environment in pursuit of their goals. Cover topics including task environments, reactive, deliberative and hybrid architectures for individual agents, and architectures and coordination mechanisms for multi-agent systems. |
| 智能代理,如: Siri | |
SCOMP4002 | Games | 20 | This module covers the history, development and state-of-the art in computer games and technological entertainment. Students will use appropriate software environments to individually develop a number of games to explore relevant theoretical design and practical implementation concepts. |
| HCI方向 | |
SCOMP4030 | Data Modelling and Analysis | 20 | Topics covered include: basic statistics; types of data; data visualisation techniques; data modelling; data pre-processing methods including data imputation; forecasting methods; clustering and classification methods (decision trees, naīve bayes classifiers, k-nearest neighbours); data simulation and model interpretation techniques to aid decision support. |
| DS方向,数据建模 | |
SCOMP4033 | Fuzzy Logic and Fuzzy Systems | 20 | This module aims to provide a thorough understanding of fuzzy sets and systems from a theoretical and practical perspective. Topics commonly include: type-1 fuzzy sets, type-1 fuzzy logic systems, type-1 fuzzy set based applications, type-2 fuzzy sets, type-2 fuzzy logic systems, type-2 fuzzy set based applications. R language. |
| 模糊系统(感觉真模糊,哈哈哈) | |
SCOMP4038 | Simulation and Optimization for Decision Support | 20 | This module offers insight into the applications of selected methods of decision support. The foundations for applying these methods are derived from Operations Research Simulation, Social Simulation, Data Science, Automated Scheduling, and Decision Analysis. |
| 决策支持系统DDS,数据库管理系统相关 | |
SCOMP4103 | Big Data | 10 | This includes the MapReduce programming model, as well as an overview of recent technologies (Hadoop ecosystem, and Apache Spark). Then, you will learn how to interact with the latest APIs of Apache Spark (RDDs, DataFrames and Datasets) to create distributed programs capable of dealing with big datasets (using Python and/or Scala). Finally, we will dive into the analytics part of the course, including data pre-processing approaches, distributed machine learning algorithms and data stream algorithms. To do so, you will use the Machine learning library of Apache Spark (MLlib) to understand how some machine learning algorithms (e.g. Decision Trees, Random Forests, k-means) can be deployed at a scale. |
| Hadoop生态、MapReduce |
2.3. Other Module
Code | Module Name | Credits | Convenor | Abstract | Exam | Advice |
ACOMP4019 | Advanced Algorithms and Data Structures | 10 | The topics covered may include: Binary Search Trees (Red-Black Trees), Dynamic Programming, Graph Algorithms (e.g. shortest path, maximum flows), Amortized Analysis, Priority Queues (Binary, Leftist and Fibonacci Heaps), String Algorithms (string matching, longest common subsequence). Among the special topics relevant to contemporary application, we may study: Public Key Cryptography (the RSA cryptosystem), the Page-rank algorithm (from Google search), Neural Networks and other data structures and algorithms in AI. Haskell |
| 计算机高级基础:算法与数据结构 | |
ACOMP4040 | Project in Advanced Algorithms and Data Structures | 10 | This project builds on the theory presented in COMP4019, and involves a self-guided study of selected advanced data structures and algorithms. The outcome of the project is an implementation of the algorithms and data structures with appropriate documentation. Haskell |
| ||
ACOMP4032 | Advanced Computer Networks | 20 | This module will provide students with an advanced knowledge of computer communications networks, using examples from all-IP core telecommunications networks to illustrate aspects of transmission coding, error control, media access, internet protocols, routing, presentation coding, services and security. The module will provide an advanced knowledge of various routing and query protocols in: Ad Hoc Networks; Mobile Ad Hoc Networks (MANETs); Vehicular Ad Hoc Networks (VANETs); Disconnection/Disruption/Delay Tolerant Networks (DTNs); |
| 1. 高级计算机网络,深度不浅 2. 老师很Professional | |
ACOMP4075 | Real-world Functional Programming | 10 | This module introduces tools, techniques, and theory needed for programming real-world applications functionally, with a particular emphasis on the inherent benefits of functional programming and strong typing for reuse, maintenance, concurrency, distribution, and high availability. The medium of instruction is mainly Haskell. |
| Haskell, 你懂的 | |
ACOMP4095 | Real-world Functional Programming Project | 10 | What is important is that the ideas underpinning the project is related to real-world functional programming. As a first step, each student need to define their project through a project pitch. The pitch must outline the project, explain why the project is in scope of G54RFP/COPM4075, state what languages or frameworks are going to be used, justify that the size of the project is appropriate for a 10 credit module (100 h of work), and state what the outcome of a successful project is. |
| COMP4075的项目 | |
SCOMP3011 | Computer Graphics | 20 | You will learn the principles of 3D computer graphics, focusing on modelling and viewing objects/scene in a three-dimensional (3D) world on the computer, rendering the objects/scene to give it realism, and projecting objects/scene onto 2D display in analogy to your taking a photo of a 3D world using a camera. OpenGL programming skills |
| OpenGL感兴趣的 | |
SCOMP4036 | Mixed Reality | 20 | You will gain knowledge and hands-on experience of design and development with key technologies along this continuum, including working with both ubiquitous computing based sensor systems and locative media. You will learn about the Human-Computer Interaction challenges that need to be considered when creating mixed reality applications along with strategies for addressing them, so as to create compelling and reliable user experiences. |
| HCI方向 | |
SCOMP3021 | Fundamentals of Information Visualisation | 10 | You will learn about the differences between scientific and creative approaches to constructing visualisations, and consider some important challenges such as the representation of ambiguous or time-based data. You will also learn about psychological theories that help explain how humans process information, and consider their relevance to the design of effective visualisations. |
| 数据可视化,HCI方向 | |
SCOMP3022 | Information Visualisation Project | 10 | You will gain experience in web-based technologies that enable the implementation of multi-layered and interactive information visualisations, supported through lab work that introduces specific features of these technologies.This module will require some challenging programming work, and assumes some basic knowledge of HTML, CSS and Javascript. |
| 需要一些设计和前端的知识 | |
SCOMP4074 | Programs, Proofs and Types | 20 | This module focuses on some of the fundamental mathematical concepts that underlie modern programming and programming languages emphasizing the role of types. We will use a dependently typed programming language / interactive proof system (e.g. Agda) to implement some concepts on a computer. Example topics include: basic lambda calculus; operational semantics; domain theory; types, propositions as types and formal verification. |
| 1. Agda,类Haskell | |
SCOMP4101 | Malware Analysis | 10 | We will look at how to setup a safe environment in which to analyse Malware, as well as exploring both static and dynamic malware analysis. Although malware takes many forms, the focus of this course will primarily be on executable binaries, covering both object file formats, but also the use of tools such as debuggers, virtual machines, and disassemblers to explore them. Obfuscation and packing schemes will be discussed, along with various issues related to Windows internals. |
| 恶意软件分析 |
3. Course-Choosing Personal Advice
(1). 课程方向相近,相互联系或在大方向上互补
(2). 老师职称背景、近期论文方向、是否为某Lab Member,后期选导师的时候比较重要
(3). 考试及最终评估形式