Scientific Calendar Event



Description
 

The Abdus Salam International Centre for Theoretical Physics, in collaboration with the Sharif University of Technology, is organizing the 5th edition of the Workshop on Advanced Techniques for Scientific Programming and Management of Open Source Software Packages, to be held in Tehran, Iran from 4th to 15th March 2017.
Modern scientific research work involves using computers for simulation, modeling, data processing and visualization. The growing complexity of those calculations favors using software packages that provide an abstract interface to computations through scripting language interfaces, modular software design, and code reuse. Such design patterns also facilitate transparent optimizations for modern multi- core architectures or accelerators, and specialization of contributors to subsets of a package program. Software package developers therefore need to learn how to work effectively in a collaborative environment.
This Hands-on Workshop focuses on disseminating best practices and building fundamental skills in creating, extending and collaborating on modular and reusable software frameworks with a scripting language interface. The curriculum also covers using modern collaborative software management tools, testing frameworks, and embedding structured documentation into software packages.
 
Go to day
  • Saturday, 4 March 2017
    • 08:30 - 18:30 Day 1
      • 08:30 Workshop Registration 1h30'
      • 10:00 Workshop Overview: Software Development Basics 45'
        Speaker: I. Girotto (ICTP, Italy)
      • 10:45 Coffee Break 30'
      • 11:15 Python: Concepts and Design 1h15'
        Speaker: D. Grellscheid (ICTP, Italy)
      • 12:30 Lunch Break 1h30'
      • 14:00 Hands-on: Python Programming 2h0'
        Speaker: D. Grellscheid (ICTP, Italy)
      • 16:00 Coffee Break 30'
      • 16:30 Hands-on: Python Programming 2h0'
        Speaker: D. Grellscheid (ICTP, Italy)
  • Sunday, 5 March 2017
    • 09:00 - 18:30 Day 2
      • 09:30 Object Oriented Programming Concepts in Python 1h15'
        Speaker: D. Grellscheid (ICTP, Italy)
      • 10:45 Coffee Break 30'
      • 11:15 Python for Scientific Computing 1h15'
        Speaker: S. Richter (University College London, UK)
      • 12:30 Lunch Break 1h30'
      • 14:00 Hands-on: Python Programming 1h30'
        Speaker: D. GRELLSCHEID (ICTP, Italy)
      • 15:30 Coffee Break 30'
      • 16:00 Hands-on: Paython Programming 2h0'
        Speaker: D. Grellscheid (ICTP, Italy)
  • Monday, 6 March 2017
    • 09:30 - 20:30 Day 3
      • 09:30 Compiling and Linking Mixed Languages 1h15'
        Speaker: I. Girotto (ICTP, Italy)
      • 10:45 Coffee Break 30'
      • 11:15 C++, basics of OO 1h15'
        Speaker: D. Grellscheid (ICTP, Italy)
      • 12:30 Lunch Break 1h30'
      • 14:00 Hands-on: practicing with C++ 1h30'
        Speaker: D. Grellscheid (ICTP, Italy)
      • 15:30 Coffee Break 30'
      • 16:00 Hands-on: practicing with C++ 2h0'
        Speaker: D. Grellscheid (ICTP, Italy)
      • 18:30 Social Dinner 2h0'
  • Tuesday, 7 March 2017
    • 09:30 - 19:30 Day 4
      • 09:30 Optimization: Algorithms 1h15'
        Speaker: D. Grellscheid (ICTP, Italy)
      • 10:45 Coffee Break 30'
      • 11:15 Tools for Debugging and Profiling 1h15'
        Speaker: I. Girotto (ICTP, Italy)
      • 12:30 Lunch Break 1h30'
      • 14:00 Hands-on: Debugging and Profiling 1h30'
        Speaker: I. Girotto (ICTP, Trieste)
      • 15:30 Coffee Break 30'
      • 16:00 Hands-on: Makefiles 2h0'
        Speakers: S. AbdusSalam (Shahid Beheshti University, Iran), I. Girotto (ICTP, Italy)
  • Wednesday, 8 March 2017
    • 09:30 - 19:30 Day 5
      • 09:30 Optimization: Modern Hardware Architectures 1h15'
        Speaker: I. Girotto (ICTP, Trieste)
      • 10:45 Coffee Break 30'
      • 11:15 Floating-Point Math 1h15'
        Speaker: D. Grellscheid (ICTP, Italy)
      • 12:30 Lunch Break 1h30'
      • 14:00 Hands-on: Memory Hierarchy 1h30'
        Speaker: I. Girotto (ICTP, Italy)
      • 15:30 Coffee break 30'
      • 16:00 Hands-on: Intro to Git 2h0'
        Speakers: I. Girotto (ICTP, Italy), S. Richter (University College London, UK)
  • Saturday, 11 March 2017
    • 09:30 - 19:00 Day 6
      • 09:30 Introduction to Programming Projects 1h15'
        Speaker: All Lecturers and Instructors
      • 10:45 Coffee Break 30'
      • 11:15 Setting Project repositories and Group Creation 1h15'
        Speaker: All Lecturers and Instructors
      • 12:30 Lunch Break 1h30'
      • 14:00 Hands-on: Work on Group Projects 1h30'
      • 15:30 Coffee Break 30'
      • 16:00 Hands-on: Work on Group Projects 2h0'
  • Sunday, 12 March 2017
    • 09:30 - 19:30 Day 7
      • 09:30 Writing Helpful Documentation for Users and Developers 1h15'
        Speaker: D. Grellscheid (ICTP, Italy)
      • 10:45 Coffee Break 30'
      • 11:15 Test Suites and Continuous Integration 1h15'
        Speakers: I. Girotto (ICTP, Italy), S. Richter (University College London, UK)
      • 12:30 Lunch Break 1h30'
      • 14:00 Free Afternoon 2h0'
  • Monday, 13 March 2017
    • 09:30 - 19:30 Day 8
      • 09:30 Reusing Software / Discussion on Licensing 1h15'
        Speaker: D. Grellscheid (ICTP, Italy)
      • 10:45 Coffee Break 30'
      • 11:15 Task Farming For Embarrassingly Parallel Processing 1h15'
        Speaker: I. Girotto (ICTP, Italy)
      • 12:30 Lunch Break 1h30'
      • 14:00 Hands-on: Work on Group Projects 1h30'
      • 15:30 Coffee Break 30'
      • 16:00 Hands-on: Work on Group Projects 2h0'
  • Tuesday, 14 March 2017
    • 09:30 - 19:30 Day 9
      • 09:30 Real-world Uses of Scientific Programming: - Herwig++ (D. Grellscheid) - HEPfit (S. AbdusSalam) 1h15'
        Speakers: D. Grellscheid (ICTP, Italy), S. AbdusSalam (Shahid Beheshti University, Iran)
      • 10:45 Coffee Break 30'
      • 11:15 Hands-on: Work on Group Projects 1h15'
      • 12:30 Lunch Break 1h30'
      • 14:00 Hands-on: Work on Group Projects 1h30'
      • 15:30 Coffee Break 30'
      • 16:00 Hands-on: Work on Group Projects 1h35'
  • Wednesday, 15 March 2017
    • 09:30 - 18:00 Day 10
      • 09:30 Project presentations 1h15'
      • 10:45 Coffee Break 30'
      • 11:15 Programming Project Presentations, Handing out of Certificates 1h15'
      • 12:30 Lunch Break 1h30'
      • 14:00 Departure/Free Time 2h0'