FOUNDATIONS OF COMPUTER SCIENCE
(objectives)
To provide the basics of the “computer culture”, through the study of methodological and conceptual tools for facing in a flexible, effective and lasting way the evolution of technology and the wide world of applications. Specific objectives include: - introducing computers as automatic systems for the solution of problems - introducing basic concepts about programming electronic computers; syntactical rules, programming methodologies, both from a formal and from a pragmatic perspective; quality measures related to efficiency and correctness - introducing programming techniques, like iteration and recursion; - introducing data structures and algorithms for foundational problems like searching and sorting.
At the end of the course students will be able to deal with a programming problem in all its aspects, namely: - understand and analyze the problem - design iterative or recursive algorithms to solve problems using the most suitable data structures - encode the algorithms in C - carry out correctness tests - critically judge the code in terms of readability and efficiency.
|
Code
|
20810073 |
Language
|
ITA |
Type of certificate
|
Profit certificate
|
Credits
|
12
|
Scientific Disciplinary Sector Code
|
ING-INF/05
|
Contact Hours
|
108
|
Type of Activity
|
Core compulsory activities
|
Group: CANALE 1
Derived from
|
20810073 FOUNDATIONS OF COMPUTER SCIENCE in Computer science and engineering L-8 CANALE 1 LIMONGELLI CARLA
(syllabus)
COURSE PROGRAM (First semester)
Computer operations and representation of information -computer architecture -operating systems -binary arithmetic -compilation and execution of programs
Algorithms -program specification -programming quality -representation and algorithm design
Programming Fundamentals -programming langauges -variables -Instructions -types data -Instructions structured -style programming -structure of the program -functions
Software correctness -testing methods -debugging
Management of data sets -arrays -strings
COURSE PROGRAM (Second semester)
Pointers and dynamic memory allocation Data structures, struct, files Recursion Sorting and searching algorithms Computational cost of programs - Big O, Omega and Theta notations - best, average, and worst case analysis Abstract data types and related structures - lists - queues - stacks
(reference books)
Alessandro Bellini, Andrea Guidi Linguaggio C - Quinta edizione ISBN: 9788838668210
|
Dates of beginning and end of teaching activities
|
From 01/03/2021 to 11/06/2021 |
Delivery mode
|
Traditional
At a distance
|
Attendance
|
not mandatory
|
Evaluation methods
|
Written test
|
Group: CANALE 2
Derived from
|
20810073 FOUNDATIONS OF COMPUTER SCIENCE in Computer science and engineering L-8 CANALE 2 FRATI FABRIZIO
(syllabus)
COURSE PROGRAM (First semester)
Computer operations and representation of information -computer architecture -operating systems -binary arithmetic -compilation and execution of programs
Algorithms -program specification -programming quality -representation and algorithm design
Programming Fundamentals -programming langauges -variables -Instructions -types data -Instructions structured -style programming -structure of the program -functions
Software correctness -testing methods -debugging
Management of data sets -arrays -strings
COURSE PROGRAM (Second semester)
Pointers and dynamic memory allocation Data structures, struct, files Recursion Sorting and searching algorithms Computational cost of programs - Big O, Omega and Theta notations - best, average, and worst case analysis Abstract data types and related structures - lists - queues - stacks
(reference books)
Alessandro Bellini, Andrea Guidi Linguaggio C - Quinta edizione ISBN: 9788838668210
|
Dates of beginning and end of teaching activities
|
From 01/03/2021 to 11/06/2021 |
Delivery mode
|
Traditional
At a distance
|
Attendance
|
not mandatory
|
Evaluation methods
|
Written test
|
|
|