Skip to navigation | Skip to main content | Skip to footer
Menu
Menu

COMP15111 Fundamentals of Computer Architecture syllabus 2017-2018

COMP15111 materials

COMP15111 Fundamentals of Computer Architecture

Level 1
Credits: 10
Enrolled students: 198

Course leader: Jim Miles


Additional staff: view all staff

Requisites

  • Co-Requisite (Compulsory): COMP16121

Additional requirements

  • Students who are not from the School of Computer Science must have permission from both Computer Science and their home School to enrol.

Assessment methods

  • 75% Written exam
  • 25% Practical skills assessment
Timetable
SemesterEventLocationDayTimeGroup
Sem 1 Lecture Sam Alex SAMUEL ALEXANDER TH Thu 10:00 - 11:00 -
Sem 1 Lecture 1.1 Mon 16:00 - 17:00 -
Sem 1 B Lab LF31 Wed 09:00 - 11:00 Z
Sem 1 B Lab G23 Mon 10:00 - 12:00 W
Sem 1 B Lab LF31 Tue 10:00 - 12:00 Y
Sem 1 B Lab LF31 Tue 13:00 - 15:00 X
Sem 1 A w3+ Examples G41 Tue 11:00 - 12:00 Z
Sem 1 A w3+ Examples IT407 Fri 12:00 - 13:00 X
Sem 1 A w3+ Examples IT407 Fri 13:00 - 14:00 W
Sem 1 A w3+ Examples IT407 Fri 14:00 - 15:00 Y

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 school 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 covers:
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 ARM 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 key and cognitive skills which the student may be able to develop during the module:
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. Java and the ARM processor are used as exemplars. Practical experience is gained in the laboratory through exercises which progressively expose features of the ARM instruction set. The course-unit aims to serve as an essential foundation for further studies in the single honours Computer Science degree programme.

Syllabus

Introduction: Processors, simple ARM programs, binary representations, fetch-execute cycle, registers [4]

ARM 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, JVM [5]

Teaching methods

Lectures

22 in total, 2 per week

Examples classes

5 in total, 1 per fortnight

Laboratories

10 hours in total, one 2-hour session per fortnight

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.

Study hours

  • Assessment written exam (2 hours)
  • Lectures (44 hours)
  • Practical classes & workshops (15 hours)

Employability skills

  • Project management
  • Oral communication
  • Problem solving
  • Research
  • Written communication

Learning outcomes

Programme outcomeUnit learning outcomesAssessment
A3Understand the basic Von Neumann/Imperative computational model.
  • Examination
A3Understand the binary nature of digital computers, and how bit patterns can be used to represent such things as characters, numbers and instructions.
  • Examination
A3Understand the essentials of the ARM instruction set and its registers.
  • Lab assessment
  • Examination
C5 C6Be able to understand the basics of assembly language programs.
  • Examination
  • Lab assessment
A3Understand the correspondence between imperative code & data and assembly language.
  • Examination
  • Lab assessment
A3Be 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.
  • Examination

Reading list

TitleAuthorISBNPublisherYearCore
ARM Assembly Language: fundamentals and techniques (2nd edition)Hohl, William9781482229851CRC Press2014
ARM system-on-chip architecture (2nd edition)Furber, Steve0201675196Addison Wesley2000
Principles of computer hardware (4th edition)Clements, Alan9780199273133Oxford University Press2006

Additional notes

Course unit materials

Links to course unit teaching materials can be found on the School of Computer Science website for current students.

Extra materials will be provided on YouTube & SkyDrive. These take the form of real time video multimedia taken from many of the lectures designed to help and inform the student of possible approaches, techniques, and learning strategies that will aid and enhance their learning.