OBJECT-ORIENTED PROGRAMMING AND MODELING
PROGRAMMAZIONE E MODELLAZIONE A OGGETTI
A.Y. | Credits |
---|---|
2023/2024 | 9 |
Lecturer | Office hours for students | |
---|---|---|
Sara Montagna | Thursday h 11-13 |
Teaching in foreign languages |
---|
Course with optional materials in a foreign language
English
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 |
---|
Learning Objectives
At the end of the course, students will be acquainted with basic knowledge of the object-oriented paradigm of software construction, of its basic design patterns, its incarnation in the Java programming language and the corresponding framework, including advanced aspects like GUIs and events.
Program
01. Software development paradigms
01.01 Software systems, languages, software development paradigms
01.02 Object Oriented paradigm
02. Unified modeling language (UML)
02.01 Introduction to UML
02.02 Structure diagrams
02.03 Behaviour diagrams
03. Basics of Java language
03.01 Introduction
03.02 Data types, stetements, and methods
03.03 Classes and objects
03.04 Inheritance
03.05 Polymorphism, abstract classes, and interfaces
04. Advanced Java concepts
04.01 Parametric polymorphism: generics and wildcards
04.02 Java Collections Framework
04.03 Exceptions
04.04 Inner classes, static inner classes, anonymous classes, enum, lambda expressions, Optional and stream
05. Graphical User Interface
05.01 Swing
06. Software design patterns
06.01 Introduction to design patterns
06.02 Creational patterns
06.03 Structural patterns
06.04 Behavioral patterns
07 Laboratory activities: Java baasics
07.01 The Eclipse environment
07.02 How to write a simple class
07.03 How to develop class hierarchy and polymorphism
08 Laboratory activities: Java advanced
08.01 How to develop generics and how to manage exeptions
08.02 How to develop GUI with Event-Listener pattern
08.03 How to use lambda expressions and stream
09 Software System Development
09.01 Decentralised Version Control System (introduzione a git)
09.02 JUnit 5 principles
Bridging Courses
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 Java code.
Making judgements
The student will be able to evaluate a software source code in terms of modularity, maintainability, abstraction, structure, and code reuse.
Communication skills
The student will acquire the ability to communicate with other object-oriented developers using appropriate verbiage.
Learning skills
The student will be able to learn and understand the main features of any object-oriented language.
Teaching Material
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
Teaching, Attendance, Course Books and Assessment
- Teaching
Theory lectures and laboratory exercises, both face-to face and on-line.
- Attendance
Although recommended, course attendance is not mandatory.
- Course books
- Bruce Eckel. Thinking in Java -- Fourth Edition, Prentice Hall, 2006
- 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).
- Assessment
Learning achievements will be evaluated through three types of assessments: individual project, written exam, and oral exam.
The written exam is passed if the mark (which is valid for the solar year it has been acquired) is at least 18/32. It consists on the development of source code in lab and theory questions in a 2 hours session. During this exam it is not possible to use material of any kind, with the exception of javadoc. The written test is administered on blended.uniurb.it: to access the test, it is necessary to have the username and password to log in to the UNIURB university's Moodle platform.
The individual project has to be submitted at least seven days before the oral. The student defines his/her project specification. The project has to be developed in 2-to-4 students team. During the oral exam students discuss the project development and the written test. Possibly further questions about the course program can be asked. The project is evalutated during the oral discussion according to both the quality of the material developed as well the competence demonstrated during the discussion. The evaluation has to be considered positve if at least 18/32.
The final mark is the average of the two previous marks.
- Disability and Specific Learning Disorders (SLD)
Students who have registered their disability certification or SLD certification with the Inclusion and Right to Study Office can request to use conceptual maps (for keywords) during exams.
To this end, it is necessary to send the maps, two weeks before the exam date, to the course instructor, who will verify their compliance with the university guidelines and may request modifications.
Additional Information for Non-Attending Students
- Teaching
Same as attending.
- Attendance
Same as attending.
- Course books
Same as attending.
- Assessment
Same as attending.
- Disability and Specific Learning Disorders (SLD)
Students who have registered their disability certification or SLD certification with the Inclusion and Right to Study Office can request to use conceptual maps (for keywords) during exams.
To this end, it is necessary to send the maps, two weeks before the exam date, to the course instructor, who will verify their compliance with the university guidelines and may request modifications.
« back | Last update: 10/06/2024 |