CODE 101810 ACADEMIC YEAR 2024/2025 CREDITS 9 cfu anno 2 COMPUTER SCIENCE 10852 (LM-18) - GENOVA SCIENTIFIC DISCIPLINARY SECTOR INF/01 LANGUAGE English TEACHING LOCATION GENOVA SEMESTER 1° Semester TEACHING MATERIALS AULAWEB OVERVIEW This course gives the students the opportunity to put in practice the different technologies and concepts learned in the other courses of the degree in the development of a realistic project, following a given model of development process. Active participation in the development process encourages students to think critically, learn how to be autonomous in their continuous education, solve challenging problems, and develop soft skills, as team working, communication, and self-time management. AIMS AND CONTENT LEARNING OUTCOMES Acquiring experience of a realistic team development effort that follows a given methodology and harnesses different technologies for the implementation of a specific product. AIMS AND LEARNING OUTCOMES At the end of the course, diligent students who have worked as instructed will be able to: integrate their competencies and knowledge about the development of software systems acquired (in previous undergraduate courses and) through the other courses of this program roughly understand of an agile development method and several agile practices face the challenges of team formation/working for software development, having extensively experienced through their project development understand a full project development following a specific process understand the relevance of user experience and how to test its quality acquire decision-making autonomy, collaborative attitude, management of human and material resources, coordination, negotiation skills, management of uncertainty use one's imagination and creativity, critical reflection, strategic thinking, problem solving with particular reference to contexts of innovation and evolving creative processes, ability to transform ideas into actions, self-awareness. be self conscious of one's own learning strategies, organization and assessment of personal learning, understanding of one's own needs and ways of developing skills, ability to identify and pursue learning objectives. communicate effectively, adapting one's communication to the context, use sources and aids of various kinds, apply critical thinking, use, process and evaluate information, use argumentative skills better identify one's own abilities, concentrate and critically reflect on a task, manage complexity, autonomously make decisions and carry out tasks, seek support if necessary, manage stress, resilience better manage one's social interactions, improving their collaborative attitude, constructive communication in different environments, and the ability to respect others and their needs, acquiring the willingness to overcome prejudices, to express and understand different points of view, and learning the management of conflict, the ability to build trust, empathy. PREREQUISITES To be successful in this course, students should have basic knowledge concerning object-oriented programming software engineering (terminology and main development tasks) relational databases and their design web development, IoT technologies and mobile development basic security concerns design of user interfaces Moreover, students must have explored in practice at least the first four topics in the prerequisite list before attending the course. TEACHING METHODS Standard lessons will introduce the main concepts needed to use Scrum in practice. 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 understand in depth the meaning of compliance to a method. The project activity will be strictly supervised by the teachers. 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. They will be led to share their knowledge within the team. SYLLABUS/CONTENT A specific agile method, from a conceptual viewpoint, and its practical application. More specifically, Scrum (one of the most popular agile development methods), its main principles and practices, and other useful agile practices to design the process tailored to the project. User experience: principle, practices, and patterns. Depending on the topic of the project, students will need to learn individually some technologies and practices, and share the acquired knowledge with the other team members as an integral part of the development process. TEACHERS AND EXAM BOARD MAURA CERIOLI Ricevimento: On request by email MARINA RIBAUDO Ricevimento: By appointment (in person or online), taken via email. Exam Board MAURA CERIOLI (President) GIOVANNI LAGORIO MARINA RIBAUDO (President Substitute) GIANNA REGGIO (Substitute) LESSONS LESSONS START In agreement with the calendar approved by the Degree Program Board of Computer Science. Class schedule The timetable for this course is available here: Portale EasyAcademy EXAMS EXAM DESCRIPTION A large part of the assessment will rely 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 The teacher observations during the project development will allow assessing the student soft-skills and their understanding of the process. The technical presentations will show both the technology mastering and the presentation skills of the students. The project quality will indicate the team's development capabilities, both the technical and the process ones. The final oral examination will allow the teachers to complete the evaluation, spreading light on the competencies gained by not observed during the development. OpenBadge PRO3 - Soft skills - Sociale avanzato 1 - A PRO3 - Soft skills - Personale avanzato 1 - A PRO3 - Soft skills - Alfabetica avanzato 1 - A PRO3 - Soft skills - Creazione progettuale avanzato 1 - A PRO3 - Soft skills - Gestione progettuale base 1 - A PRO3 - Soft skills - Imparare a imparare avanzato 1 - A