SOFTWARE DESIGN
Course objectives
General outcomes: Knowledge of the Java programming language and the UML design language. In particular: objects, methods, classes, interfaces, inheritance, polymorphism, generics, packages, iterators and exceptions. Understanding of methodologic aspecs of the design of programming applications of medium to large size: modularity, robustness, reusability, maintainability, all achieved via abstractions, encapsulation, information hiding, generalization and specialization. Specific outcomes: Knowledge and understanding: Object-oriented programming and its design methodology for large-scale projects. The UML design language and the Java programming language. Applying knowledge and understanding: Being able to design and realize an application comprising several classes and associations, and performing a number of activities involving them. Making judgements: Being able to evaluate the quality of an application, discriminating the data modeling aspects from those related to processing modeling. Communication: The projects and lab activities empower the students with the ability to communicate and share the requirements of an application of medium complexity, its design choices and development methodologies. Lifelong learning skills: Besides the usual skills of learning from theoretical descriptions, the course stimulates the students at autonomously learning some of its topics; especially the lab activities encourages working in groups and applying the ideas and tecniques learned.
Program - Frequency - Exams
Course program
Prerequisites
Books
Frequency
Exam mode
Lesson mode
Program - Frequency - Exams
Course program
Prerequisites
Books
Frequency
Exam mode
Lesson mode
- Lesson code1018706
- Academic year2024/2025
- CourseComputer and System Engineering
- CurriculumAutomatica
- Year2nd year
- Semester1st semester
- SSDING-INF/05
- CFU9
- Subject areaIngegneria informatica