LAB OF SOFTWARE PROJECT DEVELOPMENT

Academic year
2024/2025 Syllabus of previous years
Official course title
LAB OF SOFTWARE PROJECT DEVELOPMENT
Course code
ET7018 (AF:386296 AR:216880)
Modality
On campus classes
ECTS credits
6
Degree level
Bachelor's Degree Programme
Educational sector code
ING-INF/05
Period
2nd Term
Course year
3
Where
RONCADE
Moodle
Go to Moodle page
Any modern business depends on the development of some specific software that can be produced in-house or outsourced. The digital manager needs to be aware of the foundations of the techniques and tools needed to develop a software project.
The only way to achieve this awareness is to participate to a software development project in which the student practices both the organizational tools and the development process.

The goal of this course is to provide to the students the background on the most common software development tools and platform and to create and manage their own software project.
During the course, the student will achieve the following knowledge and skills.

Knowledge:
- The most common methodologies for software development: waterfall, agile, open or closed source;
- The basics of the creation of a Python software: structure, documentation, publication;
- Test-driven-development;
- Concepts and models of programming in Python.

Skills:
- Familiarity with software hosting/development platforms.
- Create, develop, document and publish a Python project;
- A primer on DevOps
- Creating applications with Python
Familiarity with Python programming language, achieved with the "Introduction to coding" course.
The course is structured in 5 weeks, each week addresses one topic and provides hands-on experience with the relevant related software tools.
The program is not intended to be immutable, it can change based on the students' interest and reactions.

1. Project Management and development with agile methodologies.
2. Introduction to Software Engineering, Python projects organization and documentation
3. Advanced.Python programming
4. Testing with Python
The course is based on various sources, most of which are available on-line and will be provided with the course material (slides).
The sources plus the lesson slides should be enough for students that follow the lecture classes. Some of the sources will be:

- Dive Into Python: https://www.diveinto.org/python3/table-of-contents.html
- Pro Git Book: https://git-scm.com/book/en/v2
Evaluation will consist of an in writing exam, along with a group project work to be briefly presented to the teacher.
In writing test will consist of multiple choices and open questions, which will anyway be relevant to what has been discussed in the classes.

Group-based projects will be optional and will give extra marks.

The marks of the written exam will be assigned along with the follwoing criteria, independently from the frequency of the course:
A. marks in the range of 18-22 will be assigned in case of sufficient knowledge and understanding of the course programme.
B. marks in the range of 23-26 will be assigned in case of discrete knowledge and understanding of the course programme.
C. marks in the range of 27-30 will be assigned in case of good or optimal knowledge and understanding of the course programme.
D. The laude will be given in case of excellent knowledge and understanding of the course programme.
Lessons will be alternating theoretical (1/3) and practical ones (2/3). During the practical lessons the main tools to be used in the project work will be explained.
Students will use some available tools and they are expected to practice with them, as well, in order to build, plan and manage their project work.
English
written and oral
Definitive programme.
Last update of the programme: 23/10/2024