Learning objectives
The aim of the course is to introduce students to the issues and techniques related to the programming of software applications in the industrial field, with an in-depth analysis of the main .NET / C # development techniques and software version control.
Prerequisites
It is assumed that the student has acquired basic skills on object-oriented programming .
Course unit content
• Introduction to the Microsoft .NET platform (history, architectural layers)
• Anatomy of a simple .NET console application
• Basic elements of the C# language
o data type, basic elements of the syntax,
o methods, parameters, passing by value and by reference (stack, heap) or arrays and basic collections
• Collections typed with Generics: List <> and Dictionary <,>
• Introduction to the Language Integrated Query (LINQ)
• Object-oriented programming principles (OOP) in C#
• Classes, inheritance, poliformism and encapsulation
• Fields and properties
• Use of virtual, abstract and override
• Interfaces
• SW architectural design best practices
• Error handling: exceptions and best practices
• Introduction to parallel programming: threads and tasks
• Introduction to how to access data with ADO .NET technology
• Examples of accessing SQL Server databases in .NET
• Introduction to communication to services: SOAP and REST
• Overview of team development & collaboration
• Introduction to SW versioning systems
• Subversion: concepts, tools and insights
• Enterprise 4.0 technologies: Cloud computing and microservices
Laboratory exercises dedicated to the development of a project.
Full programme
- - -
Bibliography
Course slides -
“Programmare con C# 8. Guida completa” di Antonio Pelleriti , Edizioni LSWR , 2018
“ASP.NET Core Guida Pratica“ di Antonio Pelleriti, Edizione LSWR
Teaching methods
Theoretical and practical (exercises) lectures - Assignments of parts of the project partially developed in the course
Assessment methods and criteria
The exam will consist of an oral test with discussion of the project carried out partly during the laboratory sessions.
Other information
- - -
2030 agenda goals for sustainable development
- - -