Course Details for A.Y. 2019/2020
Name:
Object-Oriented Software Design / Object-Oriented Software Design
Basic information
Credits:
: Bachelor Degree in Computer Science 6 CFU (b)
Degree(s):
Bachelor Degree in Computer Science 2nd anno curriculum General Compulsory
Language:
Italian
Course Objectives
The focus of the course is on achieving advanced knowledge of the Object-Oriented Programming paradigm and the Object-Oriented Software Engineering, and experience with the JAVA language.
Course Content
- Introduction to the Object-Oriented paradigm
- Introduction to the Object-Oriented Software Engineering
- Requirements definition, systems architecture design, software design
- Java: Classes, objects, inheritance, collections, interfaces and exceptions.
- Advanced aspects of JAVA: execution, documentation, threads, I/O, AWT, JDBC
- Design Patterns
Learning Outcomes (Dublin Descriptors)
On successful completion of this course, the student should
- To have solid knowledge of methods and techniques in Object Oriented Programming (OOP).
To understand the fundamental OOP concepts of Objects and their usage, Class design, Interfaces, Relationships between Classes, Inheritance, Polymorphism. To applying acquired knowledge to Java programming.
To provide a description of a problem and to design a first solution by: -defining the requirements of the system; - performing an analytical description of the system architecture, relevant entities and relationships in an application domain; and finally -designing the software of the system.
To demonstrate skill in OO design to propose and communicate solutions.
To show skils in programming also through the use of tools like IDEs.
To exploit the acquired knowledge and abilities to solve problems in a larger variety of contexts. To demonstrate the capacity for reading and understand other texts on related topics.
Prerequisites and Learning Activities
Basic notions of imperative and object-oriented programming.
Assessment Methods and Criteria
The exam consists of a project to be developed in groups of at most four students, with its oral discussion.
Textbooks
- Bruce Eckel, Thinking in Java 4 ed. - I fondamenti , Pearson. (vol. 1) .
- Bruce Eckel, Thinking in Java 4 ed. - Tecniche avanzate , Pearson. (vol. 2)
- Bruce Eckel, Thinking in Java 4 ed. - Concorrenza e interfacce grafiche , Pearson. (vol. 3)
- Gamma, Helm, Johnson, Vlissides (GoF), Design Patterns: Elements of Reusable Object-Oriented Software , Addison-Wesley.
Course page updates
This course page is available (with possible updates) also for the following academic years:
To read the current information on this course, if it is still available, go to the university course catalogue .
Course information last updated on: 27 febbraio 2019, 11:35