About the teacher

Giovanni Ciatto

Who am I:

  • Junior assistant professor (fixed-term) @ DISI, Unibo
  • research interests: AI, LP, MAS, SE

Contacts:

Organization

Lectures in lab with immediate hands-on.

Timetable

  • Tuesday 2023-10-24 09:00-13:00, online (Teams meeting)

  • Wednesday 2023-10-25 09:00-13:00, online (Teams meeting)

  • Thursday 2023-10-26 09:00-13:00, online (Teams meeting)

  • Maybe Friday too, if we need more time


Yes, I will record lectures and make recordings available to students

Goals

  1. Understand software platforms and their roles in the practice of computer science
  2. Understand analogies and differences among different platforms
  3. Learn how to design software in a platform-agnostic way
  4. Learn best practices, toolkits, and issues of multi-platform programming
  5. Understand how the software engineering workflow should be extended to tackle multi-platform programming

Prerequisites

  • Basic understading of OOP

  • Basic capability of readining / writing Java programs

  • Basic capability of readining / writing Python programs

  • Basic understanding of the software engineering workflow

    1. Requirements collection / analysis
    2. Design
    3. Development
    4. Testing
    5. Deployment
  • A lazy & perfectionist mindset

    “there is never the time to do it nice, but apparently there is always the time to do it twice”

Exam

Development of an individual project

  • Must feature:

    • involving at least 2 inter-communicating platforms
    • being usable “as a library” on all supported platforms
  • Better if you re-use some of your research activity material

Software

Required

  • A working internet connection
  • A working JDK installation
  • Gradle
  • Python 3
  • IntelliJ Idea
  • Visual Studio Code
  • A decent Unix terminal

Multi-platform Programming for Research-Oriented Software


Giovanni Ciatto — giovanni.ciatto@unibo.it


Compiled on: 2024-02-20

back