Servizi per la didattica
PORTALE DELLA DIDATTICA

Software Engineering II

01SQNOV

A.A. 2019/20

Course Language

English

Course degree

Master of science-level of the Bologna process in Computer Engineering - Torino

Course structure
Teaching Hours
Lezioni 30
Esercitazioni in laboratorio 30
Teachers
Teacher Status SSD h.Les h.Ex h.Lab h.Tut Years teaching
Torchiano Marco Professore Associato ING-INF/05 30 0 0 0 1
Teaching assistant
Espandi

Context
SSD CFU Activities Area context
ING-INF/05 6 D - A scelta dello studente A scelta dello studente
2019/20
The knowledge that students acquired through the fundamental and optional courses mainly concern technologies that can be used to build software systems (e.g. programming languages, web technologies, security, computer architectures) and basic techniques and tools to support development (e.g. deployment, version control, requirements, design). In order to effectively employ such knowledge and skills, it is fundamental to organize the development activities and manage them, curate the quality of the software products, and account for the inevitable characteristic of software: its persistent change. This course has the goal of expanding the knowledge and skills of students in the software engineering, especially concerning: - management of the software development process - organization of development activities - quality assurance and process improvement - software evolution
The knowledge that students acquired through the fundamental and optional courses mainly concern technologies that can be used to build software systems (e.g. programming languages, web technologies, security, computer architectures) and basic techniques and tools to support development (e.g. deployment, version control, requirements, design). In order to effectively employ such knowledge and skills, it is fundamental to organize the development activities and manage them, curate the quality of the software products, and account for the inevitable characteristic of software: its persistent change. This course has the goal of expanding the knowledge and skills of students in the software engineering, especially concerning: - management of the software development process - organization of development activities - quality assurance and process improvement - software evolution
The students will acquire basic knowledge regarding: - software development methods, focusing on agile methods - software quality assurance and process improvement, in particular static analysis and technical debt assessment - software evolution dynamics A key component of software development (as it happens in industrial context) is team work. Key skills to be developed include: - coordination of individuals and their interactions, - planning and monitoring the project evolution, - manage stakeholders' collaboration, - set up self-organizing teams.
The students will acquire basic knowledge regarding: - software development methods, focusing on agile methods - software quality assurance and process improvement, in particular static analysis and technical debt assessment - software evolution dynamics A key component of software development (as it happens in industrial context) is team work. Key skills to be developed include: - coordination of individuals and their interactions, - planning and monitoring the project evolution, - manage stakeholders' collaboration, - set up self-organizing teams.
This course build on the foundations of software engineering as provided in the Software Engineering course: software development life-cycle, configuration management, software testing. In addition the students are expected to be able to develop web applications.
This course build on the foundations of software engineering as provided in the Software Engineering course: software development life-cycle, configuration management, software testing. In addition the students are expected to be able to develop web applications.
- Software Process Management (3 cfu) - Agile methods - Software SCRUM - Software Quality Assurance (1.5 cfu) - Quality methods - Technical Debt - Static Analysis - Software Maintenance and Evolution (1.5 cfu) - Principles of Sw Evolution - Maintenance tools and techniques
- Software Process Management (3 cfu) - Agile methods - Software SCRUM - Software Quality Assurance (1.5 cfu) - Quality methods - Technical Debt - Static Analysis - Software Maintenance and Evolution (1.5 cfu) - Principles of Sw Evolution - Maintenance tools and techniques
The course will be organized with a balance of theory and practice. Conventional lectures will introduce the theory concerning the main topics of the course. Such lectures will be followed by practical sessions (either collective exercises or hands-on development sessions). A key component of software development that will be exercised is team work, including coordination of individuals and their interactions, leveraging stakeholders' collaboration, and achieving self-organization.
The course will be organized with a balance of theory and practice. Conventional lectures will introduce the theory concerning the main topics of the course. Such lectures will be followed by practical sessions (either collective exercises or hands-on development sessions). A key component of software development that will be exercised is team work, including coordination of individuals and their interactions, leveraging stakeholders' collaboration, and achieving self-organization.
The main contents of the course are described in detail in the following books: - R.Jeffries "The Nature of Software Development" The Pragmatic Programmers - K.Schwaber, M.Beedle. "Agile Software Development with Scrum", Prentice-Hall, 2001 - M.Cohn. "Succeeding with Agile", Addison-Wesley, 2010. - C.Sims, H.L.Johnson. “The Elements of Scrum” DYMAXICON, 2011. - K.Schwaber and J.Sutherland "The Scrum Guide" (http://www.scrumguides.org) - D.Spinellis. Effective Debugging Addison-Wesley, 2016. - P.Grubb, A.Takang "Software Maintenance: concepts and practice" World Scientific Publishing, 2003 Additional materials will be provided by the teacher during the course, including articles on scientific journal to represent the most advanced state of the art in the field.
The main contents of the course are described in detail in the following books: - R.Jeffries "The Nature of Software Development" The Pragmatic Programmers - K.Schwaber, M.Beedle. "Agile Software Development with Scrum", Prentice-Hall, 2001 - M.Cohn. "Succeeding with Agile", Addison-Wesley, 2010. - C.Sims, H.L.Johnson. “The Elements of Scrum” DYMAXICON, 2011. - K.Schwaber and J.Sutherland "The Scrum Guide" (http://www.scrumguides.org) - D.Spinellis. Effective Debugging Addison-Wesley, 2016. - P.Grubb, A.Takang "Software Maintenance: concepts and practice" World Scientific Publishing, 2003 Additional materials will be provided by the teacher during the course, including articles on scientific journal to represent the most advanced state of the art in the field.
Modalità di esame: prova orale obbligatoria; progetto di gruppo;
The 80% of the assessment will be based on a team project work that will let the student apply the techniques illustrated during the course and acquire the relative skills. The remaining 20% of the grade will be based on a final oral exam that will focus on the experience of the student during the project work and on the knowledge acquired during the course.
Exam: compulsory oral exam; group project;
The 80% of the assessment will be based on a team project work that will let the student apply the techniques illustrated during the course and acquire the relative skills. The remaining 20% of the grade will be based on a final oral exam that will focus on the experience of the student during the project work and on the knowledge acquired during the course.


© Politecnico di Torino
Corso Duca degli Abruzzi, 24 - 10129 Torino, ITALY
m@il