MENU

You are here

Advanced Programming

Lecturer: 
Alberto Sartori
Course Type: 
PhD Course
Master Course
Anno (LM): 
First Year
Academic Year: 
2018-2019
Period: 
October-January
Duration: 
48 h
CFU (LM): 
6
Description: 

Provide advanced knowledge of both theoretical and practical programming in C ++ and Python, with particular regard to the principles of object oriented programming and best practices of software development (advanced use of version control systems, continuous integration, unit testing).

Syllabus:

  1. Scientific programming environment. You will learn the basic ingredients needed to efficiently develop scientific software in *nix environment.
  2. Introduction to C++. You will learn the logic and the basics of C++, the built-in data types and how to effectively use them. Best practices in programming will be addressed.
  3. Object orientation in C++. The principles of Object-Oriented programming will be presented with particular attention to their implementations in C++. Some of the most important Design Patterns will be discussed.
  4. Advanced features of C++11/14/17. Some of the new features of standard C++11/14/17 will be introduced and explained.
  5. Object-Oriented programming in Python. After a recap of the basics of Python, you will learn how to program in object-oriented fashion in the Python programming language.

References:

  • Programming: Principles and Practice using C++ (Second Edition), Bjarne Stroustrup, Addison-Wesley 2014, ISBN 978-0-321-99278-9
  • The C++ Programming Language, Bjarne Stroustrup, Addison-Wesley 2013, ISBN 978-0321563842

The updated material for this course can be found here.

Prerequisites: 
Familiarity with linux terminal and a text editor (e.g., emacs, vim)
A bit of knowledge of git
Location: 
On 9/10 and 11/10 the lectures will be held in A-004
Location: 
A-005
Next Lectures: 
Tuesday, October 2, 2018 - 14:00 to 16:00
Thursday, October 4, 2018 - 16:00 to 18:00
Tuesday, October 9, 2018 - 14:00 to 16:00
Thursday, October 11, 2018 - 16:00 to 18:00
Tuesday, October 16, 2018 - 14:00 to 16:00
Thursday, October 18, 2018 - 16:00 to 18:00
Tuesday, October 23, 2018 - 14:00 to 16:00
Thursday, October 25, 2018 - 16:00 to 18:00
Tuesday, November 6, 2018 - 14:00 to 16:00
Thursday, November 8, 2018 - 16:00 to 18:00
Tuesday, November 13, 2018 - 14:00 to 16:00
Thursday, November 15, 2018 - 16:00 to 18:00
Tuesday, November 20, 2018 - 14:00 to 16:00
Thursday, November 22, 2018 - 16:00 to 18:00
Tuesday, November 27, 2018 - 14:00 to 16:00
Thursday, November 29, 2018 - 16:00 to 18:00
Thursday, December 6, 2018 - 16:00 to 18:00
Tuesday, December 11, 2018 - 14:00 to 16:00
Thursday, December 13, 2018 - 16:00 to 18:00
Tuesday, December 18, 2018 - 14:00 to 16:00
Thursday, December 20, 2018 - 16:00 to 18:00
Tuesday, January 8, 2019 - 14:00 to 16:00
Thursday, January 10, 2019 - 16:00 to 18:00
Tuesday, January 15, 2019 - 14:00 to 16:00
Thursday, January 17, 2019 - 16:00 to 18:00

Sign in