Bachelor of Science (BSc)
BSc Computer Science
- Typical A-level offer: A*AA including specific subjects
- Typical contextual A-level offer: AAA including specific subjects
- Care experienced/sanctuary/carer offer: AAB including specific subjects
- Typical International Baccalaureate offer: 37 points overall with 7,6,6 at HL, including specific requirements
Book an open day
Explore our campus, meet lecturers and current students, and learn more about what it's like to study at Manchester.
Meet us
Join us online or in person to learn more about the University and our courses.
Discover more about Computer Science at Manchester
Learn about your subject of interest and what you'll experience as a student in that community.
Discover more about Computer Science at Manchester
Download our course brochure
Get to know us better with our guide to studying your subject of choice.
Download our course brochure
Course unit details:
Fundamentals of Computer Engineering
| Unit code | COMP12111 |
|---|---|
| Credit rating | 10 |
| Unit level | Level 1 |
| Teaching period(s) | Semester 1 |
| Offered by | Department of Computer Science |
| Available as a free choice unit? | Yes |
Overview
In this course you will learn about the design of electronic systems from simple digital circuits to the design of a simple processor. The major emphasis is on practical design work, the taught material is supported by practical laboratory exercises where you get to put the concepts you have learnt into practice. The syllabus is as follows:
1. Introduction to logic
Digital signals, data representation, Boolean logic and functions, De Morgan’s theorem, logic gates, multiplexers, binary arithmetic, abstraction & hierarchy, clocks, sequential systems.
2. Computer Aided Design (CAD)
Complexity and design – the need for CAD tools, testing & simulation.
3. Hardware description languages
SystemVerilog - Introduction to SystemVerilog, assignments, module structure, design of combinatorial and sequential circuits in SystemVerilog.
4. Register Transfer Level (RTL) Design
The synchronous paradigm, introduction to sequential systems, RTL view of design, the register, datapath and control,
5. Finite State Machines (FSM)
Introduction to the FSM, state transition diagrams, state transition tables, implementation in SystemVerilog.
6. Processor Design
Overview of the three-box model: CPU, Memory, I/O, processor operation, instruction execution – fetch/decode/execute – and the sequencing of actions, program counter, instruction register, condition code register. Introduction to MU0 - instruction set and operation, arithmetic logic unit (ALU) design and critical path, design of the MU0 datapath and control in SystemVerilog.
7. Memory
Von Neumann and Harvard architecture, tri-state buffers, memory map, address decoding schemes – one dimensional and two-dimensional, memory architectures, address decoders. Memory hierarchy and relationship between speed, cost and capacity, cache, SRAM, DRAM, ROM, Flash, HDD and optical storage. Memory in SystemVerilog.
8. Input and output
The I/O interface, communication and I/O devices, parallel and serial communications, polling and interrupts, implementing and servicing interrupts, direct memory access, universal serial bus (USB),
Pre/co-requisites
Aims
The main aim of this course unit is to provide students with a basic understanding of the hardware that underpins computing systems. In addition, further aims include: introducing basic logic and logic gates; the partitioning of digital systems into combinatorial and sequential blocks; to provide an overview of the hardware description language SystemVerilog; to introduce logic level implementation of a simple processor design; and to discuss how computer systems interact with memory and I/O devices
Learning outcomes
ILO 1: Discuss the execution of machine language programs on a simple processor design and produce working code.
ILO 2: Explain the process of binary addition and identify the limitations with respect to system performance, such as choice of clock speed.
ILO 3: Manipulate Boolean expressions and demonstrate their implementation as simple combinatorial digital circuits.
ILO 4: Discuss the organisation and operation of a simple digital computer highlighting the key components, processor, memory and input/output.
ILO 5: Describe and follow a top-down approach to design, recognising the importance of the testbench for simulating designs.
ILO 6: Explain the key features of the SystemVerilog language and produce behavioural models of combinatorial and sequential circuit designs.
ILO 7: Discuss how the processor interacts with peripheral devices, making use of the interface to control and manage data movement, using techniques such as interrupts and direct memory transfer.
ILO 8: Explain different memory technologies, their implementation, and how they can be used to implement a hierarchical memory structure in modern computers.
ILO 9: Discuss the design and implementation of a simple processor, understanding the role of the control and datapath in the operation of the overall design.
Syllabus
In this course you will learn about the design of electronic systems from simple digital circuits to the design of a simple processor. The major emphasis is on practical design work, the taught material is supported by practical laboratory exercises where you get to put the concepts you have learnt into practice. The syllabus is as follows:
1. Introduction to logic
Digital signals, data representation, Boolean logic and functions, De Morgan’s theorem, logic gates, multiplexers, binary arithmetic, abstraction & hierarchy, clocks, sequential systems.
2. Computer Aided Design (CAD)
Complexity and design – the need for CAD tools, testing & simulation.
3. Hardware description languages
SystemVerilog - Introduction to SystemVerilog, assignments, module structure, design of combinatorial and sequential circuits in SystemVerilog.
4. Register Transfer Level (RTL) Design
The synchronous paradigm, introduction to sequential systems, RTL view of design, the register, datapath and control,
5. Finite State Machines (FSM)
Introduction to the FSM, state transition diagrams, state transition tables, implementation in SystemVerilog.
6. Processor Design
Overview of the three-box model: CPU, Memory, I/O, processor operation, instruction execution – fetch/decode/execute – and the sequencing of actions, program counter, instruction register, condition code register. Introduction to MU0 - instruction set and operation, arithmetic logic unit (ALU) design and critical path, design of the MU0 datapath and control in SystemVerilog.
7. Memory
Von Neumann and Harvard architecture, tri-state buffers, memory map, address decoding schemes – one dimensional and two-dimensional, memory architectures, address decoders. Memory hierarchy and relationship between speed, cost and capacity, cache, SRAM, DRAM, ROM, Flash, HDD and optical storage. Memory in SystemVerilog.
8. Input and output
The I/O interface, communication and I/O devices, parallel and serial communications, polling and interrupts, implementing and servicing interrupts, direct memory access, universal serial bus (USB),
Teaching and learning methods
This unit will be delivered using a blended approach to learning. Self-study materials will be made available in the form of written notes, videos and self-assessment quizzes in Blackboard that allow you to check your understanding of the material provided. Each week there will be synchronous sessions which will focus on covering design
examples and/or providing support and general feedback on laboratory exercises. These sessions will be, where possible, interactive. Laboratory exercises are supported by weekly timetabled laboratory sessions (from week 2), where students can get help and support and make use of the hardware required for the lab exercises to be completed.
Employability skills
- Analytical skills
- Innovation/creativity
- Problem solving
Assessment methods
| Method | Weight |
|---|---|
| Written exam | 50% |
| Practical skills assessment | 50% |
Feedback methods
Feedback is provided via formative quizzes in Blackboard, via automated marking for laboratory work, with feedback on work being delivered by email, and through in-class demonstrations with GTAs.
Recommended reading
- Clements, Alan, 1948-. (2006). Principles of computer hardware. Oxford University. ISBN: 9780199273133
- LaMeres, Brock J. (2019). Quick start guide to Verilog. Springer. ISBN: 9783030105525
- Mano,M. Morris. (2011). Digital design: with a introduction to the verilog hdl /. Pearson Prentice Hall,. ISBN: 9780132774208
- Roth, Charles H., 1932-. (2013). Fundamentals of logic design. Nelson Engineering. ISBN: 9781133628484
- Thomas, D. E. (2008). The Verilog hardware description language /. Springer. ISBN: 9780387849300
- Vahid, Frank. (2011). Digital design: with RTL design, VHDL, and Verilog. Wiley. ISBN: 9780470531082
- Williams, Rob. (2001). Computer systems architecture: a networking approach. Addison-Wesley. ISBN: 0201648598
- Williams, Rob, 1948-. (2006). Computer systems architecture: a networking approach. Pearson Prentice Hall. ISBN: 9780321340795
Study hours
| Scheduled activity hours | |
|---|---|
| Assessment written exam | 1 |
| Lectures | 14 |
| Work based learning | 40 |
| Independent study hours | |
|---|---|
| Independent study | 45 |
Teaching staff
| Staff member | Role |
|---|---|
| Paul Nutter | Unit coordinator |
Fees and funding
Fees
Tuition fees for home students commencing their studies in September 2027 will be £10,050 per annum. Tuition fees for international students will be £39,700 per annum.
For general information please see the undergraduate finance pages.
Policy on additional costs
All students should normally be able to complete their programme of study without incurring additional study costs over and above the tuition fee for that programme. Any unavoidable additional compulsory costs totalling more than 1% of the annual home undergraduate fee per annum, regardless of whether the programme in question is undergraduate or postgraduate taught, will be made clear to you at the point of application. Further information can be found in the University's Policy on additional costs incurred by students on undergraduate and postgraduate taught programmes (PDF document, 91KB).
Scholarships/sponsorships
The University of Manchester is committed to attracting and supporting the very best students. We have a focus on nurturing talent and ability and we want to make sure that you have the opportunity to study here, regardless of your financial circumstances.
For information about scholarships and bursaries please visit our undergraduate student finance pages .
Regulated by the Office for Students
The University of Manchester is regulated by the Office for Students (OfS). The OfS aims to help students succeed in Higher Education by ensuring they receive excellent information and guidance, get high quality education that prepares them for the future and by protecting their interests. More information can be found at the OfS website.
You can find regulations and policies relating to student life at The University of Manchester, including our Degree Regulations and Complaints Procedure, on our regulations website.
