Introduction to Computer Science

The course provides the background on important topics of computer science: Algorithms, Programming and Databases.

Regarding algorithms, we introduce the concept of asympthotic notation, we describe simple data structures and we introduce different algorithms for ordering objects and visit graphs.

Regarding programming, we supply a general overview of the two most important programming paradigms (imperative and object-oriented). For each one we provide several usage examples.

Introduction to computer science

Il corso vuole fornire una breve introduzione a dei concetti fondamentali in informatica quali gli algoritmi, con la definizione della complessità asintotica e alcuni esempi di semplici algoritmi, la programmazione, fornendo una visione introduttiva ai concetti alla base del paradigma imperativo e di quello ad oggetti, e le basi di dati. 

Basic knowledge of basic algorithms and simple data structures, understanding of the basic principles of programming languages and databases.

Basic math

Introduction to Algorithms, third edition, T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein, MIT press, 2009.

Garcia-Molina, Hector. Database Systems: The Complete Book. 2nd ed. Upper Saddle River, N.J: Pearson Prentice Hall, 2009.

Abiteboul, S. Foundations of Databases. Reading, Mass: Addison-Wesley, 1995.

Elmasri, Ramez, and Sham Navathe. Fundamentals of Database Systems. 6th ed. Boston: Addison-Wesley, 2011.

Silberschatz, Abraham, Henry F Korth, and S Sudarshan. Database System Concepts. 6th ed. New York: McGraw-Hill, 2011.

The course includes five teaching units divided in as many weeks. Each teaching unit will present a main topic that will be divided in its basic concepts through several videos for about 10 minutes. The teaching units will be distributed among the three main topics covered by the course.

You can have the Certificate of Attendance after watching all video lectures and answering at least 7 questions out of 10 of each test correctly (you can retry each answer twice).
Imperative Programming

Learning the basics of the imperative programming paradigm.


The nature of imperative programming (12'46'')
Expressions, Variables and Functions (10'21'')
Control instructions (5'57'')
Putting it all together (8'37'')

Learning the basics of  algorithms.


Introduction to algorithms (12'21'')
Primitive sorting algorithms (10'49'')
Recursive sorting algorithms (9'26'')
Elementary data structures (8'51'')
Graphs and trees (8'34'')
Graph visits (11'29'')
Object Oriented Programming

Learning the basics of Object Oriented Programming.


The nature of object oriented programming (8'52'')
Interfaces (11'15'')
Inheritance (10'43'')
Combining objects (7'20'')
Relational Data Model

Learning the basics of the Relational Data Model


Introduction to Relational Databases (7'44'')
The Relational Data Model (12'05'')
The Relational Algebra (9'17'')
The Relational Algebra – Advanced operators (11'35'')
The SQL Language

Presenting the Query Language SQL


Introduction to SQL (12'19'')
SQL, advanced syntax (11'16'')
SQL, advanced syntax, Second Part (10'57'')
The execution of SQL queries (16'28'')
Conclusion (0'58'')
Modalità del Corso
Stato del Corso
5 settimane
4 ore/settimana
Ore formazione
Informatica, Gestione e Analisi Dati
Avvio Iscrizioni
19 May 2018
Apertura Corso
4 Jun 2018
Inizio Tutoraggio
4 Jun 2018
Fine Tutoraggio
21 Jul 2018
Tutoraggio Soft
22 Jul 2018
Fine Iscrizioni
5 Aug 2018
Chiusura Corso
31 Aug 2018
Prossima Edizione
3 Jun 2019

Partecipazione e Attestati

Quota di iscrizione
Attestato di Partecipazione

Corsi collegati