mail unicampaniaunicampania webcerca

    Mauro IACONO

    Insegnamento di FUNDAMENTALS OF COMPUTER SCIENCE

    Corso di laurea in DATA ANALYTICS

    SSD: ING-INF/05

    CFU: 6,00

    ORE PER UNITÀ DIDATTICA: 48,00

    Periodo di Erogazione: Secondo Semestre

    Italiano

    Lingua di insegnamento

    INGLESE

    Contenuti

    INTRODUZIONE
    Introduzione all'informatica. Organizzazione e architettura dei computer. Evoluzione e prestazioni dei computer. Una tassonomia dei sistemi informatici moderni.

    MODELLI TEORICI PER I CALCOLATRICI
    Macchine combinatorie, macchine sequenziali e automi, la macchina di Turing, il modello di Von Neumann.

    ARCHITETTURA DEL CALCOLATORE
    Componenti e funzioni del computer. Interconnessioni.

    L'UNITÀ CENTRALE DI ELABORAZIONE
    Concetti principali. Struttura e funzione del processore. Pipelining. Architetture X86 e ARM in breve. RISC e CISC. Processori superscalari. Problemi di prestazioni. Programmazione in linguaggio assembly.

    MEMORIA
    Gerarchia di memoria. Memoria primaria: organizzazione e tecnologie. Memoria secondaria: organizzazione e tecnologie. Caching: organizzazione e tecnologie. Problemi di prestazioni.

    INPUT/OUTPUT
    Concetti principali e organizzazione.

    SOFTWARE
    I sistemi operativi: organizzazione e funzione. Scheduling. Gestione della memoria. Software applicativo. Problemi di prestazioni.

    RETI DI COMPUTER
    Introduzione alle reti di computer. Classificazione delle reti. Reti locali. Interconnessione. ISO/OSI e TCP/IP. Internet. Reti ad alte prestazioni. Problemi di prestazioni.

    SISTEMI PARALLELI
    Sistemi multiprocessore e organizzazione. NUMA e UMA. Problemi di cache. Processori vettoriali. Cluster di computer. Computer multicore. Problemi di prestazioni.

    WAREHOUSE SCALE COMPUTER
    Introduzione. Problemi principali. Organizzazione del data center. Cloud computing. Problemi di prestazioni.

    Testi di riferimento

    William Stallings, "Computer organization and architecture, designing for performances" 10th edition, Pearson; John L. Hennessy, David A. Patterson, "Computer architecture, a quantitative approach" 6th edition, Morgan Kaufmann

    Obiettivi formativi

    L'obiettivo del corso è introdurre gli studenti alle problematiche generali relative ai modelli teorici, ai principi architetturali e ai problemi dei calcolatori, con particolare attenzione alle prestazioni. Gli studenti saranno in grado di comprendere gli aspetti principali dei sistemi informatici e di valutare i principali vantaggi e svantaggi delle diverse soluzioni.

    Prerequisiti

    Nessuno.

    Metodologie didattiche

    Lezioni.

    Metodi di valutazione

    Prova scritta, prova orale.

    Altre informazioni

    Nessuna.

    Programma del corso

    INTRODUZIONE
    Introduzione all'informatica. Organizzazione e architettura dei computer. Evoluzione e prestazioni dei computer. Una tassonomia dei sistemi informatici moderni.

    MODELLI TEORICI PER I CALCOLATRICI
    Macchine combinatorie, macchine sequenziali e automi, la macchina di Turing, il modello di Von Neumann.

    ARCHITETTURA DEL CALCOLATORE
    Componenti e funzioni del computer. Interconnessioni.

    L'UNITÀ CENTRALE DI ELABORAZIONE
    Concetti principali. Struttura e funzione del processore. Pipelining. Architetture X86 e ARM in breve. RISC e CISC. Processori superscalari. Problemi di prestazioni. Programmazione in linguaggio assembly.

    MEMORIA
    Gerarchia di memoria. Memoria primaria: organizzazione e tecnologie. Memoria secondaria: organizzazione e tecnologie. Caching: organizzazione e tecnologie. Problemi di prestazioni.

    INPUT/OUTPUT
    Concetti principali e organizzazione.

    SOFTWARE
    I sistemi operativi: organizzazione e funzione. Scheduling. Gestione della memoria. Software applicativo. Problemi di prestazioni.

    RETI DI COMPUTER
    Introduzione alle reti di computer. Classificazione delle reti. Reti locali. Interconnessione. ISO/OSI e TCP/IP. Internet. Reti ad alte prestazioni. Problemi di prestazioni.

    SISTEMI PARALLELI
    Sistemi multiprocessore e organizzazione. NUMA e UMA. Problemi di cache. Processori vettoriali. Cluster di computer. Computer multicore. Problemi di prestazioni.

    WAREHOUSE SCALE COMPUTER
    Introduzione. Problemi principali. Organizzazione del data center. Cloud computing. Problemi di prestazioni.

    English

    Teaching language

    English

    Contents

    INTRODUCTION
    Introduction to computer science. Organization and architecture of computers. Computer evolution and performance. A taxonomy of modern computer systems.

    THEORETICAL MODELS FOR COMPUTING MACHINES
    Combinatorial machines, sequential machines and automata, the Turing machine, the Von Neumann's model.

    COMPUTER ARCHITECTURE
    Computer components and functions. Interconnections.

    THE CENTRAL PROCESSING UNIT
    Main concepts. Processor structure and function. Pipelining. X86 and ARM architectures in brief. RISC and CISC. Superscalar processors. Performance issues. Programming in assembly language.

    MEMORY
    Memory hierarchy. Primary memory: organization and technologies. Secondary memory: organization and technologies. Caching: organization and technologies. Performance issues.

    INPUT/OUTPUT
    Main concepts and organization.

    SOFTWARE
    The operating systems: organization and function. Scheduling. Memory management. Application software. Performance issues.

    COMPUTER NETWORKS
    Introduction to computer networks. Classification of networks. Local networks. Internetworking. ISO/OSI and TCP/IP. Internet. High performance networks. Performance issues.

    PARALLEL SYSTEMS
    Multiprocessor systems and organization. NUMA and UMA. Cache issues. Vector processors. Computer clusters. Multicore computers. Performance issues.

    WAREHOUSE SCALE COMPUTERS
    Introduction. Main issues. Datacenter organization. Cloud computing. Performance issues.

    Textbook and course materials

    William Stallings, "Computer organization and architecture, designing for performances" 10th edition, Pearson; John L. Hennessy, David A. Patterson, "Computer architecture, a quantitative approach" 6th edition, Morgan Kaufmann

    Course objectives

    The goal of the course is to introduce the students to general issues about computer theoretical models, architectural principles and problems, with a special consideration to performances. The students will be able to understand the main aspects about computer systems and to evaluate the main advantages and disadvantages of different solutions.

    Prerequisites

    None.

    Teaching methods

    Lessons.

    Evaluation methods

    Written and oral exam.

    Other information

    None.

    Course Syllabus

    INTRODUCTION
    Introduction to computer science. Organization and architecture of computers. Computer evolution and performance. A taxonomy of modern computer systems.

    THEORETICAL MODELS FOR COMPUTING MACHINES
    Combinatorial machines, sequential machines and automata, the Turing machine, the Von Neumann's model.

    COMPUTER ARCHITECTURE
    Computer components and functions. Interconnections.

    THE CENTRAL PROCESSING UNIT
    Main concepts. Processor structure and function. Pipelining. X86 and ARM architectures in brief. RISC and CISC. Superscalar processors. Performance issues. Programming in assembly language.

    MEMORY
    Memory hierarchy. Primary memory: organization and technologies. Secondary memory: organization and technologies. Caching: organization and technologies. Performance issues.

    INPUT/OUTPUT
    Main concepts and organization.

    SOFTWARE
    The operating systems: organization and function. Scheduling. Memory management. Application software. Performance issues.

    COMPUTER NETWORKS
    Introduction to computer networks. Classification of networks. Local networks. Internetworking. ISO/OSI and TCP/IP. Internet. High performance networks. Performance issues.

    PARALLEL SYSTEMS
    Multiprocessor systems and organization. NUMA and UMA. Cache issues. Vector processors. Computer clusters. Multicore computers. Performance issues.

    WAREHOUSE SCALE COMPUTERS
    Introduction. Main issues. Datacenter organization. Cloud computing. Performance issues.

    facebook logoinstagram buttonyoutube logotype