Year One
Programming for Computer Scientists
In this module whatever your starting point you will begin your professional understanding of computer programming through problem-solving and fundamental structured and object-oriented programming You will learn the Java programming language through practical work centred on the Warwick Robot Maze environment which will take you from specification to implementation and testing Through practical work in object-oriented concepts such as classes encapsulation arrays and inheritance you will end the course knowing how to write programs in Java and through your ability to analyse errors and testing procedures be able to produce well-designed and well-encapsulated and abstracted code
Read more about the Programming for Computer Scientists moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2022 23 of study)
Design of Information Structures
Following on from Programming for Computer Scientists on the fundamentals of programming this module will teach you all about data structures and how to program them We will look at how we can represent data structures efficiently and how we can apply formal reasoning to them You will also study algorithms that use data structures Successful completion will see you able to understand the structures and concepts underpinning object-oriented programming and able to write programs that operate on large data sets
Read more about the Design of Information Structures moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2022 23 of study)
Computer Organisation and Architecture
You will gain a fundamental understanding of the functional components of a computer system and how they are organised You will focus on hardware and how it performs during the execution of software operations You will also develop practical skills in the use and construction of computer components and their interface with microprocessors By the end of the module you will be expected to understand the operation and organisation of electronic logic elements the architecture of simple microprocessors input output mechanisms memory systems and hierarchies and digital circuits and their interface with microprocessors
Read more about the Computer Organisation and Architecture moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2022 23 of study)
Professional Skills
In your first term you will gain a basic understanding of operating systems together with a working knowledge of the computing systems and their associated tools and applications that will be used within the Department of Computer Science With these foundations in place you will then develop your communication skills both in writing and orally with due attention paid to appropriate academic and technical language You will complete the course studying ethics and behaviour looking at the place of computers in society and the legal aspects of computing
Read more about the Professional Skills moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2022 23 of study)
Electrical and Electronic Circuits
You will gain a secure foundation in the fundamental concepts of circuits devices and systems that underpin all branches of engineering This will include study of the mathematical operations of AC quantities including phasors vectors and complex numbers You will study the electronic components that comprise complex electrical and electronic circuitry and control systems theory You will be encouraged to develop your problem-solving and modelling skills to prepare you for more advanced material in later
Read more about the Electrical and Electronic Circuits moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2022 23 of study)
Engineering Mathematics
Through the practical problem-solving tasks provided in this module you will gain the skills needed to apply the fundamental mathematical concepts that underpin all engineering disciplines and prepare yourself for more advanced study You will apply mathematical probabilistic and statistical tools and techniques to real-life engineering problems make appropriate informed assumptions and examine models using analytical statistical and numerical techniques
Read more about the Engineering Mathematics moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2022 23 of study)
Systems Modelling Simulation and Computation
Systems modelling is an essential skill that underpins all engineering disciplines allowing complex engineering problems to be approximated using mathematical models Systems modelling provides necessary information to make decisions in the design and development of engineering solutions or to investigate systems that are too costly difficult or unethical to investigate physically This module focuses on the design and programming of models from first principles by the application of mathematical techniques and avoidance of modelling errors You will learn how to represent multi-domain systems graphically derive models from data construct a simulation model to predict system responses and consider design principles that ensure robust model development (covering verification and validation techniques)
Read more about the Systems Modelling Simulation and Computation moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2022 23 of study)
Year Two
Operating Systems and Computer Networks
In this module you will spend equal time studying the fundamental concepts of modern-day operating systems and computer networks respectively With a practical bent this will mean analysing the generic requirements structure operation and administration of a modern operating system Whilst analysing designing and writing programs in the light of network requirements and protocols; such as system interfaces concurrency deadlock detection and recovery and security threats Turning to networks you will learn the relevant factors relating to LANs and WANs and wireless networks client-server systems routing algorithms socket programming and network management relating to performance security and monitoring
Read more about the Operating Systems and Computer Networks moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2022 23 of study)
Advanced Computer Architecture
Focusing on growing your knowledge of hardware with an emphasis on system design and performance you will be studying the principles underpinning system organisations issues in design and the contrasting implementations of modern systems Successful completion will see you equipped to discuss the organisation of computer-based systems different processor architectures and system-level design processes You’ll gain a grounding in the components and operations of memory hierarchies and the operation of parallel computer systems including multiprocessor and multicore systems There are opportunities to increase your systems programming skills and study advanced topics in memory processor architecture and parallel computer organisation
Read more about the Advanced Computer Architecture moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2022 23 of study)
Software Engineering
Centred on teamwork you will concentrate on applying software engineering principles to develop a significant software system with your peers from feasibility studies through modelling design implementation evaluation maintenance and evolution You’ll focus on design quality human–computer interaction technical evaluation teamwork and project management With a deeper appreciation of the stages of the software life-cycle you’ll gain skills to design object-oriented software using formal modelling and notation You will be taught the principles of graphical user interface and user-centred design and be able to evaluate projects in the light of factors ranging from technical accomplishment and project management to communication and successful teamwork
Read more about the Software Engineering moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2022 23 of study)
Engineering Mathematics and Data Analytics
Building on the fundamental material introduced on ES197 System Modelling Simulation and Computation you will learn to apply advanced mathematical techniques to solve engineering-based problems thereby equipping you with the analytical and computational tools needed to tackle advanced material You will develop your skills in modelling and analysis in particular through the use of MATLAB alongside an introduction to computer programming
Read more about the Engineering Mathematics and Data Analytics moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2022 23 of study)
Analogue Electronic Design
You will learn to analyse and design analogue electronics By the end you should be able to apply different circuit topologies to implement a variety of analogue functions understand the practical issues associated with the selection of components and use models of components to analyse the nominal or idealised behaviour of circuits You will use software simulation tools to determine worst-case scenarios and learn how to optimise circuit performance against a variety of criteria
Read more about the Analogue Electronic Design moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2022 23 of study)
Digital Systems Design
There have been great advances in semi-conductor technology during the last decade leading to chips with increased area and gate density You will receive a theoretical and practical grounding in modern approaches to the design of digital electronic circuits with a focus on field programmable gate array implementation including tool flow architecture testing and design for performance Practical skills you will develop include use of the hardware description language Verilog and strategies for evaluating the functional correctness of a circuit
Read more about the Digital Systems Design moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2022 23 of study)
Year Three
Individual Project
In this project-based module you will gain experience in designing developing and implementing a significant project under supervision From submission of the outline and detailed specification you will produce regular progress reports throughout before presenting your final results This is an excellent opportunity to develop important employability skills including independent learning self-discipline organisation and time management
Read more about the Individual Project moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2022 23 of study)
High Performance Embedded Systems Design
The module develops the student’s ability in digital design to the level of designing high performance software hardware embedded systems using hybrid FPGA reconfigurable devices combining processors and reconfigurable hardware fabric
Read more about the High Performance Embedded Systems Design moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2022 23 of study)
Project Management for Computer Scientists
In this module you will gain the knowledge required to manage technical projects using well-established project management techniques You will have practical opportunities to apply methods such as defining measurable objectives identifying and engaging stakeholders scheduling budgeting resource allocation risk assessment and mitigation and post-project evaluation and monitoring By the end of the module you can expect to appreciate the benefits of effective project management understand the risks and budgetary and resource constraints Also you will have the ability to evaluate a project against the measurable success criteria you have devised yourself
Read more about the Project Management for Computer Scientists moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2022 23 of study)
Year Four
Group Project
This module offers you involvement in a team project such as might be expected of you in a working environment with experience in demanding management talent problem-solving skills and individual initiative You will devise a project in response to the needs of a ‘customer’ normally an industrial partner and will be closely involved in the specification and running of the project The project themes offer you scope for interdisciplinary and collaborative activities and require a mature knowledge of computer science and its applications On successful completion of your group project you will have had valuable experience of teamwork improved interpersonal and communication skills awareness of the various issues arising from the work required to complete a significant project and improved skills of written communication through the co-authoring of a substantial report
Read more about the Group Project moduleLink opens in a new window including the methods of teaching and assessment (content applies to 2022 23 of study)
Optional modules
Optional modules can vary from to Example optional modules may include
Mathematics for Computer Scientists I
Functional Programming
Web Development Technologies
Computer Security
Digital Communications and Signal Processing
Artificial Intelligence
Cyber Security
Starting a Business
Mobile Robotics
Computer Graphics
Machine Learning
Digital Forensics
Image and Video Analysis
Data Mining
Biomechanics
Show less