CODE 111100 ACADEMIC YEAR 2024/2025 CREDITS 3 cfu anno 1 COMPUTER ENGINEERING 11160 (LM-32) - GENOVA SCIENTIFIC DISCIPLINARY SECTOR ING-INF/05 LANGUAGE English TEACHING LOCATION GENOVA SEMESTER 2° Semester TEACHING MATERIALS AULAWEB OVERVIEW Software engineering is the branch of computer science that creates practical, cost-effective solutions to computing and information processing problems. This course will study a collection of methods that embody an "engineering" approach to the development of computer software. We will study methods for analysis, design, testing, and implementation of large, complex software systems. The major work of the course is a group project. AIMS AND CONTENT LEARNING OUTCOMES Students will develop practical applications related to the course "Software Engineering" AIMS AND LEARNING OUTCOMES At the end of the course, students should be able to: Manage a medium-sized software development project, including scheduling and all supporting documentation Compile software engineering documents such as user requirements documents or test planning Use teamwork tools such as git/github Interact with companies to define requirements PREREQUISITES There are no specific requisites. I am assuming that students are familiar with programming languages and Data Structures. This course demands both independent and cooperative work. The implementation language used during the lessons is Java. Java programming experience is not a prerequisite, because it is assumed that as a software professional, students have the ability to learn new languages and tools quickly. The course must be taken together with the Software Engineering course (111102) TEACHING METHODS The teaching activities are divided into: Classroom lessons where the teacher will present some examples Meeting between teacher and each group to define the progress of the project and possible problems Meeting between company tutor and work group to define the requirements and to validate the work Meeting between the working group company tutor and the teacher to validate the progress of the project SYLLABUS/CONTENT A (tentative) list of topics is: How to manage a software project via git/github Task planning for group work Writing documents for software development Software design using UML Software development through guidelines Code refactoring Automatic Unit Testing Functional testing RECOMMENDED READING/BIBLIOGRAPHY Possible reading books to go into mode details: R. Martin, Agile Software Development, Principles, Patterns, and Practices, Prentice Hall, 2002 (ISBN: 0-135-97444-5). C. Atkinson et al, Component-Based Product Line Engineering with UML, Addison-Wesley, 2001, (ISBN 0-201-73791-4). A. Cockburn, Writing Effective Use Cases, Addison Wesley, 2000 (ISBN: 0-201-70225-8). M. Fowler and K. Scott, UML Distilled: A Brief Guide to the Standard Object Modeling Language, 2nd Edition, Addison Wesley, 2002 (ISBN: 0-201-65783-X). I. Jacobson, G. Booch, and J. Rumbaugh, Unified Software Development Process, Addison Wesley, 1999, (ISBN: 0-201-57169-2). Software Engineering, Ian Sommerville, Pearson Editor TEACHERS AND EXAM BOARD MASSIMO NARIZZANO Ricevimento: The professor receives by appointment both in Person and via Teams Exam Board MASSIMO NARIZZANO (President) ENRICO GIUNCHIGLIA ARMANDO TACCHELLA (President Substitute) LESSONS Class schedule The timetable for this course is available here: Portale EasyAcademy EXAMS EXAM DESCRIPTION To Each student is assigned a project that will be the same as the Software Engineering course that they will have to carry out in group. ASSESSMENT METHODS The grade of the exam will be given by evaluating the project in the following compositions: 50%: of the vote will be assigned by evaluating how well the software satisfies the user's requirements. It is usually assessed by the company/university mentor 50% of the vote will be assigned evaluating the quality of the software produced, from the point of view of software engineering practices. Usually this will be assessed by the Course Instructor. Exam schedule Data appello Orario Luogo Degree type Note 14/02/2025 08:00 GENOVA Esame su appuntamento 12/09/2025 08:00 GENOVA Esame su appuntamento Agenda 2030 - Sustainable Development Goals Quality education Gender equality Decent work and economic growth Industry, innovation and infrastructure