Professors
Danilo Pianini
Giovanni Ciatto
Prioritize the forum
- All technical question
- Any other non-personal question
When using the email
- Include both teachers, always
Office hours
Resources
- These slides should contain everything you need
- code examples produced during the lecture will be available right after
- most code is already on GitHub
Slides will be produced with a rolling release model.
Books
No mandatory books, but there are both:
- Recommended readings
- Additional useful books
On the course webpage
Organization
Lectures in lab with immediate hands-on.
- Thursday 11:00–14:00 (2h) — Lab 3.1
- Friday 11:00–14:00 (3h) — Lab 4.2
Changes will be published on the forum
Goals
- Learn how to design software systems, following a domain-, model-, and/or test-driven approach
- Zero-overhead from domain definition to executable code
- Agile development practices, DevOps philosophy
- High automation + technical excellence
- Understand analogies and differences among programming platforms
Prerequisites
- Knowledge of Java and Scala
- Minimal ability with
git
- initializing and managing the repository options
- committing
- branching and merging
- fetching and pushing
- A curious mindset
- Never stop when it works, stop when you know why it does
Exam
Discussion of a group project
Software
Required
- A working internet connection
- A working JDK installation
- Kotlin (kotlinc REPL working)
- Gradle
- Docker
Recommended
- IntelliJ Idea
- Visual Studio Code
- A decent Unix terminal
Course Container
Feeling lazy?
We prepared a container with all the course’s software:
Follow the instructions at https://github.com/DanySK/docker-linux-didattica
Feeling Windows-y?
The container can be converted into a WSL2 Linux distribution.
(Instructions available in the same repository as above)
Software in lab
The PCs are equipped with the WSL2 image
- There should be a link on the Desktop
- Double-clicking it should pop up a
zsh
shell
- Wait for the first terminal to show before starting others
Introduction to the course Software Process Engineering Danilo Pianini — danilo.pianini@unibo.it Compiled on: 2024-11-21
— printable version back