Java程序辅导

C C++ Java Python Processing编程在线培训 程序编写 软件开发 视频讲解

客服在线QQ:2653320439 微信:ittutor Email:itutor@qq.com
wx: cjtutor
QQ: 2653320439
Computer Science BSc 2022 entry - University of Nottingham Triangle Browser does not support script. Browser does not support script. Browser does not support script. Browser does not support script. Skip navigation UK China Malaysia Magnifying glass Study Study with us Undergraduate Postgraduate International Students Degree Apprenticeships Scholarships Open Days About History Awards Calendar and key dates University structure Global University strategy Facts and figures Research Case studies Innovation and partnerships Public engagement Policy advisory Business Knowledge and expertise Develop your workforce Recruit our students Funding opportunities Access facilities and equipment Case studies News and events News Blogs Upcoming events Contact Media Team Contact Study with us enquiries General enquiries School and Department Staff look-up Visit us Current students Staff Alumni Skip Navigation Study Study with us Browse study area Study Options Undergraduate Postgraduate International Students Degree Apprenticeships Fees and funding Open Days Upcoming events Virtual tour Campus Information Campus life Accommodation Student Union Sport Student Services Living in Nottingham study-popular-links Chat to students Graduate recruitment Clearing Facilities Libraries About Discover more about us Browse about us area About Us History Awards Calendar and key dates University structure Global University strategy Facts and figures Browse By Faculties School or department Research centres and institutes Professional Service Department Jobs Current vacancies How to apply Benefits FAQs Contact Jobs Team Related links Campus information Getting here Our response to the coronavirus crisis Vice-Chancellor Facilities Libraries Lakeside Arts David Ross Sports Village Research Discover our research Browse research area Our Research Impact Case studies Public engagement Policy advisory Innovation and partnerships Browse By Faculty research Research centres and institutes Facilities and Resources Libraries Conference centres Find an academic Contact Research Team Related links Research news Beacons of excellence Our response to the coronavirus crisis Interdisciplinary research Researcher academy Working with business Digital research Research policy and engagement Business Working with business Knowledge and expertise Develop your workforce Recruit our students Funding opportunities Access facilities and equipment Case studies Collaborate with us News and events Explore news and events News Blogs Upcoming events Contact Media Team Contact Get in-touch Study with us enquiries General enquiries School and Department Staff look-up Visit us Search Magnifying glass Current students Staff Alumni UK China Malaysia What are you looking for? Search Browser does not support script. Browser does not support script. This course is closed to international applicants for 2022 entry. UG Study > All courses > Computer Science BSc 2022 Computer Science BSc UCAS: G400 A level offer: AAA (AAB if you have an A in computer science/computing) Start date: September 2022 Duration: 3 years full-time Apply now Book an open day Contact us Course overview Entry requirements Learning and assessment Modules Fees and funding Careers Apply now Course overview Computer science is more than just programming. It is about problem-solving and creativity. Our range of optional modules allows you to explore the areas of computer science that excite you. These include user experience design, virtual reality, artificial intelligence and machine learning. You'll take part in a group project in year two which prepares you for designing and creating the computer systems of the future. Many projects are in collaboration with industry. Previous students have worked with Capital One, Experian, IBM and UniDays. All these companies have offices in Nottingham. This project is great for your CV and can help you make contacts ready for when you start your career. You may recognise some of our tutors from the Computerphile YouTube series. It is this inspiring teaching that you can expect at Nottingham. Why choose this course? Average salary £33,181 Average starting salary for computer science graduates. HESA Graduate Outcomes 2020, using methodology set by The Guardian Scholarships available up to 50% off your tuition fees. Excellence in Computer Science Scholarship Accredited by the British Computer Society Flexibility to transfer between computer science degrees during year one No experience in programming is needed to apply for this course Entry requirements All candidates are considered on an individual basis and we accept a broad range of qualifications. The entrance requirements below apply to 2022 entry. Home / UK students EU / International students Alternative qualifications and contextual offers UK entry requirements A level AAA (AAB if you have an A in computer science/computing) Required subjects GCSE Maths at grade B and GCSE English at grade C IB score 36 with 5 in maths at Standard/Higher Level or GCSE maths, 5 (B) or above. 34 with 6 in computer science at Higher Level, and 5 in maths at Standard/Higher Level or GCSE maths, 5 (B) or above International entry requirements IB score 36 with 5 in maths at Standard/Higher Level or GCSE maths, 5 (B) or above. 34 with 6 in computer science at Higher Level, and 5 in maths at Standard/Higher Level or GCSE maths, 5 (B) or above IELTS 6.5 (6.0 in each element) High school qualifications Check our country-specific information for guidance on qualifications from your country A level AAA (AAB if you have an A in computer science/computing) Required subjects GCSE Maths at grade B and GCSE English at grade C English language requirements As well as IELTS (listed above), we also accept other English language qualifications. This includes TOEFL iBT, Pearson PTE, GCSE, IB and O level English. Check our English language policies and equivalencies for further details. For presessional English or one-year foundation courses, you must take IELTS for UKVI to meet visa regulations. If you need support to meet the required level, you may be able to attend a Presessional English for Academic Purposes (PEAP) course. Our Centre for English Language Education is accredited by the British Council for the teaching of English in the UK. If you successfully complete your presessional course to the required level, you can then progress to your degree course. This means that you won't need to retake IELTS or equivalent. Visa restrictions International students must have valid UK immigration permissions for any courses or study period where teaching takes place in the UK. Student route visas can be issued for eligible students studying full-time courses. The University of Nottingham does not sponsor a student visa for students studying part-time courses. The Standard Visitor visa route is not appropriate in all cases. Please contact the university’s Visa and Immigration team if you need advice about your visa options. Alternative qualifications We recognise that applicants have a wealth of different experiences and follow a variety of pathways into higher education. Consequently we treat all applicants with alternative qualifications (besides A-levels and the International Baccalaureate) on an individual basis, and we gladly accept students with a whole range of less conventional qualifications including: Access to HE Diploma Advanced Diploma BTEC HND/HNC BTEC Extended Diploma This list is not exhaustive. The entry requirements for alternative qualifications can be quite specific; for example you may need to take certain modules and achieve a specified grade in those modules. Please contact us to discuss the transferability of your qualification. Please see the alternative qualifications page for more information. Contextual offers We recognise the potential of talented students from all backgrounds. We make contextual offers to students whose personal circumstances may have restricted achievement at school or college. These offers are usually one grade lower than the advertised entry requirements. To qualify for a contextual offer, you must have Home/UK fee status and meet specific criteria – check if you’re eligible. A levels AAA (AAB if you have an A in computer science/computing). Please note that A level ICT or IT do not qualify for the lower level. GCSEs Maths at grade B and GCSE English at grade C Foundation progression options If you don't meet our entry requirements there is the option to study the engineering and physical sciences foundation programme. If you successfully pass the year, you can progress to any of our computer science courses. There is a course for UK students and one for EU/international students. Learning and assessment How you will learn Teaching methods Computer labs Lectures Tutorials How you will be assessed You will be given a copy of our marking criteria which provides guidance on how your work is assessed. Your work will be marked in a timely manner and you will receive regular feedback. The pass mark for each module is 40%. Your final degree classification will be based on marks gained for your second and subsequent years of study. Year two is worth 33% with year three worth 67%.  Assessment methods Coursework Group project Research project Written exam Contact time and study hours As a guide, one credit equals approximately 10 hours of work. You will spend around half of your time in lectures, tutorials, mentoring sessions and computer labs. The remaining time is spent in independent study. Tutorial groups are usually made up of eight students. They meet every other week during term-time. Core modules are taught by a mixture of professors, associate professors and teaching associates with help from PhD students and research staff. Study abroad Students who choose to study abroad are more likely to achieve a first-class degree and earn more on average than students who did not (Gone International: Rising Aspirations report 2016/17). Countries you could go to You can apply to spend a semester in countries such as: Australia Canada Hong Kong Ireland Mexico New Zealand Singapore If you'd prefer to do a year, you can choose our MSci Computer Science including International Year. All teaching is in English. You must achieve a minimum 60% average pass rate to study abroad. University of Nottingham Ningbo China and University of Nottingham Malaysia We are a global university with campuses in China and Malaysia. You have the option of spending a year or semester at either one of these campuses in years two and three. For example, you could be in China for year two spring semester and in Malaysia for year three autumn semester.  All teaching is in English and you'll study the same modules as if you were in the UK. Year in industry Choose our industry year course and you could join previous students who have worked at Capital One, ASOS and Experian. A year in industry gives you the opportunity to spend a year on placement with an industrial partner. This can help improve your employability and experience working in a real company You will be supported by the University as you apply for placements. Study Abroad and the Year in Industry are subject to students meeting minimum academic requirements. Opportunities may change at any time for a number of reasons, including curriculum developments, changes to arrangements with partner universities, travel restrictions or other circumstances outside of the university’s control. Every effort will be made to update information as quickly as possible should a change occur. Browser does not support script. Browser does not support script. Aaron Osher Aaron talks about why he chose to study computer science at Nottingham. Modules Year one Year two Year three In the first year you will learn the foundations of computer science. You will be introduced to programming languages such as C, Java and Haskell. We don't expect you to have programmed before so you don't need to worry if you have no experience.  Mathematics for Computer Scientists You’ll cover the basic concepts in mathematics which are of relevance to the computer scientists. These include: logic sets functions and relations graphs induction basic probability statistics and matrices Systems and Architecture This module runs alongside 'Computer Fundamentals' and provides an expanded view by considering how real computer systems (such as ARM, x86, Linux and *BSD) and networks work. You’ll also cover the principles of the lower level implementation of I/O using polling and interrupts, and the use of exceptions; how memory and storage are organized as well addressing the issues arising from multicore systems.  You’ll spend around five hours per week in tutorials, lectures and computer classes. Programming and Algorithms The module introduces basic principles of programming and algorithms. It covers fundamental programming constructs, such as types and variables, expressions, control structures, and functions. You'll learn how to design and analyse simple algorithms and data structures that allow efficient storage and manipulation of data. You'll also become familiar with basic software development methodology. You will spend around six hours per week in lectures, computer classes and tutorials. Computer Fundamentals You will gain a basic understanding of the fundamental architecture of computers and computer networks. You’ll learn how the simple building blocks of digital logic can be put together in different ways to build an entire computer. You’ll also learn how modern computer systems and networks are constructed of hierarchical layers of functionality which build on and abstract the layers below. You will spend five hours per week in tutorials, lectures and computer classes. Introduction to Software Engineering MSc You will be introduced to the concept of software engineering and will be taken through the software development process: deciding exactly what should be built (requirements and specification), designing how it should be built (software architecture), development strategies (implementation and testing), and maintaining change (software evolution and maintenance). Database and Interfaces This module considers both the structure of databases, including how to make them fast, efficient and reliable, and the appropriate user interfaces which will make them easy to interact with for users. You will start by looking at how to design a database, gaining an understanding of the standard features that management systems provide and how you can best utilise them, then develop an interactive application to access your database. Through the lectures and computing sessions you will learn how to design and implement systems using a standard database management system, web technologies and GUI interfaces through practical programming/system examples. Programming Paradigms In this module you will learn the basic principles of the object-oriented and functional approaches to programming, using the languages Java and Haskell. You will also see how they can be used in practice to write a range of different kinds of programs. Fundamentals of Artificial Intelligence You will gain a broad overview of the fundamental theories and techniques of artificial intelligence (AI). You’ll explore how computers can produce intelligent behaviour, and will consider topics such as the history of AI, AI search techniques, neural networks, data mining, philosophical and ethical issues, and knowledge representation and reasoning. You will spend two hours per week in lectures for this module.  Mathematics for Computer Scientists 2 You'll cover the following basic concepts in mathematics which are of relevance to the development of computer software. Topics which will be covered include linear algebra and calculus.  The above is a sample of the typical modules we offer but is not intended to be construed and/or relied upon as a definitive list of the modules that will be available in any given year. Modules (including methods of assessment) may change or be updated, or modules may be cancelled, over the duration of the course due to a number of reasons such as curriculum developments or staffing changes. Please refer to the module catalogue for information on available modules. This content was last updated on Friday 25 February 2022. Core modules Operating Systems and Concurrency  This course covers the fundamental principles that underpin operating systems and concurrency. Topics covered include the architecture of operating systems, process and memory management, storage, I/O, and virtualisation. The principles of concurrency will be introduced from both the perspective of an operating system and user applications. Specific topics on concurrency include: hardware support for concurrency; mutual exclusion and condition synchronisation; monitors; safety and liveness properties of concurrent algorithms, and the use of threads and synchronisation. Software Engineering Group Project Working in groups of around five to six people, you’ll be assigned a supervisor who will provide you with a short written description of a computer application to be designed, programmed, and documented during the course of the module. Each group will meet twice a week, once with your supervisor and once without; you’ll also have four introductory one hour lectures.  Algorithms, Correctness and Efficiency This module covers important aspects of algorithms, namely their correctness and efficiency. You’ll study topics such as: proofs in propositional logic and predicate logic classical vs. intuitionistic reasoning basic operations on types verification of list based programs introduction to program specification and program correctness To address the issue of efficiency we cover the use of mathematical descriptions of the computational resources needed to support algorithm design decisions. The emphasis is upon understanding data structures and algorithms so as to be able to design and select them appropriately for solving a given problem. Languages and Computation You'll investigate classes of formal language and the practical uses of this theory, applying this to a series of abstract machines ultimately leading to a discussion on what computation is and what can and cannot be computed. You'll focus in particular on language recognition, but will study a range of topics including: finite state machines regular expressions context-free grammars Turing machines Lambda calculus This module builds on parts of the ACE module addressing data structures and formal reasoning and introduces concepts which are important to understand the analysis of algorithms in terms of their complexity. Developing Maintainable Software To build on first year programming modules and further develop programming ability and experience, including ability to develop and understand a large piece of software, build user interfaces and follow a realistic design and testing procedure. Topic examples include: design diagrams and modelling; GUI programming; testing software engineering methodologies (including agile development and tools), refactoring; design patterns and SOLID principles; all in the context of understanding anddeveloping maintainable third-party code. You will spend around three hours per week in lectures and two hours per week in computer classes studying for this module. Optional modules Artificial Intelligence Methods This module builds on the Fundamentals of Artificial Intelligence module. The emphasis is on building on the AI research strengths in the School. You will be introduced to key topics such as AI techniques, fuzzy logic and planning, and modern search techniques such as Iterated Local Search, Tabu Search, Simulated Annealing, Genetic Algorithms, and Hyper-heuristics, etc. You will also explore the implementation of some AI techniques. Introduction to Human Computer Interaction An overview of the field of human computer interaction which aims to understand people's interactions with technology and how to apply this knowledge in the design of usable interactive computer systems. The module will introduce the concept of usability and will examine different design approaches and evaluation methods. Advanced Functional Programming Building upon the introductory Functional Programming module in year one, you’ll focus on a number of more advanced topics such as:  programming with effects reasoning about programs control flow advanced libraries improving efficiency type systems functional pearls You’ll spend around four hours per week in lectures and computer classes. Introduction to Image Processing This module introduces the field of digital image processing, a fundamental component of digital photography, television, computer graphics and computer vision. You’ll cover topics including: image processing and its applications fundamentals of digital images digital image processing theory and practice applications of image processing You’ll spend around three hours in lectures and computer classes each week. C++ Programming You will cover the programming material and concepts necessary to obtain an understanding of the C++ programming language. You will spend around four hours per week in lectures and computer classes and will be expected to take additional time to practice and to produce your coursework. Software Specification You will cover two main aspects of the software engineering process in depth: requirements and design. This will cover modern approaches to large scale requirements and engineering and specification and approaches to systems and architectural design.  Distributed Systems This module covers the following topics: overview of parallel and distributed computing applications of distributed systems fundamental concepts of distributed systems (processes and message passing, naming and discovery, fault tolerance and partial failure, consistency and cacheing, security) reliable network communication distributed system design approaches (direct vs indirect communication, client-server vs peer-to-peer, stateful vs stateless interfaces) introduction to distributed data management introduction to distributed algorithms Artificial Intelligence Methods (10cr) This module builds on the first year Introduction to AI, which covers the ACM learning outcomes, and introduces new areas. The emphasis is on building on the AI research strengths in the School. As a Launchpad it gives brief introductions to topics including AI techniques, fuzzy logic and planning, and modern search techniques such Iterated Local Search, Tabu Search, Simulated Annealing, Evolutionary Algorithms, Genetic Algorithms and Hyper-heuristics, etc. The above is a sample of the typical modules we offer but is not intended to be construed and/or relied upon as a definitive list of the modules that will be available in any given year. Modules (including methods of assessment) may change or be updated, or modules may be cancelled, over the duration of the course due to a number of reasons such as curriculum developments or staffing changes. Please refer to the module catalogue for information on available modules. This content was last updated on Core modules Professional Ethics in Computing This module looks broadly into professional ethics within the scope of the computing discipline. It covers a range of professional, ethical, social and legal issues in order to study the impact that computer systems have in society and the implications of this from the perspective of the computing profession. In particular, the module covers topics such as introduction to ethics, critical thinking, professionalism, privacy, intellectual and intangible property, cyber-behaviour, safety, reliability accountability, all these within the context of computer systems development. Computer Security Spending four hours a week in lectures and computer classes, you’ll cover the following topics: security of the computer security of networks security and the internet software and hardware security mobile security basic cryptography Optional modules Compilers You’ll examine aspects of language and compiler design by looking at the techniques and tools that are used to construct compilers for high level programming languages. Topics covered include: parsing; types and type systems; run-time organisation; memory management; code generation; and optimisation. You’ll spend around four hours each week in lectures and computer classes.  Collaboration and Communication Technologies In this module, you will consider the design of collaboration and communication technologies used in a variety of different contexts including workplace, domestic and leisure environments. You will consider the basic principles of such technologies, explore the technologies from a social perspective, consider their impact on human behaviour and critically reflect on their design from a human-centred perspective. Software Quality Management Through a two hour lecture each week, you’ll be introduced to concepts and techniques for software testing and will be given an insight into the use of artificial and computational intelligence for automated software testing. You’ll also review recent industry trends on software quality assurance and testing. Collaboration and Communication Technologies Development Project You are given the opportunity to combine your developing CCT knowledge with your programming abilities. You have the whole semester to build a working collaborative project either individually, or you can opt to work in a team, and produce a report on how it supports collaboration according to CCT theory. The primary focus is on building a working application, and so existing strong programming ability is required.  Machine Learning Providing an introduction to machine learning, pattern recognition, and data mining techniques, this module will enable you to consider both systems which are able to develop their own rules from trial-and-error experience to solve problems as well as systems that find patterns in data without any supervision.  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 evaluating hypotheses You’ll spend around six hours each week in lectures and computer classes for this module. Advanced Algorithms and Data Structures You'll study the theory used in the design and analysis of advanced algorithms and data structures. Topics covered include string algorithms (such as for string matching, longest common subsequence), graph algorithms (such as for minimum cuts and maximum flows, and Google's pagerank algorithm), advanced data structures (such as Fibonacci heaps and Bloom filters), and randomised search heuristics (evolutionary algorithms). You'll learn all the necessary probability theory will be introduced, including random variables and concentration inequalities. The theory is practiced in weekly labs where we learn how to implement the algorithms and data structures as functional and imperative programs (using the languages Haskell and C), and apply these to solve large instances of real-world problems.  Mobile Device Programming You’ll look at the development of software applications for mobile devices, with a practical focus on the Android operating system. You’ll consider and use the software development environments for currently available platforms and the typical hardware architecture of mobile devices. You’ll spend around three hours per week in lectures and computer classes. Advanced Computer Networks This module will provide you 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 describe Software Defined Networks (SDNs) and provide examples of using them to enable very large scale complex network control. It will also provide 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) impact of new networking developments, such as security risks, ethics, interception and data protection will be reflected and discussed systematically Autonomous Robotic Systems This module introduces you to the computer science of robotics, giving you an understanding of the hardware and software principles appropriate for control and localisation of autonomous mobile robots. A significant part of the module is laboratory-based, utilising physical robotic hardware to reinforce the theoretical principles covered. You will 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. Project in Advanced Algorithms and Data Structures This project involves a self-guided study of a selected advanced algorithm or data structure. The outcome of the project is an analysis and implementation of the algorithm or data structure, as well as an empirical evaluation, preferably on a real-world data set of significant size. Linear and Discrete Optimisation This module provides an entry point to computational optimisation techniques, in particular for modelling and solving linear and discrete optimisation problems like diet optimisation, network flows, task assignment, scheduling, bin-packing, travelling salesmen, facility location, vehicle routing and related problems. In this module, you will learn to interpret and develop algebraic models for a variety of real-world linear and discrete optimisation problems to then use powerful optimization software (linear, integer and mixed-integer solvers) to produce a solution. The module covers topics such as: linear programming integer programming combinatorial optimisation modelling and optimisation software multi-objective optimisation  Optimisation technology is ubiquitous in today's world, for applications in logistics, finance, manufacturing, workforce planning, product selection, healthcare, and any other area where the limited resources must be used efficiently. Optimisation enables prescriptive analytics in order to support and automate decision-making. Real-world Functional Programming 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. These are all aspects that have contributed to the popularity of functional programming for demanding applications eg in the finance industry and have also had a significant impact on the design of many modern programming languages such as Java, C#, and Rust, and frameworks such as MapReduce and React. Topics typically include functional design patterns, pure data structures, reactive programming, concurrency, frameworks for web/cloud programming, property-based testing, and embedded domain-specific languages. The medium of instruction is mainly Haskell, but other functional languages, for example, Erlang, may be used where appropriate and for a broader perspective. If you wish to study some particular topic in scope of this module in more depth, you are encouraged to consider taking the module Real-world Functional Programming Project. Individual Dissertation You’ll perform an individual project on a topic in computer science. You’ll produce a 15-25,000 word project report under the guidance of your supervisor, who you will meet with for an hour each week. The topic can be any area of the subject which is of mutual interest to both the student and supervisor, but should involve a substantial software development component.  Computer Vision You’ll examine current techniques for the extraction of useful information about a physical situation from individual and sets of images. You’ll cover a range of methods and applications, with particular emphasis being placed on the identification of objects, recovery of three-dimensional shape and motion, and the recognition of events. You’ll learn how to implement some of these methods in the industry-standard programming environment MATLAB. You’ll spend around three hours a week in lectures and laboratory sessions. Games This module covers the history, development and state-of-the-art in computer games and technological entertainment. You will gain an appreciation of the range of gaming applications available and be able to chart their emergence as a prevalent form of entertainment. You will study the fundamental principles of theoretical game design and how these can be applied to a variety of modern computer games. In addition, you will study the development of games as complex software systems. Specific software design issues to be considered will include the software architecture of games, and the technical issues associated with networked and multiplayer games. Finally, you will use appropriate software environments to individually develop a number of games to explore relevant theoretical design and practical implementation concepts. Computer Graphics You’ll examine the principles of 3D computer graphics, focusing on modelling the 3D world on the computer, projecting onto 2D display and rendering 2D display to give it realism. Through weekly lectures and laboratory sessions, you’ll explore various methods and requirements in 3D computer graphics, balancing efficiency and realism. Software Engineering Management This module is part of the software engineering theme. This module covers the following topics: management of the introduction of new software or IT systems software project management practices practical experience of use of an Agile software development project management process practical experience of use of Test Driven Development, pair programming and various approaches to software management tools, including the use of software versioning, project management planning tools and continuous integration and deployment Data Modelling and Analysis This module will enable you to appreciate the range of data analysis problems that can be modelled computationally and a range of techniques that are suitable to analyse and solve those problems. 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 model interpretation techniques to aid decision support Spending around four hours each week in lectures and computer classes, appropriate software (eg. R, Weka) will be used to illustrate the topics you'll cover. Fuzzy Logic and Fuzzy Systems 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. You will also be exposed to some of the cutting-edge research topics in uncertain data and decision making, e.g., based on type-2 fuzzy logic as well as other fuzzy logic representations. You will develop practical systems and software in a suitable programming language. Mixed Reality This module focuses on the possibilities and challenges of interaction beyond the desktop. Exploring the 'mixed reality continuum' - a spectrum of emerging computing applications that runs from virtual reality (in which a user is immersed into a computer-generated virtual world) at one extreme, to ubiquitous computing (in which digital materials appear embedded into the everyday physical world - often referred to as the 'Internet of Things') at the other. In the middle of this continuum lie augmented reality and locative media in which the digital appears to be overlaid upon the physical world in different ways. 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. Simulation and Optimisation for Decision Support 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 Decision Analysis Throughout the module, you will become more competent in choosing and implementing the appropriate method for the particular problem at hand. You will spend five hours per week in lectures, workshops, and computer classes for this module. Fundamentals of Information Visualisation Information Visualisation is the process of extracting knowledge from complex data, and presenting it to a user in a manner that this appropriate to their needs. This module provides a foundational understanding of some important issues in information visualisation design. 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. If you want to learn how to design and implement your own interactive information visualisation, you should also take the linked module G53IVP (Information Visualisation Project). Together, these two modules form an integrated 20 credit programme of study. Information Visualisation Project In this module you will gain practical experience of how to design and evaluate a distinctive interactive visualisation which presents information gathered from a complex and interesting data source. 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. Introductory tutorials will be provided to those without this prior knowledge. Programs, Proofs and Types 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 (eg 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. You will engage in a mix of lectures and working in the lab with an interactive proof system. Schools Experience Students taking part in approved activities, such as running code clubs in schools, organising school computing activity days, or becoming active STEM ambassadors, may receive academic credit for demonstrating they have actively contributed to the development of younger students. Students will have undertaken an agreed number of hours on the activities, identified personal goals and targets in relation to these activities and maintained a reflective portfolio as a record of evidence of their competence and achievements. Students will only be able to register for this module with the approval of the convenor/school, once the material for assessment has been discussed. Industrial Experience Students taking part in activities relating to industrial experience in a computer science or software engineering enterprise may obtain academic credit for them. A full list of approved activities is available from the School Office. Activities will be related to demonstration of involvement in development of complex software in a team situation, subject to quality control procedures of an industrial or business practice. Evidence of working to and completing tasks relating to targets set by an employer and directly related to software development/programming will be required. Students will have undertaken an agreed number of hours on the activities, identified personal goals and targets in relation to these activities and maintained a reflective portfolio as a record of evidence of their competence and achievements. The nature of the activities undertaken will be subject to the approval of the module convenor before acceptance on the module. Development Experience Students taking part in activities relating to programming experience such as developing apps in their spare time, contributing to open source projects, or building things in hackathons may receive academic credit for showing they have experience and excellent development skills. The emphasis of this module is that you provide evidence of your significant extra-curricular software development experience. Students will only be able to register for this module with the approval of the convenor/school, once the material for assessment has been checked. Computability You will begin by considering the attempts to characterise the problems that can theoretically be solved by physically possible computational processes, along with the practical implications. You will then consider the area of complexity theory, looking at whether or not problems can be solved under limitations on resources such as time or space. You will examine the classes P and NP, and how to show problems are NP-complete. You will also consider other practically important classes such as: PSPACE, and its relevance to adversarial games, ontologies, and the semantic web; and also complexity classes such as NC relevant to understanding of parallel computation and the limitations of its effectiveness. Designing Intelligent Agents 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. You’ll cover topics including: task environments reactive, deliberative and hybrid architectures for individual agents architectures and coordination mechanisms for multi-agent systems You will spend around four hours each week in lectures and tutorials for this module. Machine Learning Providing you with an introduction to machine learning, pattern recognition, and data mining techniques, this module will enable you to consider both systems which are able to develop their own rules from trial-and-error experience to solve problems, as well as systems that find patterns in data without any supervision. In the latter case, data mining techniques will make the generation of new knowledge possible, including very big data sets. This is now fashionably termed 'big data' science. 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 The above is a sample of the typical modules we offer but is not intended to be construed and/or relied upon as a definitive list of the modules that will be available in any given year. Modules (including methods of assessment) may change or be updated, or modules may be cancelled, over the duration of the course due to a number of reasons such as curriculum developments or staffing changes. Please refer to the module catalogue for information on available modules. This content was last updated on Play video Where you will learn Jubilee Campus Jubilee Campus has eco-friendly buildings, alongside green spaces, wildlife and a lake.  This campus is home to our business, education and computer science schools, as well as a sports centre and student accommodation. You can walk to University Park Campus in around 20 minutes or catch a free hopper bus. Nottingham city centre is 20 minutes away by public bus. Where you will learn Facilities – computer science The School of Computer Science is based on the University’s Jubilee Campus which offers: excellent teaching and research facilities and a dedicated library computer labs with more than 100 powerful PCs running Windows and Linux Apple development lab with Macs and the latest tools to create software for iPhones and iPads,  including the latest Augmented Reality technology Fees and funding UK students £9,250 Per year International students £26,500* Per year *For full details including fees for part-time students and reduced fees during your time studying abroad or on placement (where applicable), see our fees page. If you are a student from the EU, EEA or Switzerland, you may be asked to complete a fee status questionnaire and your answers will be assessed using guidance issued by the UK Council for International Student Affairs (UKCISA) . Additional costs As a student on this course, you should factor some additional costs into your budget, alongside your tuition fees and living expenses. You should be able to access most of the books you’ll need through our libraries, though you may wish to purchase your own copies. If you do these would cost around £40. Due to our commitment to sustainability, we don’t print lecture notes but these are available digitally. You will be given £5 worth of printer credits a year. You are welcome to buy more credits if you need them. It costs 4p to print one black and white page. If you study abroad, you need to consider the travel and living costs associated with your country of choice. This may include visa costs and medical insurance. For the year in industry, you may be paid as a full-time employee but you will need to factor in accommodation or travel costs. Personal laptops are not compulsory as we have computer labs that are open throughout the day but you may want to consider one if you wish to work at home. Scholarships and bursaries To help support our students, we offer an Excellence in Computer Science scholarship. There are three levels to the award, which range from 10-50% off your tuition fees. Scholarships are available for the duration of your course, if you meet progression requirements. Home students* Over one third of our UK students receive our means-tested core bursary, worth up to £1,000 a year. Full details can be found on our financial support pages. * A 'home' student is one who meets certain UK residence criteria. These are the same criteria as apply to eligibility for home funding from Student Finance. International students We offer a range of international undergraduate scholarships for high-achieving international scholars who can put their Nottingham degree to great use in their careers. International scholarships Careers Overview Job prospects Careers advice Accreditation Our graduates are developing the future of computer science. From start-ups to international companies, they are working in roles such as: App Developer Data Analyst  Software Developer Financial Consultant If research is something that interests you then you could continue studying for a masters or PhD.   Our graduates have gone on to work in companies such as: BT Capital One Coca-Cola Enterprises Experian Games Workshop Ministry of Defence Sky Other opportunities to help your employability The Nottingham Internship Scheme provides a range of work experience opportunities and internships throughout the year.  The Nottingham Advantage Award is our free scheme to boost your employability. There are over 200 extracurricular activities to choose from. Average starting salary and career progression 97.6% of undergraduates from the School of Computer Science secured graduate level employment or further study within 15 months of graduation. The average annual salary for these graduates was £33,181.* * HESA Graduate Outcomes 2020. The Graduate Outcomes % is derived using The Guardian University Guide methodology. The average annual salary is based on graduates working full-time within the UK. Studying for a degree at the University of Nottingham will provide you with the type of skills and experiences that will prove invaluable in any career, whichever direction you decide to take. Throughout your time with us, our Careers and Employability Service can work with you to improve your employability skills even further; assisting with job or course applications, searching for appropriate work experience placements and hosting events to bring you closer to a wide range of prospective employers. Have a look at our careers page for an overview of all the employability support and opportunities that we provide to current students. The University of Nottingham is consistently named as one of the most targeted universities by Britain’s leading graduate employers (Ranked in the top ten in The Graduate Market in 2013-2020, High Fliers Research). British Computer Society Accredited by BCS, The Chartered Institute for IT for the purposes of fully meeting the academic requirement for registration as a Chartered IT Professional.  Accredited by BCS, The Chartered Institute for IT on behalf of the Engineering Council for the purposes of fully meeting the academic requirement for Incorporated Engineer and partially meeting the academic requirement for a Chartered Engineer.   Related courses Computer Science MSci Learn how to design and programme the computer systems of the future with this integrated masters. View course Computer Science and Artificial Intelligence with Year in Industry BSc Learn about artificial intelligence and its applications. Gain expert knowledge and key skills in the in-demand industry. View course Computer Science with Artificial Intelligence BSc Learn about artificial intelligence and its applications. Gain expert knowledge and key skills in the in-demand industry. View course Computer Science with Year in Industry BSc Learn how to design the computer systems of the future. Benefit from a year in industry. View course Computer Science with Artificial Intelligence MSci Learn about artificial intelligence and its application. Benefit from an integrated masters. View course Computer Science with Artificial Intelligence including International Year MSci Learn about artificial intelligence and its application. Spend your third year abroad. View course Computer Science including International Year MSci Learn how to design the computer systems of the future while exploring a new culture. View course Computer Science with Cyber Physical Systems BSc Learn how to design and programme the cyberphysical systems of the future. View course Computer Science with Cyber Physical Systems MSci Learn how to design and programme cyber physical systems with an integrated masters. View course Want to know more? Apply now Book an open day Contact us Important information This online prospectus has been drafted in advance of the academic year to which it applies. Every effort has been made to ensure that the information is accurate at the time of publishing, but changes (for example to course content) are likely to occur given the interval between publishing and commencement of the course. It is therefore very important to check this website for any updates before you apply for the course where there has been an interval between you reading this website and applying. Browser does not support script. Browser does not support script. Browser does not support script. Browser does not support script. Quick links Academic schools and departments Professional services Visit our Sport page Cripps Health Centre Lakeside Arts Find out more about our conference facilities Students Student services Health and wellbeing Digital services Moodle Library Staff Working here Wellbeing Digital services Vacancies Alumni Community Connect with our alumni through news and events Donate Get in touch Student Recruitment Support Hub Make an enquiry  Quick links Academic schools and departments Professional services Sport Cripps Health Centre Lakeside Arts Conferences Students Student services Health and wellbeing Digital services Moodle Library Staff Working here Wellbeing Digital services Vacancies Alumni Community Connect Donate Copyright © 2010 - 2021 University of Nottingham Privacy | Terms and conditions | Accessibility | Posting rules | Freedom of information | Charity gateway | Cookie policy | Modern slavery statement Browser does not support script. Browser does not support script. Browser does not support script. Browser does not support script.