Interested participants from academia and industry are most welcome to apply for the course: *Collaborative Software Engineering Project in Computational Physics* given by the Linköping university unit of `Materials Design and Informatics <https://liu.se/en/research/materials-design-and-informatics>`__. The course is offered within the `Swedish e-Science education (SeSE) <https://sese.nu>`__ initiative and as part of our participation in the `Data-driven computational materials design (DCMD) Multidisciplinary collaboration programme <https://e-science.se/people-and-research/mcps/mcp-data-driven-computational-materials-design/>`__ of the `Swedish e-Science Research Centre <https://e-science.se/>`__.
* Next course start: **August 30, 2021.**
* Next course start: **August 30, 2021.** **Full digital participation possible.**
* Course outline: 10 lectures, 4 hands-on exercises, and group work on a collaborative software project in computational physics.
* Successfully completing the course corresponds to 9 ECTS points.
* Teacher: `Rickard Armiento <https://liu.se/en/employee/ricar47>`__, associate professor in Physical Modelling and head of the Materials Design and Informatics unit at Linköping University.
* For any questions or concerns: contact `Rickard Armiento <https://liu.se/en/employee/ricar47>`__, rickard.armiento [at] liu.se
*Note: it is possible there may be a course fee, depending on whether you are a registered student at a (SeSE-connected) Swedish university, foreign university, postdoc, industry participant, or something else. Please let us know where you are from when registering, and we will sort this out.*
* I'm happy to answer any questions: contact `Rickard Armiento <https://liu.se/en/employee/ricar47>`__, rickard.armiento [at] liu.se
**Course contents at a glance**
* Evolve your skills from programming → software development → collaborative software engineering.
* Get experience working according to an industry-relevant agile project model.
* Learn how to engineer software with collaborative software tools, including git and GitHub/GitLab. Evolve your skills from programming → software development → collaborative software engineering.
* Try an industry-relevant agile project model, using sprints and keeping track of tasks on a virtual Kanban board.
* Apply what you learn in a group project to develop a molecular dynamics software based on the ASE and ASAP libraries.
Run the software in (semi) high-throughput on supercomputers and explore the data with visual data analysis.
* The project adds to your software project portfolio.
* Train your presentation skills with an oral presentation and a written final report.
* Four hands-on sessions:
- Version control with git, collaborative development on GitHub or GitLab.
- Exploration and visualization of data.
- Molecular dynamics in Python with ASE and ASAP and automated testing (CI).
- High-throughput computations on supercomputers.
- Version control with git, collaborative development on GitHub/GitLab.
- Exploratory Visual Data Analysis (+ automated software documentation systems)
- Molecular dynamics in Python with ASE and ASAP (+ automated testing/CI).
- High-throughput computations using supercomputers.
The course takes place in the autumn term starting end of August/beginning of September. **For the fall 2021 round (during Corona), participation will be possible fully by distance / video link.** (The degree to which this will be offered in the future is not yet determined.)
The course takes place in the autumn term starting end of August/beginning of September.
**Dates**
...
...
@@ -84,7 +84,7 @@ Preliminary Outline of Lectures and Exercises
**Lecture 1:** *Course Introduction and Project Models*
- Software licensing: Open and closed source licenses (GPL, MIT, BSD, CC, etc.), CLAs.
**Lecture 5:** *Software Engineering in Industry (intended to be a guest lecture)*
**Lecture 5:** *Software Engineering in Industry (Guest lecture)*
**Hands-on exercise 2:** *Exploratory Data Analysis and Documentation*
...
...
@@ -134,7 +134,7 @@ Preliminary Outline of Lectures and Exercises
**Hands-on exercise 3:** *Molecular dynamics and software testing*
- Molecular dynamics with ASE and ASAP.
- Unit tests and continuous integration with GitHub actions.
- Unit tests and continuous integration (CI) with GitHub actions.
**Lecture 9:** *Concurrency and Parallelism*
...
...
@@ -153,5 +153,4 @@ Preliminary Outline of Lectures and Exercises
- Final remarks about the project execution and final phases.
There will also be some "extra credit" material distributed on: advanced programming concepts: programming paradigms, multi-paradigm programming, programming patterns; and computer security aspects in software development.