Course code InfT3020

Credit points 3

Computer Architecture for Programmers

Total Hours in Course81

Number of hours for lectures16

Number of hours for seminars and practical classes16

Independent study hours49

Date of course confirmation26.09.2017

Responsible UnitInstitute of Computer Systems and Data Science

Course developer

author prof.

Vitālijs Osadčuks

Dr. sc. ing.

Prior knowledge

DatZ1004, Introduction in Computer Studies

DatZ1009, Introduction to Programming I

DatZ1010, Introduction to Programming II

DatZ2055, Computer Hardware I

DatZ2056, Computer Hardware II

Mate2010, Discrete Mathematics

Course abstract

The course is relatively divided into two parts: computer architecture and computer organization. The first part discusses an abstract model of a computer from programmer’s point of view. Students will learn about operation of processor and memory, instruction set, low level data types and programming in assembly language. In the computer organization a multi-level virtual machine interconnection model is used in order to show the main solutions and modern tendencies in the development of various computer architectures.

Learning outcomes and their assessment

After completing the course student will have:
•knowledge about modern computer architecture and organization from programmer’s view;
•skills in coding and program development in assembly language, basics in low-level embedded programming.;
•competence to use CPU and memory specifics of a given architecture to increase effectiveness of program code.

Compulsory reading

1.Tanenbaum A.S. Structured Computer Organization, 6th-edition, Pearson, 2013, 800 p.
2.Baums A. Datoru arhitektūra un organizācija, Rīga: [autorizdevums] Veiters korporācija, 2010, 236 lpp.
3.Patterson D.A., Hennessy J.L. Computer Organization and Design, Fifth Edition: The Hardware/Software Interface. Morgan Kaufmann Publishers Inc. San Francisco, CA, USA, 2013, 800 p.

Further reading

1.asm-x86 Reference. [tiešsaiste] [skatīts: 15.05.2017.]. Pieejams: http://ccreweb.org/software/kforth/kforth6b.html
2.Paul A. Carter. PC Assembly Language. E-grāmata. July 23, 2006.
3.Greivulis J., Raņķis I. Iekārtu vadības elektroniskie elementi un mezgli, Rīga: Avots, 1998, 288 lpp.