FOUNDATIONS OF COMPUTER SCIENCE F - O
Academic Year 2018/2019 - 1° YearCredit Value: 9
Scientific field: ING-INF/05 - Information processing systems
Taught classes: 42 hours
Exercise: 45 hours
Term / Semester: 2°
Learning Objectives
The course covers the fundamental concepts of compure science: digital information representation, computer architectures, operating systems, algorithms, programming languages, on compilers and interpreters and on structured programming and programming in C language. In particular, the development of C programs for the management of complex data structures (libraries, archives, etc.).
Course Structure
Lectures, hands-on exercises and laboratory.
Detailed Course Content
Fundamentals of algorithms and programs
- Automatic information processing. Algorithms and programs. Programming languages. Code Design. Structured programming. Flowcharts and pseudocode.
Information Representation
- Coding systems. Numbering systems and conversion algorithms. Full and floating point arithmetic. Representation of multimedia data.
Computer Architecture:
- Computer components: central memory, central unit, basic operation of the computer (machine cycle). Peripheral devices and memories.
Computer networks and the Internet
- Local networks. Geographical networks. Network protocols. Overview of the Internet and the most widespread network applications.
Operating Systems
- Programming Environment. Compilers vs. interpreters. Architecture and functionality of an Operating System. Process management. Memory management. File system.
The C programming language: syntax and semantics
- Instruction set. Control structures. Data types in C: int, char, float, double, arrays and strings, structures. The C pointer. Functions.
Sorting and searching algorithms
- Sequential and binary search. Sorting algorithms.
Data structures
- Dynamic data structures. Dynamic allocation of memory. Stacksm Queues and Trees. Example codes.
Textbook Information
- Bellini, A. Guidi - "Linguaggio C - guida alla programmazione", 4a ed. McGraw-Hill
- D. Sciuto, G. Buonanno, L. Mari, , "Introduzione ai sistemi informatici" 5a ed. McGraw-Hill