CODE 80311 ACADEMIC YEAR 2024/2025 CREDITS 6 cfu anno 3 INFORMATICA 8759 (L-31) - GENOVA SCIENTIFIC DISCIPLINARY SECTOR INF/01 LANGUAGE Italian TEACHING LOCATION GENOVA SEMESTER 1° Semester TEACHING MATERIALS AULAWEB OVERVIEW The purpose of the course is to improve students' programming skills and to let them familiarize themselves with technologies and methodologies widespread in the industrial world; In particular, with the platform concept, exemplified on the .NET framework, with some productivity tools, such as Visual Studio, and component development. To successfully attend this course, students must be able to program in an object-oriented language and have basic knowledge of databases. AIMS AND CONTENT LEARNING OUTCOMES Conceptual design and programming concepts based on components. Technologies and productivity tools in use in the professional field. Integration of design and programming skills acquired during programming courses, data bases and software engineering. AIMS AND LEARNING OUTCOMES At the course end, through self-study and programming practice, students will be able to implement small projects in a DotNet environment will have become familiar with the basic functionality of Visual Studio will have acquired the basic concepts of unit testing will have experimented with the use of unit testing to improve the quality of the code will have learned to develop code that meets the specifications PREREQUISITES Imperative and object-oriented programming concepts (data structures, loops, inheritance, exceptions, typing systems...) Fundamentals and design of Data Bases (tables, queries, constraints...) Software life-cycle (design, implementation, testing...) TEACHING METHODS Teaching is composed partly of frontal lessons and partly of guided laboratory activities, where the techniques and principles introduced during frontal lessons are applied. SYLLABUS/CONTENT TAP introduces the mainstream technologies, methodologies and tools for software development. As a "side effect", students will improve their programming skills. The course develops two main topics: 1. In-the-small programming. Students will have to prove their capabilities on reading, understanding and implementing a detailed specification performing unit testing tasks, and using the results to correct any error in their code designing and using a small database A reasonable familiarity with these activities is a prerequisite of the course. TAP will address the integration of these aspects. 2. Component development, modular programming principles and reuse; Students will need to learn: economic and historical reasons for re-use concepts at the base of components and component models framework / platform concepts the impact of the use of reusable components on the development of a system peculiarities of the process of developing a reusable component The concepts outlined will be made more concrete through project activities that will take place from the beginning of the lesson period and will also allow students to become familiar with various development and testing tools in the .NET environment. This teaching is mandatory for the curriculum TECHNOLOGY-ORIENTED and can be selected as elective for the other curriculum RECOMMENDED READING/BIBLIOGRAPHY Reference texts and instrumentation / technology documentation will be made known/available on Aulaweb and in the course slides. TEACHERS AND EXAM BOARD MAURA CERIOLI Ricevimento: On request by email Exam Board MAURA CERIOLI (President) DAVIDE ANCONA GIOVANNI LAGORIO (President Substitute) MAURIZIO LEOTTA (Substitute) LESSONS Class schedule The timetable for this course is available here: Portale EasyAcademy EXAMS EXAM DESCRIPTION Students will have to pass a written test including a code implementation part. Students who have thus reached sufficiency will be entitled to have an oral test. ASSESSMENT METHODS The writing allows assessing the ability to program small code fragments the knowledge of the concepts introduced during the course. The oral exam allows verifying how much the concepts underlying the technologies adopted have been assimilated.