- Docente: Marco Patella
- Credits: 9
- Language: Italian
- Moduli: Marco Patella (Modulo 1) Marco Patella (Modulo 2)
- Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
- Campus: Bologna
- Corso: First cycle degree programme (L) in Engineering Management (cod. 0925)
Learning outcomes
Basic and operating knowledge of computer architecture and of principles of object-oriented programming. Analysis of computational complexity. Concepts of relational databases.
Course contents
1. Computer Architecture
General architecture of a computer. Von Neumann machine. Memory
devices.
2. Computer software
The operating system. Tools for programming: editors,
debuggers, compilers, and interpreters. Development phases of a
program.
3. Programming concepts
Methods for problem solving. Algorithms. Methodologies of
structured and modular programming. Iteration and recursion.
4. Programming languages
Programming languages: concepts and history. Syntax and
semantics.
5. Java Language
Introduction to object-oriented programming.
Object-oriented paradigm. Fundamenals of the Java programming
language. Algorithms and data structures in Java. Inheritance.
Advanced data structures in Java.
6. Computational Complexity
Different types of computational complexity. Cost models.
Complexity in terms of elementary instructions. Asymptotic
complexity.
7. Relational Databases
Concepts of the relational model.
Readings/Bibliography
- D. Sciuto, G. Buonanno, L. Mari: Introduzione ai sistemi informatici, IV edizione. McGraw-Hill
- C.T. Wu: Java - fondamenti di programmazione. McGraw-Hill
Teaching methods
The course is provided by means of slides displayed during lecture hours. Slides correspond to the content of the official book adopted for the course.
Lectures are integrated with computer-based experiences in a laboratory, held by the tutor: each experience tackles a particular theme, for which real problems are proposed; such problems are to be solved using the knowledge obtained during lecture hours.
Assessment methods
Student assessment is made by means of a written exam, concerning all the arguments shown during the lessons, and a final oral exam to be taken in the same period of the written exam.
Teaching tools
Classroom lessons will be held using slides, which will be integrated with the use of the blackboard for the development of exercises.
Lab hours are supported by the tutor of the course. Students will be assigned a PC, so as to practice the concepts learned during the lessons, and to improve their programming capabilities.
Links to further information
http://www-db.deis.unibo.it/courses/FITA-AK/
Office hours
See the website of Marco Patella