Course syllabus for Introduction to computer engineering

Course syllabus adopted 2023-02-04 by Head of Programme (or corresponding).

Overview

  • Swedish nameGrundläggande datorteknik
  • CodeEDA452
  • Credits7.5 Credits
  • OwnerTKDAT
  • Education cycleFirst-cycle
  • Main field of studyComputer Science and Engineering
  • DepartmentCOMPUTER SCIENCE AND ENGINEERING
  • GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail

Course round 1

  • Teaching language Swedish
  • Application code 49123
  • Open for exchange studentsNo
  • Only students with the course round in the programme overview.

Credit distribution

0112 Examination 4.5 c
Grading: TH
4.5 c
  • 18 Jan 2025 pm J
  • 14 Apr 2025 pm J
  • 21 Aug 2025 pm J
0212 Laboratory 3 c
Grading: UG
3 c

In programmes

Examiner

Go to coursepage (Opens in new tab)

Eligibility

General entry requirements for bachelor's level (first cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Specific entry requirements

The same as for the programme that owns the course.
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Aim

The course will provide an understanding of computer architecture and operation, and therefore a very good theoretical and practical basis for further studies in both computer technology as programming technology courses.

Learning outcomes (after completion of the course the student should be able to)

Knowledge and understanding:

  • describe binary codes such as NBCD-code, alphanumerical codes, excess codes and Gray code
  • describe addition and subtraction with two's complement arithmetic
  • describe the structure and function of the computer, at block level show how control unit, data path, register file, arithmetic and logic unit (ALU) are connected in a central unit at block level
  • describe and analyse the function and structure of the automatic control unit and explain how instructions are built up by control sequences
  • explain the principle of the stored program
  • describe a programmer's image of a processor, (instruction set and addressing method)
  • describe basic exception handling in computer systems.
  • describe different types of memory technologies such as ROM, PROM, FLASH, static RAM and dynamic RAM.
  • explain the concept of memory hierarchy.
  • describe synchronous and asynchronous bus protocols and multiplex technology.

Competence and skills:

  • perform number conversions between decimal, binary and hexadecimal numbers.
  • perform addition and subtraction with unsigned binary integers.
  • perform addition and subtraction with signed binary numbers with two’s complement arithmetic.
  • using Boolean algebra, describe, analyse and construct combinatorial networks (such as multiplexers, demultiplexers, full adders, etc.) typically used to build a computer's central unit
  • using Boolean algebra, describe and analyse sequential networks (memory elements and counters) typically used to build a computer's central unit.
  • analyse / construct a simple ALU and design control signal sequences for basic ALU operations
  • analyse a simple data path, and construct and design control signal sequences for transfers between registers, ALU and memory.
  • describe, analyse and construct simple assembler programs, organized into subroutines.
  • translate program code between machine and assembler programs (assemble, disassemble)
  • describe and analyze decoding logic for primary memory with digital components.
  • describe and analyze simple memory-addressed IO with digital components
  • describe and explain the most common primary memory technologies (static / dynamic RAM, ROM and FLASH memories).

Judgement and approach:

  • Ability to understand the interaction between hardware and software.
  • Awareness that basic knowledge of computer organisation is a prerequisite for working with and understand issues related to the performance, energy consumption, environmental impact, real time properties, dependability and security of computing systems.
  • analyze and construct control signal sequences based on the semantics of instructions.
  • construct sequence nets (memory elements and counters) that are typically used to build a computer's central unit using Boolean algebra.
  • design decoding logic for primary memory with digital components.
  • design simple memory-addressed IO with digital components.

Content

  • The essential elements and concepts of digital technology and different number systems.
  • Using Boolean algebra to construct combinatorial networks and synchronous sequential circuits.
  • The computer's digital building blocks (ALU, data path, controller, memory, input and output devices).
  • The traditional processor architecture (data-path and control unit and its instruction set) as a synchronously operating digital machine.
  • Programming in machine language and assembly language

Organisation

Scheduled teaching consists of lectures, demonstrations, and supervised coding and simulation exercises. There are also supervised laboratory sessions for which students are required to prepare beforehand.
Throughout the course, the student will design increasingly complex digital building blocks of digital and computer systems. The theory is presented in lectures and demonstrations. Students construct their building blocks and test their designs with the help of simulators during exercises. The building blocks are subsequently realized in hardware during the lab sessions. The realization is completed by linking the building blocks into a computer and programming it.

Literature

See the course homepage.

Examination including compulsory elements

To pass the course the student must pass a written examination and the laboratory work. Based on the written examination the final grade is either U, 3, 4 or 5.

The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.