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
teacher profile teaching materials
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
Programme
* 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
Core Documentation
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edition, McGraw-Hill.Attendance
Attendance is not compulsory, but it is strongly recommended.Type of evaluation
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. teacher profile teaching materials
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
Programme
* 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
Core Documentation
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.Type of delivery of the course
In-person classes and in-class labs (except for periods of sanitary emergency). Attendance is not compulsory, but it is strongly recommended.Attendance
Attendance is not compulsory, but it is strongly recommended.Type of evaluation
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
teacher profile teaching materials
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
Programme
* 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
Core Documentation
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edition, McGraw-Hill.Attendance
Attendance is not compulsory, but it is strongly recommended.Type of evaluation
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. teacher profile teaching materials
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
Programme
* 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
Core Documentation
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.Type of delivery of the course
In-person classes and in-class labs (except for periods of sanitary emergency). Attendance is not compulsory, but it is strongly recommended.Attendance
Attendance is not compulsory, but it is strongly recommended.Type of evaluation
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
teacher profile teaching materials
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
Programme
* 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
Core Documentation
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edition, McGraw-Hill.Attendance
Attendance is not compulsory, but it is strongly recommended.Type of evaluation
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. teacher profile teaching materials
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
Programme
* 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
Core Documentation
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.Type of delivery of the course
In-person classes and in-class labs (except for periods of sanitary emergency). Attendance is not compulsory, but it is strongly recommended.Attendance
Attendance is not compulsory, but it is strongly recommended.Type of evaluation
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
teacher profile teaching materials
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
Programme
* 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
Core Documentation
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edition, McGraw-Hill.Attendance
Attendance is not compulsory, but it is strongly recommended.Type of evaluation
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. teacher profile teaching materials
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
Programme
* 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
Core Documentation
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.Type of delivery of the course
In-person classes and in-class labs (except for periods of sanitary emergency). Attendance is not compulsory, but it is strongly recommended.Attendance
Attendance is not compulsory, but it is strongly recommended.Type of evaluation
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.