Foundations of Computer Science
To provide the basics of "computer culture" through the introduction of effective methodological and conceptual tools, aiming to face in a flexible way the evolution of technology and the broad world of applications. Specific objectives are:- To introduce computer science as a discipline for automatic problem solving;- To examine basic concepts related to programming electronic computers; in particular, syntax and semantics, methods and techniques for formal programming, algorithm efficiency and correctness;- To introduce programming techniques such as iteration and recursion;- To introduce fundamental data structures such as arrays and lists.
To provide the basics of "computer culture" through the introduction of effective methodological and conceptual tools, aiming to face in a flexible way the evolution of technology and the broad world of applications, emphasizing the role of Computer Science as a discipline for the automatic solution of problems.
Specific objectives:
- To understand the essential elements related to computer architecture and operating systems, as well as information representation;
- To gain the ability to design and code simple algorithms using structured programming and basic programming techniques such as iteration, as well as elementary data structures;
- To understand and use testing methodologies (debugging) for the produced code.
To provide the basics of "computer culture" through the introduction of effective methodological and conceptual tools, aiming to face in a flexible way the evolution of technology and the broad world of applications. Specific objectives are:- To introduce computer science as a discipline for automatic problem solving;- To examine basic concepts related to programming electronic computers; in particular, syntax and semantics, methods and techniques for formal programming, algorithm efficiency and correctness;- To introduce programming techniques such as iteration and recursion;- To introduce fundamental data structures such as arrays and lists.
To provide the basics of "computer culture" through the introduction of effective methodological and conceptual tools, aiming to face in a flexible way the evolution of technology and the broad world of applications, emphasizing the role of Computer Science as a discipline for the automatic solution of problems.
Specific objectives:
- To understand the essential elements related to computer architecture and operating systems, as well as information representation;
- To gain the ability to design and code simple algorithms using structured programming and basic programming techniques such as iteration, as well as elementary data structures;
- To understand and use testing methodologies (debugging) for the produced code.
Curriculum
Canali
scheda docente
materiale didattico
Top-down design principles
Decompositions and reductions between problems
Recursion
*Operations*
Basic operations for persistent data management (CRUD)
Use and manipulation of collections
*Data Structures*
Sets
Lists
Maps
* Advanced concepts *
Asymptotic notation
Recursion
Integrated development environments
Libraries
Files
Programma
* Basic concepts *Top-down design principles
Decompositions and reductions between problems
Recursion
*Operations*
Basic operations for persistent data management (CRUD)
Use and manipulation of collections
*Data Structures*
Sets
Lists
Maps
* Advanced concepts *
Asymptotic notation
Recursion
Integrated development environments
Libraries
Files
Testi Adottati
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edition, McGraw-Hill.Modalità Frequenza
Attendance is not compulsory, but it is strongly recommended.Modalità Valutazione
The exam consists of a written test including programming exercises, multiple choice questions, theoretical questions regarding the course program to be carried out in the laboratory.
scheda docente
materiale didattico
Problems, algorithms, and programs
Computer architecture
Languages and Compilation
Style and conventions
I / O, variables and constants
* Operations *
Information representation
Binary arithmetic
Types of data
Expressions
Boolean algebra
* Control structures *
Selection
Iteration
Functions
* Data structures *
Array
Strings
Matrices
* Advanced concepts *
Recursion
Integrated development environments
Errors
Libraries
File
Programma
* Basic concepts *Problems, algorithms, and programs
Computer architecture
Languages and Compilation
Style and conventions
I / O, variables and constants
* Operations *
Information representation
Binary arithmetic
Types of data
Expressions
Boolean algebra
* Control structures *
Selection
Iteration
Functions
* Data structures *
Array
Strings
Matrices
* Advanced concepts *
Recursion
Integrated development environments
Errors
Libraries
File
Testi Adottati
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.Modalità Erogazione
In-person classes and in-class labs (except for periods of sanitary emergency). Attendance is not compulsory, but it is strongly recommended.Modalità Frequenza
Attendance is not compulsory, but it is strongly recommended.Modalità Valutazione
The exam consists of a written test including programming exercises, exercises on Boolean algebra and binary arithmetic, multiple choice questions, theoretical questions regarding the course program to be carried out in the laboratory.Canali
scheda docente
materiale didattico
Top-down design principles
Decompositions and reductions between problems
Recursion
*Operations*
Basic operations for persistent data management (CRUD)
Use and manipulation of collections
*Data Structures*
Sets
Lists
Maps
* Advanced concepts *
Asymptotic notation
Recursion
Integrated development environments
Libraries
Files
Programma
* Basic concepts *Top-down design principles
Decompositions and reductions between problems
Recursion
*Operations*
Basic operations for persistent data management (CRUD)
Use and manipulation of collections
*Data Structures*
Sets
Lists
Maps
* Advanced concepts *
Asymptotic notation
Recursion
Integrated development environments
Libraries
Files
Testi Adottati
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edition, McGraw-Hill.Modalità Frequenza
Attendance is not compulsory, but it is strongly recommended.Modalità Valutazione
The exam consists of a written test including programming exercises, multiple choice questions, theoretical questions regarding the course program to be carried out in the laboratory.
scheda docente
materiale didattico
Problems, algorithms, and programs
Computer architecture
Languages and Compilation
Style and conventions
I / O, variables and constants
* Operations *
Information representation
Binary arithmetic
Types of data
Expressions
Boolean algebra
* Control structures *
Selection
Iteration
Functions
* Data structures *
Array
Strings
Matrices
* Advanced concepts *
Recursion
Integrated development environments
Errors
Libraries
File
Programma
* Basic concepts *Problems, algorithms, and programs
Computer architecture
Languages and Compilation
Style and conventions
I / O, variables and constants
* Operations *
Information representation
Binary arithmetic
Types of data
Expressions
Boolean algebra
* Control structures *
Selection
Iteration
Functions
* Data structures *
Array
Strings
Matrices
* Advanced concepts *
Recursion
Integrated development environments
Errors
Libraries
File
Testi Adottati
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.Modalità Erogazione
In-person classes and in-class labs (except for periods of sanitary emergency). Attendance is not compulsory, but it is strongly recommended.Modalità Frequenza
Attendance is not compulsory, but it is strongly recommended.Modalità Valutazione
The exam consists of a written test including programming exercises, exercises on Boolean algebra and binary arithmetic, multiple choice questions, theoretical questions regarding the course program to be carried out in the laboratory.Canali
scheda docente
materiale didattico
Top-down design principles
Decompositions and reductions between problems
Recursion
*Operations*
Basic operations for persistent data management (CRUD)
Use and manipulation of collections
*Data Structures*
Sets
Lists
Maps
* Advanced concepts *
Asymptotic notation
Recursion
Integrated development environments
Libraries
Files
Programma
* Basic concepts *Top-down design principles
Decompositions and reductions between problems
Recursion
*Operations*
Basic operations for persistent data management (CRUD)
Use and manipulation of collections
*Data Structures*
Sets
Lists
Maps
* Advanced concepts *
Asymptotic notation
Recursion
Integrated development environments
Libraries
Files
Testi Adottati
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edition, McGraw-Hill.Modalità Frequenza
Attendance is not compulsory, but it is strongly recommended.Modalità Valutazione
The exam consists of a written test including programming exercises, multiple choice questions, theoretical questions regarding the course program to be carried out in the laboratory.
scheda docente
materiale didattico
Problems, algorithms, and programs
Computer architecture
Languages and Compilation
Style and conventions
I / O, variables and constants
* Operations *
Information representation
Binary arithmetic
Types of data
Expressions
Boolean algebra
* Control structures *
Selection
Iteration
Functions
* Data structures *
Array
Strings
Matrices
* Advanced concepts *
Recursion
Integrated development environments
Errors
Libraries
File
Programma
* Basic concepts *Problems, algorithms, and programs
Computer architecture
Languages and Compilation
Style and conventions
I / O, variables and constants
* Operations *
Information representation
Binary arithmetic
Types of data
Expressions
Boolean algebra
* Control structures *
Selection
Iteration
Functions
* Data structures *
Array
Strings
Matrices
* Advanced concepts *
Recursion
Integrated development environments
Errors
Libraries
File
Testi Adottati
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.Modalità Erogazione
In-person classes and in-class labs (except for periods of sanitary emergency). Attendance is not compulsory, but it is strongly recommended.Modalità Frequenza
Attendance is not compulsory, but it is strongly recommended.Modalità Valutazione
The exam consists of a written test including programming exercises, exercises on Boolean algebra and binary arithmetic, multiple choice questions, theoretical questions regarding the course program to be carried out in the laboratory.Canali
scheda docente
materiale didattico
Top-down design principles
Decompositions and reductions between problems
Recursion
*Operations*
Basic operations for persistent data management (CRUD)
Use and manipulation of collections
*Data Structures*
Sets
Lists
Maps
* Advanced concepts *
Asymptotic notation
Recursion
Integrated development environments
Libraries
Files
Programma
* Basic concepts *Top-down design principles
Decompositions and reductions between problems
Recursion
*Operations*
Basic operations for persistent data management (CRUD)
Use and manipulation of collections
*Data Structures*
Sets
Lists
Maps
* Advanced concepts *
Asymptotic notation
Recursion
Integrated development environments
Libraries
Files
Testi Adottati
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edition, McGraw-Hill.Modalità Frequenza
Attendance is not compulsory, but it is strongly recommended.Modalità Valutazione
The exam consists of a written test including programming exercises, multiple choice questions, theoretical questions regarding the course program to be carried out in the laboratory.
scheda docente
materiale didattico
Problems, algorithms, and programs
Computer architecture
Languages and Compilation
Style and conventions
I / O, variables and constants
* Operations *
Information representation
Binary arithmetic
Types of data
Expressions
Boolean algebra
* Control structures *
Selection
Iteration
Functions
* Data structures *
Array
Strings
Matrices
* Advanced concepts *
Recursion
Integrated development environments
Errors
Libraries
File
Programma
* Basic concepts *Problems, algorithms, and programs
Computer architecture
Languages and Compilation
Style and conventions
I / O, variables and constants
* Operations *
Information representation
Binary arithmetic
Types of data
Expressions
Boolean algebra
* Control structures *
Selection
Iteration
Functions
* Data structures *
Array
Strings
Matrices
* Advanced concepts *
Recursion
Integrated development environments
Errors
Libraries
File
Testi Adottati
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.Modalità Erogazione
In-person classes and in-class labs (except for periods of sanitary emergency). Attendance is not compulsory, but it is strongly recommended.Modalità Frequenza
Attendance is not compulsory, but it is strongly recommended.Modalità Valutazione
The exam consists of a written test including programming exercises, exercises on Boolean algebra and binary arithmetic, multiple choice questions, theoretical questions regarding the course program to be carried out in the laboratory.