This is a sandbox server intended for trying out Indico. It should not be used for real events and any events on this instance may be deleted without notice.

Effective Scientific Computation

Europe/Lisbon
Projeto 21

Projeto 21

R. Cel. Artur de Paiva, 2400 Leiria
B. Bernardino Gameiro (Instituto de Física Corpuscular), F. Alves (Projeto 21)
Description

Effective Scientific Computation

Importance of Computation in Science

Over time, the importance of computers in research has risen and has undoubtedly become a vital resource in most technical projects. The field that birthed from their prominence, scientific computing, which had traditionally concerned itself with numerical methods, has evolved to encompass performance, hardware, and engineering considerations.
To reliably perform their work, physicists now have to be aware of how to get the most out of these machines by learning best practices, such as maintainable code, and available technologies, such as Pandas and SciKit Learn.

Scope of the series

This series of lectures has the objective of providing physics students with tools so that they can rapidly develop their coding skills by learning the fundamentals of programming, essential tools for collaboration and code maintenance, and the most important modules when dealing with Scientific Computing in Physics, most of them inherited from Data Science.

Notice that this series isn't on programming but rather on scientific computation. This subtle but important distinction indicates that the focus lies on the use of code as a tool that is incorporated into the arsenal of the physicist, rather than the object of study or focus.

At this time, the full scope of the series is open-ended: content can and will be added with feedback from the sessions.

Format

The lectures will be given either presentially at Projecto 21 or online over Zoom, always in Portuguese.

Each session will have practical examples provided as Jupyter Notebooks and some supporting material provided as a PDF.

    • 15:00 16:00
      Motivation & Introduction

      Scientific Computing is, undoubtedly, a fundamental part of science and engineering. It can permeate every aspect of a technical project and, if used effectively, it not only enhances productivity but also ensures reliability.

      As such, this lecture aims to contextualize its importance and motivate the series of lectures by providing concrete examples of how scientific computing can be used in the scope of physics.

      We will start by configuring the system that will be used throughout this series by creating a virtual environment with Python, JupyterLab and some of the most used modules. Then, some examples will be given of how those modules can be leveraged in the context of physics calculations.

      Convener: B. Bernardino Gameiro (Instituto de Física Corpuscular)
    • 15:00 15:45
      LaTeX for Academic Writing

      Latex is the accepted standard tool for academic writing with special acceptance in technical fields. It is widely used for theses, posters, articles and conference presentations.

      This session will focus on the basics of latex documents using Overleaf, an online collaborative tool for document writing.
      An overview of available and useful templates will also be addressed.

      Convener: B. Bernardino Gameiro (Instituto de Física Corpuscular)
    • 16:00 16:45
      Git for Version Control

      Git, an essential tool in any developer's arsenal, enables version control crucial for both individual and collaborative projects. It tracks changes, manages collaboration, and preserves project history, ensuring efficiency and reliability in scientific endeavours.

      This session will focus on practice and will prioritize getting a working knowledge of this tool. As such, git hosts (GitHub and GitLab) and interfaces (GitKraken) will be given special importance.

      The importance of git will also be demonstrated at a project level, with the inclusion of automated deployment of PDF files using CI/CD.

      Convener: B. Bernardino Gameiro (Instituto de Física Corpuscular)
    • 15:00 15:45
      Programming Fundamentals

      Introduction to programming with Python3, one of the most widely used programming languages.

      It will address the representation of numbers in binary, variables, data types, control structures, iterations, functions, and interaction with the operating system.

      Convener: B. Bernardino Gameiro (Instituto de Física Corpuscular)
    • 16:00 16:45
      Best Practices

      Writing working code isn't enough. It needs to be maintainable, scalable and well-documented to ensure its longevity and usability in evolving projects.

      This lecture will present the best practices so that you can write such code by focusing on docstrings, unit testing, type hints, readability, and modularity will be addressed.

      Convener: B. Bernardino Gameiro (Instituto de Física Corpuscular)