- UCAS course code
- G400
- UCAS institution code
- M20
Course unit details:
Fundamentals of Computer Architecture
Unit code | COMP15111 |
---|---|
Credit rating | 10 |
Unit level | Level 1 |
Teaching period(s) | Semester 1 |
Available as a free choice unit? | Yes |
Overview
The module introduces the concepts involved in Fundamentals of Computer Architecture. Its aim is to enable the student to develop the skills required to comprehend Computer Systems, be they terminology, models, methodologies, structures (or topologies), timing, number representation and a general introduction to basic computer systems.
This unit builds on the skills developed in your background, covering material that will enable students to comprehend basic computer architecture structures, programming, and topologies.
In particular, students will be able to comprehend the basic of computer systems.
[Knowledge of] Fundamentals of Computer Architecture is becoming increasingly important in business and finance. They are applicable to problems which have been considered mainstream computing. Students should not complete a course in computing (computer science) without some exposure to the subject. Since research is taking place in this subject within the Department it is also appropriate that such expertise is passed on to our students.
The aim of this module is to introduce the concepts behind the Fundamentals of Computer Architecture approach to implementing IT solutions. A broad variety of standard Computer Systems methodologies and theories will be introduced. The theory, techniques, and methodologies will be illustrated to enable students to comprehend the theory. The associated areas of computer hardware and topology of computer systems are also covered to some degree.
To be more specific, the course will help students:
- Understand the basic Von Neumann/Imperative computational model.
- Understand the binary nature of digital computers, and how bit patterns can be used to represent such things as characters, numbers and instructions.
- Understand the essentials of the RISC-V instruction set and its registers.
- Be able to understand the basics of assembly language programs.
- Understand the correspondence between imperative code & data and assembly language.
- Be aware of the role of Compiler, Assembler, Library, Linker, Loader, Interpreter and Operating System, and of some of the interactions between these and the underlying computer hardware.
Key and Cognitive skills:
The module will expand the student's vocabulary with respect to the technical terminology and understanding of methodologies utilised associated to Fundamentals of Computer Architecture; this will enable the student to extend his/her communication skills.
The student will be empowered to learn by utilising multi-format lectures, and Self-study-learning techniques. The majority of the module is presented through a set of lectures . Each lecture has a set of associated questions (i.e. at the end of each lecture hand-out), which are supported by answers provided on the web (normally two weeks after the lecture has been given). Guidance will be given to student's private study in respect of directed reading. The lectures are also supported by a set of Lab assignments that expand the student's knowledge utilizing a 'learning by doing' approach.
Aims
This unit aims to introduce computer instruction sets and the binary representation of information, by exploring the relationship between high-level language programs and the basic structure and operation of digital computers, including the process that implements this relationship. Python and the RISC-V processor are used as exemplars. Practical experience is gained in the laboratory through exercises which progressively expose features of the RISC-V instruction set. The course-unit aims to serve as an essential foundation for further studies in the single honours Computer Science degree programme.
Learning outcomes
-
Propose and evaluate methods of representing different classes of data in a digital computer.
-
Analyse the suitability of different computer architectures for data processing.
-
Write simple programs in assembly language.
-
Implement different code structures in assembly language: conditional branch, while, if, table jump.
-
Construct different data structures within a program and write code to access them, e.g. strings, arrays, and stacks.
-
Create reusable assembly language code using methods.
Syllabus
Introduction: Processors, simple RISC-V programs, binary representations, fetch-execute cycle, registers [4]
RISC-V code for imperative constructs: Basic data types and expressions, data structures, control structures, functions, input/output, interrupts [13]
System software: Operating Systems, Assemblers, Compilers, Libraries, Loaders, Interpreters.
Teaching and learning methods
Lectures
22 in total, 2 per week
Examples classes
4 in total, 1 per fortnight
Laboratories
4 labs in total, 2 formative and 2 summative, one per fortnight
Employability skills
- Project management
- Oral communication
- Problem solving
- Research
- Written communication
Assessment methods
Method | Weight |
---|---|
Written exam | 70% |
Practical skills assessment | 30% |
Feedback methods
Feedback is provided to students in alignment with good pedagogic practice and pedagogic assessment [criterion]; the feedback takes the Kinesthetic approach to learning. Two approaches, #1 and #2, illustrate how to develop the student's skills aligned to the course; such as: theory, process, academic, reading, comprehension, exam skills. The first uses a more reading/writing-preference learner's approach #1. The second, approach #2, uses the visual learning strategy.
The feedback is given: one-to-one and one-to-many. The feedback is given (if time allows) at the start (in the break, & the end) of: lectures, examples classes (if applicable), and laboratories. One-to-one feedback is also given - marked up - in each of the anonymous scripts of the student's exam booklets. One-to-many is also given in a cohort wide exam feedback compiled jointly by all course member whom lecture on the course and mark exams.
Feedback, hints, advice, and extra information also appear on the course's CS web site, courses CS web site, & the universities Blackboard web site. RN also provides real time video multimedia support for all the course's he lectures on; these are composed of video lectures, video tutorials and many associated material designed to help, broaden, and inform the student cohort of possible: approaches, techniques, and learning strategies that will aid and enhance their learning.
Recommended reading
The COMP15111 reading list can be found on the Library's Reading Lists website
Study hours
Scheduled activity hours | |
---|---|
Assessment written exam | 2 |
Lectures | 44 |
Practical classes & workshops | 15 |
Independent study hours | |
---|---|
Independent study | 39 |
Teaching staff
Staff member | Role |
---|---|
Luca Peres | Unit coordinator |
Pavlos Petoumenos | Unit coordinator |