The course provides an introduction to basic computer science and is aimed at the typical applications in physics. The lessons, rather than being focused on a specific programming language, are characterized by a pragmatic approach to computer science aimed at teaching learning methods, simulation techniques, data analysis and debugging procedures.The expected learning outcomes are: - Ability to interact with the Linux environment and create short shell scripts for automating procedures - Ability to write reports and thesis papers in LaTeX - Ability to develop short programs in C++ - Ability to learn new programming languages - Ability to find resources on the web and adapt them to solve a given problem
Course Prerequisites
None. The lectures start from computer science basics.
Teaching Methods
The lectures are assisted by OpenOffice presentations, that will be made available to students in pdf format via the Kiro platform. Since this is an hands-on course, all the topics presented during the lectures will be reproduced by the students in the computer lab via the implementation of ad-hoc programs.
Assessment Methods
Computer-based practical examination that lasts 3 hours. Half of the task will be about C++ and the other half about bash scripting and LaTeX. Generally, there are 4 exercises worth approximately 8-9 points each. During the test, in line with the educational objectives, it is possible to use the web and access personal resources (notes, USB drives with completed exercises, etc.). The continuous attendance at laboratory sessions grants up to 2 extra points on the final grade.
Texts
The slides provided by the teacher already cover all the topics presented and are sufficient for the preparation of the final exam. Eventually, if the student deems it necessary, he can complete the preparation with any introductory manual to C ++, such as http://www.learncpp.com/
Contents
The first part of the course illustrates the principles of operation of computers, their main components and operating systems. Main topics are: the Linux operating system, widely used in research, the unix commands and the shell scripts used to automate procedures. The basic concepts of procedural programming languages and object-oriented languages are then presented. As an example of a language currently used in a physical research environment, an introduction to C ++ is provided. The course in an hands-on introduction to computer science, therefore the main focus is on the execises in computer lab. The students, for example, will develop in C ++ the simulation of a problem typical of classical physics. The data analysis program (ROOT), developed at CERN, is used as graphical library.
Course Language
Italian
More information
The students who can benefit from more inclusive teaching methods (see https://portale.unipv.it/it/didattica/servizi-lo-studente/modalita-didattiche-inclusive) can utilize the material and follow the videolectures available on KIRO. They should also get in touch with the professor to schedule online meetings and, if possible, group activities.