Salta al contenuto principale
CODICE 101120
ANNO ACCADEMICO 2019/2020
CFU
SETTORE SCIENTIFICO DISCIPLINARE ING-INF/05
SEDE
  • GENOVA
PERIODO Annuale
MATERIALE DIDATTICO AULAWEB

PRESENTAZIONE

The course introduces the student to modern information and communication systems for the processing and management of the information. The course is divided in two parts. The first part focuses on providing the fundamental notions of computer architectures, operating systems, and computer networks. The second part provides the computer programming bases, with emphasis to scientific reasoning and computational thinking.

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

The course aims at introducing the student in the field of modern electronic methods for the management of information, related communications and basic methods of calculation.The course follows two distinct strands; the first concerns the study of the architecture of computing systems, the representation of information within them, the organization and operation of networks and of the Internet;the second teaches on the fundamentals of programming.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

The course is divided in two parts.

The first part of the course describes the computer hardware architecture and the computer operating system. This part offers a solid background to the students. In this first part, the students will acquire the fundamental knowledge of

  • computer hardware architecture;
  • computer operating system;
  • computer network architectures and protocols.

The second part of the course provides the computer programming bases, with emphasis to scientific reasoning and computational thinking. In the second part of the course students will acquire the ability to face problems of increasing complexity autonomously.  Students will acquire

  • the computational thinking and programming principles;
  • the knowledge of the fundamental concepts of imperative programming;
  • the principles of designing, implementing, and validating a small sequential program based on the informal specifications provided by the user;
  • the ability to produce correct and comprehensible code;
  • the ability to understand, use, debug, and modify computer code.

PREREQUISITI

None.

MODALITA' DIDATTICHE

The course will consist of

  • Classroom lessons;
  • Guided laboratories;
  • Homework delivered through AulaWeb.

Given the contents and the structure of the course, attending classes and laboratories is strongly encouraged and suggested.

PROGRAMMA/CONTENUTO

  • Introduction to the course
  • First Part (Computer Architecture, Operating Systems, Computer Networks)
    • Computer Architecture
      • Digital Logic (Circuits and Components)
      • Data Representation
      • Register Transfer and Microoperation
      • Basic Computer Organization and Design
      • Computer and Programming
      • Central Process Unit and Pipeline
      • Input output and memory
    • Operating Systems
      • Operating-System Structures
      • Processes, Threads, Synchronization
      • CPU Scheduling
      • Memory (main, virtual, mass)
      • File System and IO
    • Computer Networks
      • Network Architecture
      • Circuit Switching vs Packet Switching
      • The OSI Reference Model
        • the Physical Layer
        • the Data Link Layer
        • the Network Layer
        • the Transport Layer
        • the Application Layer
  • Second Part (Computer Programming)
    • Computational thinking and programming
    • Programming environments and formal languages
    • Imperative programming: variables and instructions; assignment; input / output; if-then-else; loops; types; arrays; strings; functions; struct; dynamically allocating memory; recursion
    • Simple algorithms on sequential data: ordering and search
    • Computational Complexity
    • Introduction to problem analysis and solution design, with examples

TESTI/BIBLIOGRAFIA

The following books will be used as reference

  • M. Morris Mano – Computer System Architecture;
  • A. Silberschatz, P. B. Galvin, G. Gagne – Operating System Concepts;
  • A. Tanenbaum, Computer Networks;
  • B. W. Kernighan, D. M. Ritchie – The C Programming Language;
  • D. S. Malik – C++ Programming.

DOCENTI E COMMISSIONI

Commissione d'esame

LUCA ONETO (Presidente)

LUCA VERDERAME (Presidente)

LEZIONI

INIZIO LEZIONI

Lectures will start in accordance with the academic calendar.

Orari delle lezioni

L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy

ESAMI

MODALITA' D'ESAME

Written test (with the possibility of split it in a mid-term plus final-term exams) and an oral exam.

MODALITA' DI ACCERTAMENTO

The final evaluation will take into account:

  • class attendance;
  • the knowledge of the course contents tested with the written exam;
  • the problem-solving skills tested with the homework, written and oral exams;
  • the communication skills tested during the oral exam.