FOUNDATIONS OF COMPUTER SCIENCE
(objectives)
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 fundamental skills concerning the “top-down approach” to algorithm design and modular programming, as well as the main methods that allow performing both qualitative and quantitative comparisons among different algorithmic solutions.
Specific objectives:
- To understand and apply problem-solving techniques for algorithm design, with particular reference to approaches based on problem decomposition and simplification; - To understand and apply modular and recursive programming paradigms; - To understand and apply methodological tools for the asymptotic evaluation of algorithm efficiency; - To understand and apply both formal and pragmatic techniques for algorithm correctness verification and program validation; - To gain practical skills in using fundamental data collections in code development.
|
Code
|
20810526 |
Language
|
ITA |
Type of certificate
|
Profit certificate
|
Module: FOUNDATIONS OF COMPUTER SCIENCE |
Code
|
20810526-1 |
Language
|
ITA |
Type of certificate
|
Profit certificate
|
Credits
|
6
|
Scientific Disciplinary Sector Code
|
ING-INF/05
|
Contact Hours
|
54
|
Type of Activity
|
Basic compulsory activities
|
|
|
Module: FOUNDATIONS OF COMPUTER SCIENCE
(objectives)
To provide the fundamental skills concerning the “top-down approach” to algorithm design and modular programming, as well as the main methods that allow performing both qualitative and quantitative comparisons among different algorithmic solutions.
Specific objectives:
- To understand and apply problem-solving techniques for algorithm design, with particular reference to approaches based on problem decomposition and simplification; - To understand and apply modular and recursive programming paradigms; - To understand and apply methodological tools for the asymptotic evaluation of algorithm efficiency; - To understand and apply both formal and pragmatic techniques for algorithm correctness verification and program validation; - To gain practical skills in using fundamental data collections in code development.
|
Code
|
20810526-2 |
Language
|
ITA |
Type of certificate
|
Profit certificate
|
Credits
|
6
|
Scientific Disciplinary Sector Code
|
ING-INF/05
|
Contact Hours
|
54
|
Type of Activity
|
Basic compulsory activities
|
Group: CANALE 1
Teacher
|
LIMONGELLI CARLA
(syllabus)
* 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
(reference books)
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edition, McGraw-Hill.
|
Dates of beginning and end of teaching activities
|
From 03/03/2025 to 13/06/2025 |
Delivery mode
|
Traditional
|
Attendance
|
not mandatory
|
Group: CANALE 2
Teacher
|
DA LOZZO GIORDANO
(syllabus)
* 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
(reference books)
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.
|
Dates of beginning and end of teaching activities
|
From 03/03/2025 to 13/06/2025 |
Delivery mode
|
Traditional
|
Attendance
|
not mandatory
|
|
|
|