28879 - Elements of Programming for Physics

Academic Year 2015/2016

  • Docente: Graziano Servizi
  • Credits: 5
  • SSD: FIS/01
  • Language: Italian
  • Teaching Mode: Traditional lectures
  • Campus: Bologna
  • Corso: First cycle degree programme (L) in Physics (cod. 8007)

Learning outcomes

Students will acquire basic knowledge of characters and numbers (both integer and floating) representation in a computer and of an object oriented programming language such as C++.
In particular he/she will:

-understand the fundamental programming concepts and techniques, namely the object oriented programming protocols and correctly apply the syntax and algorithmic structures of C++;

-compile and execute on a Linux computer codes solving simple problems, mainly in the framework of Physics.

Course contents

-Binary representations of integer and floating numbers;

-Basic programming concepts: getting data, branching statements, boolean variables, iteration loops, outputting results;

-The C++ programming language as an evolution of ANSI C: procedural programming paradigm evolving to the object oriented paradigm;

-Morphology of a C++ code: scopes, identifiers, functions;

-Morphology of a C++ code: statements and expressions, keywords, constants, operators;

-Syntax of a C++ code: declarations and typing, expressions evaluation, execution flow;

-Creation of objects and their use: structures, classes, accessing members of objects, constructors, operators;

-Creating hierarchies of objects and their use: inheritance mechanisms;

-Virtual polimorphic classes: abstraction and run-time binding;

-Template classes and their specializations;

-Managing exceptions;

-Input/Output systems: reading and writing data, both in binary and text format;

-Applications: simple codes suitable to solve elementary problems in Physics.


Readings/Bibliography

Any good handbook on C++, available everywhere.

The web site at URI
http://www.physycom.unibo.it/labinfo

Teaching methods

Lectures supported by a PC projected on a wide screen;

individual exercises in the laboratory on Linux systems.

Assessment methods

Final exam consisting of a written and an oral test, during which candidates must provide their own work done in the laboratory exercises.

Teaching tools

A web site constantly kept up to date by the teacher.

Links to further information

http://www.physycom.unibo.it/labinfo

Office hours

See the website of Graziano Servizi