ADVANCED PROGRAMMING TECHNIQUES

ADVANCED PROGRAMMING TECHNIQUES

_
iten
Code
80311
ACADEMIC YEAR
2017/2018
CREDITS
6 credits during the 3nd year of 8759 Computer Science (L-31) GENOVA
SCIENTIFIC DISCIPLINARY SECTOR
INF/01
LANGUAGE
Italian
TEACHING LOCATION
GENOVA (Computer Science)
semester
1° Semester
Teaching materials

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.

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.

During the guided laboratories, the issues to be solved in the final project will be addressed in isolation. Active participation is therefore to be considered as a precondition for a successful project activity with limited effort.

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 provided for the curriculum: PROFESSIONAL

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

Ricevimento: On request by email

Exam Board

MAURA CERIOLI (President)

GIOVANNI LAGORIO

LUCA DEMETRIO

DAVIDE ANCONA

LESSONS

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.

During the guided laboratories, the issues to be solved in the final project will be addressed in isolation. Active participation is therefore to be considered as a precondition for a successful project activity with limited effort.