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
Teacher
|
LIMONGELLI CARLA
(syllabus)
COURSE PROGRAM
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
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 Data types: lists
(reference books)
Alessandro Bellini, Andrea Guidi Linguaggio C - Quinta edizione ISBN: 9788838668210- Autore: Kernighan, Ritchie Titolo: Il linguaggio C. Principi di programmazione e manuale di riferimento Editore: Pearson
|
Dates of beginning and end of teaching activities
|
From 01/03/2024 to 14/06/2024 |
Delivery mode
|
Traditional
|
Attendance
|
not mandatory
|
Evaluation methods
|
Written test
|
Group: CANALE 2
Teacher
|
FRATI FABRIZIO
(syllabus)
COURSE PROGRAM (First part)
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 part)
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)
Author: Bellini, Guidi Title: Linguaggio C - Una guida alla programmazione con elementi di Objective-C Edition: 5-th edition Editor: McGraw-hill Year: 2013
|
Dates of beginning and end of teaching activities
|
From 01/03/2024 to 14/06/2024 |
Delivery mode
|
Traditional
|
Attendance
|
not mandatory
|
|
|