Skip to main content
CODE 80311
ACADEMIC YEAR 2024/2025
CREDITS
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

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.