OBJECT-ORIENTED PROGRAMMING AND MODELING
PROGRAMMAZIONE E MODELLAZIONE A OGGETTI
|Lecturer||Office hours for students|
|Teaching in foreign languages|
Course with optional materials in a foreign language
This course is entirely taught in Italian. Study materials can be provided in the foreign language and the final exam can be taken in the foreign language.
Assigned to the Degree Course
|Date||Time||Classroom / Location|
|Date||Time||Classroom / Location|
The aim is to provide a complete yet terse overview of the basics of object-oriented software development.
01. Software analysis and desing
01.01 Object-oriented programming
01.02 Other kinds of software development paradigms
01.03 Introduction to software modelling
02. Unified modeling language (UML)
02.01 Introduction to UML
02.02 Structure diagrams
02.03 Behaviour diagrams
02.04 Robusteness analysis
02.05 Interaction diagrams
02.06 Finite state machines and other diagrams
03. C# language
03.02 Data types, stetements, and methods
03.03 Advanced concepts
04. Object-oriented software development
04.01 Classes and objects
04.03 Polymorphism, abstract classes, and interfaces
05. Software design patterns
04.01 Introduction to design patterns
04.02 Creational patterns
04.03 Structural patterns
04.04 Behavioral patterns
06 Laboratory activities
06.01 The Visual Studio environment
06.02 How to write a simple class
06.03 How to develop class hierarchy and polymorphism
06.04 How to develop generics and how to manage exeptions
06.05 Design pattern implementation
06.06 Difference between software core logic and UI
06.07 How to develop dynamic libraries
Although there are no mandatory prerequisites, it is advisable to follow this course after completing the courses of Procedural Programming and Algorithms and Data Structure.
Learning Achievements (Dublin Descriptors)
Knowledge and understanding
At the end of the course, the student will learn: to recognize and make use of the main techniques for developing and designing software; to understand the UML visual language and basic "design patterns" for software development.
Applying knowledge and understanding
The student will be able to employ UML to describe software architectures. She/He will learn to make use of standard ”design patterns.” The student will learn how to write accurately structured software using C# code.
The student will be able to evaluate a software source code in terms of modularity, maintainability, abstraction, structure, and code reuse.
The student will acquire the ability to communicate with other object-oriented developers using appropriate verbiage.
The student will be able to learn and understand the main features of any object-oriented language.
The teaching material prepared by the lecturer in addition to recommended textbooks (such as for instance slides, lecture notes, exercises, bibliography) and communications from the lecturer specific to the course can be found inside the Moodle platform › blended.uniurb.it
Didactics, Attendance, Course Books and Assessment
Theory lectures and laboratory exercises, both face-to face and on-line.
Although recommended, course attendance is not mandatory.
- Course books
- Jon Skeet, "C# In Depth", 4th edition, Manning, 2019.
- Fowler, "UML Distilled", Addison-Wesley, 2003 (and newer editions).
- Gamma, Helm, Johnson, Vlissides, "Design Patterns: Elements of Reusable Object-Oriented Software", Addison-Wesley, 1995 (and newer editions).
Learning achievements will be evaluated through three types of assessments: individual project, written exam, and oral exam.
The individual project has to be submitted at least seven days before the written exam and. The student defines his/her project specification. The project is passed if the mark (which will be valid forever) is at least 18/30. Should the project be resubmitted in a subsequent exam call, the mark of the previously submitted project is cancelled.
The written exam can be taken only if the project has been passed. It is passed if the mark (which is valid only for the exam call in which the written exam is taken) is at least 18/30.
The oral exam can be taken only if the project and the written exam have been passed. It consists of a discussion concerning the project and the written exam, along with further questions about the course program. If passed, it determines a spread between -5/30 and +5/30 of the average of the two previous marks, thus yielding the final mark.
During lessons, further details about the exam structure will be communicated. A mid-term exam could be announced.
The oral exam, which can be taken only if the project and the written exam have been passed, consists of further questions about the course program. If passed, it determines a spread between -5/30 and 5/30 of the average of the two previous marks, thus yielding the final mark.
|« back||Last update: 15/09/2020|