09730 - Principles of Informatics

Academic Year 2008/2009

  • Teaching Mode: Traditional lectures
  • Campus: Forli
  • Corso: First cycle degree programme (L) in Aerospace Engineering (cod. 0945)

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.

Logic networks

Expressions, functions and logic diagrams. Variables, bits and binary configurations. Boolean functions. Truth tables. Functions of one or two variables. Logic gates. Logic 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.

Combinational and sequential logic networks

Minimum cost networks. Minimum expressions. Karnaugh Maps. Analysis and synthesis. PAL and PLA. Binary memories. Latch SR and CD. Flip flop D, T, JK. Registers and counters.

Computer architecture

Von Neumann model. Functional principles. Computer hardware abstract representation. Microprocessor systems. Bus. Memories and programmable networks. Memory devices. Read Only Memory. ROM and RAM structure. Two dimensional selection matrix. CPU access to data and instructions.

Programming

Structured programming. Assignment, variables and statements. Constructs for structured programming. The C language. Basic constructs. Data structures in C. Arrays and pointers. Functions and prototypes. Input/Output. Compiling C programs. Precompiler directives and macros. Object oriented language principles.

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

TUTORIAL ON LINE
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 all the slides shown in class are available for download.

Office hours

See the website of Alessandro Bevilacqua