- Docente: Alessandro Bevilacqua
- Credits: 6
- SSD: ING-INF/05
- Language: Italian
- Teaching Mode: Traditional lectures
- Campus: Forli
- Corso: First cycle degree programme (L) in Aerospace Engineering (cod. 8263)
Course contents
Introduction to digital devices
Structure and behaviour. Analysis and synthesis. Analogic and digital signals. Switch networks. Combinational and sequential logic networks. The concept of computing machine and algorithmic computation.
Information processing
Positional numbering systems. Binary numbers. Counting in binary, decimal, octal, hexadecimal base. Operations between binary numbers. Base conversion. Conversion of decimal numbers into any number base and vice versa. Codes. Numbers coding and binary codes. Error detection codes. Information communication: transmission, control, synchronization. Information protection. Error correction codes. The parity bit. Hamming code.
Combinational and sequential logic networks
Expressions, functions and logic diagrams. Variables, bits and binary configurations. Boolean functions. Truth tables. Functions of one or two variables. Logic gates and operations. Expressions and functions. Expressions and logical diagrams. Boolean and switching algebra. Expressions of incomplete functions. Canonical form. Combinational logic applications: multiplexer, encoder, decoder, half adder, full adder. Minimum cost networks. Minimum expressions. Karnaugh Maps. Analysis and synthesis. Binary memories. Latch SR and CD. Flip flop D. Registers and counters.
Computer architecture
Von Neumann model. Functional principles. Computer hardware abstract representation. Microprocessor systems. Bus. CPU access to data and instructions.
Programming
Algorithms and data structures. Pseudo-code. Flow diagrams. Algorithm designing techniques. Structured programming. Assignment, variables and statements. Data structures. Constructs for structured programming. Procedural programming. Notes on computational complexity.
The C language
Basic constructs. Data structures in C. Data types. Global and local variables. Scope of a variable. Arrays and pointers. Functions and prototypes. Input/Output. Logic expressions. Precompiler directives and macros. Modular programming. Compiling C programs.
Readings/Bibliography
Duplicated lecture notes and material supplied by the
teacher.
Programming:
BOOK
B.W. Kernighan, D.M. Ritchie
C programming language
Pearson - Prentice Hall
ON LINE TUTORIAL
Brian Kernighan
Programming in C, a tutorial
http://www.lysator.liu.se/c/bwk-tutor.html
Teaching methods
Classroom lessons where each topic will be treated jointly with significant case studies to highlight its meaningful applications. In order to make the students aware of the different topics, many homework exercises will be proposed and publicly corrected aftewards.
Assessment methods
The students will be evaluated through a classroom practice and oral examination.
Teaching tools
In the teaching material section (the link is on top of this page) all the slides shown in class are available for download.
Office hours
See the website of Alessandro Bevilacqua