COMPUTER SCIENCE
The course includes three intermediate tests, which corresponds to three electronic documents to be submit to the teacher within the assigned deadline, plus an optional oral test. As an alternative to the aforementioned intermediate tests, students can opt for a written plus oral examination.
At the end of the course the students should have:
(1)Knowledge and understanding. Knowledge of the main concepts of computer science, as well as of the paradigms underlying the solution of generic computational problems; knowledge of data representation concepts, ability to model a dynamic phenomenon as well as concepts related to the simulation of complex systems.
(2)Applying knowledge and understanding. The student will be able to: develop programs for solving simple computational problems; develop spreadsheets aimed at non-trivial data processing and analysis; apply algorithmic concepts to three-dimensional parametric modeling; designing and implementing models for the study of the evolution of complex systems over time, with particular reference to system dynamics and agent-based models.
(3)Making judgements: Ability to interpret the results of automatic processing processes; ability to evaluate the opportunity and feasibility of the implementation of simulation models.
(4)Communication skills. The student will be able to appropriately present the characteristics of the processing algorithms (spreadsheets, simulation models, algorithms for three-dimensional parametric modeling), and to correctly communicate the results of different types of automatic processing.
(5)Learning skills. At the end of the course, the student will have acquired the ability to deepen the concepts related to the applications of information technology in the field of architecture and planning.
Introductory elements: information and data; problems involving automatic data processing; information encoding and decoding. Introduction to algorithms and computer programming. Development and analysis of programs for solving simple computational problems (with particular reference to classical and elementary numerical analysis algorithms). Use of spreadsheets for analyzing data and presenting results. Introduction to algorithms for parametric modeling. Introduction to computational simulation: the System Dynamics approach and its application to the simulation of complex systems; agent-based modeling (movement of pedestrians and road traffic) and development of relevant applications for urban planning and architecture design. Laboratory activity: development of numerical analysis algorithms; design and implementation of a relational database; advanced use of spreadsheets; development of dynamic models of complex systems with Anylogic; design and implementation of agent-based simulation models with Anylogic.
Recommended or required reading and course materials
• Course notes
• Introduction to Dynamo: http://primer.dynamobim.org
• D. Mandrioli, S. Ceri, L. Sbattella, P. Cremonesi, G. Cugola. Informatica: arte e mestiere. Quarta Edizione, McGraw-Hill, 2014.
• AnyLogic 7 in Three Days: A Quick Course in Simulation Modeling Author: Ilya Grigoryev Publication date: December 8, 2014
• Andrei Borshchev, The Big Book of Simulation Modeling. Multimethod Modeling with AnyLogic 6
• Piero Mella, Guida al Systems thinking. Imparare e applicare il pensiero sistemico per migliorare l'intelligenza e gestire meglio la propria attività, 2007
The course includes both lectures and practical activities to be performed on the student's laptop. Several lessons are dedicated to guided activities that allows students to explore and practice with the relevant topics and concepts using specific software tools. The specific versions of the free software tools to be installed will be communicated at the beginning of the course unit. Among proposed software environments, the students will learn basic and advanced concept of Dynamo, for parametric modeling, and Anylogic, which is a powerful multimethod simulation software that supports Discrete Event, Agent Based, and System Dynamics Simulation. The typical Anylogic applications developed during the guided lessons include the simulation of system dynamics models (e.g. involving phenomena like demography, labour resources, real estate market, social sphere) as well as pedestrian simulation, crowd simulation and traffic simulation.
The lecturer is willing to offer individual assistance to incoming students and to accept examination also in English. Most of the supporting material and bibliographic references are in English.