COMPUTER TECHNOLOGY

Course objectives

ENG GENERAL The aim of the course is to provide students with a solid understanding of the structure and operating principles of computing systems, with particular focus on Intel-based architectures (32 and 64 bit). The course addresses both theoretical and practical aspects related to data representation, numerical computation, and hardware architectural choices. It is designed to equip students with critical and operational tools for the design and evaluation of hardware systems, laying the groundwork for advanced topics in computer architecture. SPECIFIC Knowledge and understanding: to know the structure and the operating principles of computing systems, especially Intel-based architectures (32 and 64 bit). Applying knowledge and understanding: to calculate approximation errors resulting from the use of floating-point number representations. Making judgements: to evaluate the consistency of hardware architectural choices in computing systems. Communication skills: to justify and explain one's design choices. Learning skills: to develop autonomous learning skills for further study in the field of computer architecture.

Channel 1
CHRISTIAN NAPOLI Lecturers' profile

Program - Frequency - Exams

Course program
The course is structured into the following main topics: Computing Machines: Historical Overview - Introduction to the history of computing machines, from Maya arithmetic to the abacus, and the use of historical simulators. Analysis of early functional units and computing machine architectures. Binary Representation of Numbers and Information - Study of binary representation, the mathematical bases, and conversion between different numerical bases. In-depth exploration of data representation in computers. Algebraic Structures and Boolean Algebras - Introduction to fundamental algebraic structures and Boolean algebras. Application of Boolean logic in the design of logic circuits. Switching Logic and Logic Gates - Study of the principles of switching logic, basic logic gates, and the synthesis of logic functions. Sequential Circuits and Flip-Flops - Design and analysis of sequential circuits, including flip-flops and their application in registers and counters. Memory and Processor Chip Components - Exploration of registers, memory units, PLA, FPGA, ALU, and their functions in computer architectures. RISC and CISC Architectures - Study of RISC and CISC architectures, their advantages and disadvantages, and the addressing modes used. Assembly Language - Introduction to assembly language, assembler directives, the use of stacks and subprograms, with examples of real assembly languages. I/O Operations and Interrupt Handling - In-depth study of input/output operations, interrupt and exception handling, and support software in operating systems. Microarchitecture Design - Study of the basic structure of processors, microprogramming, pipelining, and predictive techniques for high-performance processors. Memory Devices and Memory Hierarchy - Analysis of main memory devices, cache memories, secondary memory, and performance enhancement techniques. Efficient Circuits for Binary Arithmetic - Design of circuits for binary arithmetic, including fast multiplication algorithms and floating-point arithmetic according to the IEEE 754 standard.
Prerequisites
To successfully follow the course, students should have a basic understanding of computer science and programming. It is essential that they are already familiar with programming concepts in a high-level language, preferably C, and have a grasp of the fundamentals of algebra and mathematical logic. Preliminary knowledge of how operating systems work and basic concepts in digital electronics will be beneficial for effectively engaging with the topics covered in the course.
Books
For the course, the following textbooks will be adopted: Carl Hamacher, Zvonko Vranesic, Safwat Zaky, Naraig Manjikian: "Computer Organization and Embedded Systems", McGraw-Hill (2013) - This book provides a comprehensive overview of computer architecture, covering fundamental aspects such as functional units, RISC and CISC architectures, and processor design principles. It is an essential text for understanding the basics of computing machines and their components. Andrew S. Tanenbaum: "Structured Computer Organization", Pearson (2013) - A classic and highly regarded text that delves deeply into the fundamental and advanced concepts of computer architecture. Tanenbaum covers key topics such as switching logic, registers, cache memory, and high-performance processors, providing practical examples and real-world applications.
Frequency
Fortemente consigliata Strongly suggested
Exam mode
The exam consists of a written test conducted in the classroom, lasting 1 hour. Students must bring only a valid identification document and a non-erasable black or blue pen. During the test, the use of notes, manuals, or books is not allowed, and it is forbidden to communicate with colleagues or use communication devices, under penalty of annulment of the test. To take the exam, students must present an identification document at the exam site. The evaluation will be comprehensive and will consider the outcome of the exam in all its parts. WRITTEN TEST REGULATIONS The test aims to assess the achievement of the essential learning objectives and is conducted in writing. The candidate is required to answer 12 questions: 10 questions that are awarded 1.75 points only if answered correctly, specifically: 8 multiple-choice questions 1 exercise for completing a diagram with labels (scored from 0 to 1.75 points) 1 exercise for identifying basic logical operators 1 exercise on combinational network synthesis (scored from 0 to 3 points; particularly outstanding answers will be awarded 3.5 points) 2 open-ended questions (scored from 0 to 4 points; particularly outstanding answers will be awarded 4.5 points) 1 assembly programming exercise (scored from 0 to 3 points; particularly outstanding answers will be awarded 3.5 points) The total score, which will constitute the grade of the written test expressed out of thirty, will be calculated by summing the scores obtained from the answers to the questions. The exam is conducted in the classroom; students must bring only a valid identification document and a non-erasable pen. The maximum duration of the exam is one hour. The use of notes, manuals, or books is not permitted, and it is also forbidden to communicate with colleagues during the test or use communication devices (cell phones, smartphones, smartwatches, written messages, carrier pigeons, trained ants, telepathy experiments, etc.). Any violations of these rules, as well as leaving the room before submitting the test, will result in the annulment of the exam. Should there be any evidence of violations of the exam rules stated here or the regulations in force at this university, the examination committee will annul the exam and record a negative result. Additionally, appropriate sanctions and disciplinary measures will be considered. The candidate's achievement of a basic knowledge of the subject is considered demonstrated by obtaining a score of at least 18 points on the written test. If the candidate receives a score of less than 18/30 on the written test, the exam will be considered failed. FINAL GRADE The evaluation will be comprehensive and will consider the outcome of the exam in all its parts. The exam is considered passed with a grade of 18/30 or higher. Particularly deserving candidates may be awarded honors in addition to the highest grade (30/30). By taking the exam, the candidate acknowledges, approves, and agrees to these regulations.
Lesson mode
Lezioni frontali in aula Frontal lectures in class
CHRISTIAN NAPOLI Lecturers' profile

Program - Frequency - Exams

Course program
The course is structured into the following main topics: Computing Machines: Historical Overview - Introduction to the history of computing machines, from Maya arithmetic to the abacus, and the use of historical simulators. Analysis of early functional units and computing machine architectures. Binary Representation of Numbers and Information - Study of binary representation, the mathematical bases, and conversion between different numerical bases. In-depth exploration of data representation in computers. Algebraic Structures and Boolean Algebras - Introduction to fundamental algebraic structures and Boolean algebras. Application of Boolean logic in the design of logic circuits. Switching Logic and Logic Gates - Study of the principles of switching logic, basic logic gates, and the synthesis of logic functions. Sequential Circuits and Flip-Flops - Design and analysis of sequential circuits, including flip-flops and their application in registers and counters. Memory and Processor Chip Components - Exploration of registers, memory units, PLA, FPGA, ALU, and their functions in computer architectures. RISC and CISC Architectures - Study of RISC and CISC architectures, their advantages and disadvantages, and the addressing modes used. Assembly Language - Introduction to assembly language, assembler directives, the use of stacks and subprograms, with examples of real assembly languages. I/O Operations and Interrupt Handling - In-depth study of input/output operations, interrupt and exception handling, and support software in operating systems. Microarchitecture Design - Study of the basic structure of processors, microprogramming, pipelining, and predictive techniques for high-performance processors. Memory Devices and Memory Hierarchy - Analysis of main memory devices, cache memories, secondary memory, and performance enhancement techniques. Efficient Circuits for Binary Arithmetic - Design of circuits for binary arithmetic, including fast multiplication algorithms and floating-point arithmetic according to the IEEE 754 standard.
Prerequisites
To successfully follow the course, students should have a basic understanding of computer science and programming. It is essential that they are already familiar with programming concepts in a high-level language, preferably C, and have a grasp of the fundamentals of algebra and mathematical logic. Preliminary knowledge of how operating systems work and basic concepts in digital electronics will be beneficial for effectively engaging with the topics covered in the course.
Books
For the course, the following textbooks will be adopted: Carl Hamacher, Zvonko Vranesic, Safwat Zaky, Naraig Manjikian: "Computer Organization and Embedded Systems", McGraw-Hill (2013) - This book provides a comprehensive overview of computer architecture, covering fundamental aspects such as functional units, RISC and CISC architectures, and processor design principles. It is an essential text for understanding the basics of computing machines and their components. Andrew S. Tanenbaum: "Structured Computer Organization", Pearson (2013) - A classic and highly regarded text that delves deeply into the fundamental and advanced concepts of computer architecture. Tanenbaum covers key topics such as switching logic, registers, cache memory, and high-performance processors, providing practical examples and real-world applications.
Frequency
Fortemente consigliata Strongly suggested
Exam mode
The exam consists of a written test conducted in the classroom, lasting 1 hour. Students must bring only a valid identification document and a non-erasable black or blue pen. During the test, the use of notes, manuals, or books is not allowed, and it is forbidden to communicate with colleagues or use communication devices, under penalty of annulment of the test. To take the exam, students must present an identification document at the exam site. The evaluation will be comprehensive and will consider the outcome of the exam in all its parts. WRITTEN TEST REGULATIONS The test aims to assess the achievement of the essential learning objectives and is conducted in writing. The candidate is required to answer 12 questions: 10 questions that are awarded 1.75 points only if answered correctly, specifically: 8 multiple-choice questions 1 exercise for completing a diagram with labels (scored from 0 to 1.75 points) 1 exercise for identifying basic logical operators 1 exercise on combinational network synthesis (scored from 0 to 3 points; particularly outstanding answers will be awarded 3.5 points) 2 open-ended questions (scored from 0 to 4 points; particularly outstanding answers will be awarded 4.5 points) 1 assembly programming exercise (scored from 0 to 3 points; particularly outstanding answers will be awarded 3.5 points) The total score, which will constitute the grade of the written test expressed out of thirty, will be calculated by summing the scores obtained from the answers to the questions. The exam is conducted in the classroom; students must bring only a valid identification document and a non-erasable pen. The maximum duration of the exam is one hour. The use of notes, manuals, or books is not permitted, and it is also forbidden to communicate with colleagues during the test or use communication devices (cell phones, smartphones, smartwatches, written messages, carrier pigeons, trained ants, telepathy experiments, etc.). Any violations of these rules, as well as leaving the room before submitting the test, will result in the annulment of the exam. Should there be any evidence of violations of the exam rules stated here or the regulations in force at this university, the examination committee will annul the exam and record a negative result. Additionally, appropriate sanctions and disciplinary measures will be considered. The candidate's achievement of a basic knowledge of the subject is considered demonstrated by obtaining a score of at least 18 points on the written test. If the candidate receives a score of less than 18/30 on the written test, the exam will be considered failed. FINAL GRADE The evaluation will be comprehensive and will consider the outcome of the exam in all its parts. The exam is considered passed with a grade of 18/30 or higher. Particularly deserving candidates may be awarded honors in addition to the highest grade (30/30). By taking the exam, the candidate acknowledges, approves, and agrees to these regulations.
Lesson mode
Lezioni frontali in aula Frontal lectures in class
SIMONE LENTI Lecturers' profile
SIMONE LENTI Lecturers' profile
  • Lesson code99609
  • Academic year2025/2026
  • CourseElectronics Engineering
  • CurriculumSingle curriculum
  • Year1st year
  • Semester2nd semester
  • SSDING-INF/05
  • CFU6