LAB OF SOFTWARE PROJECT DEVELOPMENT

Academic year
2025/2026 Syllabus of previous years
Official course title
LAB OF SOFTWARE PROJECT DEVELOPMENT
Course code
ET7018 (AF:463773 AR:258245)
Teaching language
English
Modality
On campus classes
ECTS credits
6
Degree level
Bachelor's Degree Programme
Academic Discipline
ING-INF/05
Period
2nd Term
Course year
3
Where
RONCADE
Moodle
Go to Moodle page
Most modern businesses depend on the development of software. The digital manager needs to be aware of the techniques and tools employed when a software project is developed.
This course serves to learn the basics of this process through a theoretical and practical approach. Students will develop a small software project and while doing so learn both the necessary organizational tools and the actual development process.

The goal of this course is to provide students with the background of the most common software development tools/platforms and to enable them to create and manage their own software projects.
During the course, the student will achieve the following knowledge and skills.

Knowledge:
- Most common methodologies for software development: waterfall, agile, open or closed source;
- Basics of the creation of Python software: structure, documentation, publication;
- Concepts and models of programming in Python.
- Basics of the main different programming paradigms;
- Basics of Database Management Systems;
- Test-driven-development and debugging;

Skills:
- Familiarity with software hosting/development platforms (git, github)
- Basics of more advanced software development in Python (beyond scripting);
- Create, develop, document and publish a Python project;
- Basic usage of SQL within a Python project
- Basics of unit testing and debugging in Python
Familiarity with the Python programming language, obtained in the "Introduction to coding" course.
The course takes both a theoretical and practical approach to the topic. Each week addresses theoretical basics (2 lectures) and provides hands-on experience with the relevant related software tools in terms of a laboratory (1 lecture). The main topics are:

1. Version control software (git, github)
2. Software development methodologies, software licenses (agile, scrum/kanbas using git)
3. Programming paradigms and good practices in software development, e.g., style, documentation (python argparse and csv modules)
4. Introduction to databases, basics of relational algebra (basic sql, sqlite)
5. Test-driven development (unit testing in python) and debugging
The course is based on various sources, most of which are available on-line and will be provided with the course material.
The sources plus the lecture material should be enough for students that follow the lecture classes.
Evaluation will consist of a written exam, along with a group software project that will be presented to the lecturer.
The written test will consist of multiple-choice and open questions.
written and oral
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 (2/3) and practical ones (1/3). During the practical lessons the main tools to be used in the project work will be explained.
This programme is provisional and there could still be changes in its contents.
Last update of the programme: 08/12/2025