AGILE DEVELOPMENT OF SMART SYSTEMS
OVERVIEW
This course introduces the principles of agile development with a hands-on approach: students will be required to form a team and develop a project following the Scrum method.
Programming skills are a must to enroll.
AIMS AND CONTENT
AIMS AND LEARNING OUTCOMES
The main goals of this course are:
- integrating competences and knowledge about (object-oriented) programming, data base design, web development, and software engineering, acquired in previous undergraduate courses
- learning/improving team working for software development
- experimenting a full project development following an agile method
- learning the relevance of user experience and how to test its quality
PREREQUISITES
To be successful in this course, students should have basic knowledge on
- object-oriented programming
- software engineering (terminology and main development tasks)
- relational data bases and their design
- web development and design of user interfaces
All topics should have been explored in practice before attending this course, by means of some (at least) small size projects.
Teaching methods
Most student effort shall be devoted to the project development, because participating into the application of a methodology to a project is the only way to really understand compliance to a method.
The participants (both teacher and students) will collaboratively choose the topic of the project. The meta-requirements are simply choosing a problem whose natural solution is a smart system.
Teachers will provide a short summary of the keypoints of the adopted technology, with pointers to useful resources.
Students are expected to learn the technology mostly on their own, having already familiarity with (it or) some analogous environment for object-oriented programming, database management and web development.
Presentations made by the students on the technology will help the sharing of knowledge and improve their presentation skills, and be part of the development process.
SYLLABUS/CONTENT
A specific agile method, and its application to the development of a toy application. This year we will adopt Scrum, because it is one of the most popular agile development methods.
Topics
- Scrum, its main principles and practices, and other useful agile practices to design the agile process to be adopted for the project
- User Experience: principle, practices, and patterns
- Project, PROJECT, PROJECT!!!
RECOMMENDED READING/BIBLIOGRAPHY
The required documentation will be announced during classes. No book need to be bought in advance
TEACHERS AND EXAM BOARD
Ricevimento: On request by email
Ricevimento: By appointement at the DIBRIS Department, room 231, 2nd floor, Valle Puggia,Via Dodecaneso 25, Genova. E-mail: marina.ribaudo@unige.it Phone: 010 353 6631
Exam Board
MARINA RIBAUDO (President)
MAURA CERIOLI (President)
FILIPPO RICCA
GIOVANNI LAGORIO
LESSONS
Teaching methods
Most student effort shall be devoted to the project development, because participating into the application of a methodology to a project is the only way to really understand compliance to a method.
The participants (both teacher and students) will collaboratively choose the topic of the project. The meta-requirements are simply choosing a problem whose natural solution is a smart system.
Teachers will provide a short summary of the keypoints of the adopted technology, with pointers to useful resources.
Students are expected to learn the technology mostly on their own, having already familiarity with (it or) some analogous environment for object-oriented programming, database management and web development.
Presentations made by the students on the technology will help the sharing of knowledge and improve their presentation skills, and be part of the development process.
EXAMS
Exam description
A large part of the assessment will be based on the evaluation of the activities during the semester: participation into project development, team working, and technical contributions.
At the end of the course, a short oral examination will conclude the assessment.
Assessment methods
Observing students during the development will allow to evaluate both their technical skills and their capabilities of team working.
The final exam will evaluate students knowledge about the adopted process and used technologies, by a few strict to the point questions.
Exam schedule
Date | Time | Location | Type | Notes |
---|---|---|---|---|
12/02/2021 | 09:00 | GENOVA | Esame su appuntamento |