Degree in Health Engineering La Salle Campus Barcelona

Bachelor in Health Engineering

Lead the biomedical engineering that will define the medicine of the future

Object oriented programming

Description
Object-oriented programming is one of the core paradigms of modern software development. This course aims to introduce and consolidate the fundamental principles of this paradigm, using a current programming language widely employed in real-world environments. Special emphasis is placed on the software design phase and on the ability to model systems effectively using UML. It is assumed that students already possess solid knowledge of the imperative/procedural paradigm, enabling them to understand the functioning of a new object-oriented language. Finally, since a significant portion of software development is carried out in teams, the course also promotes basic competencies in collaborative work and the use of professional development environments.
Type Subject
Tercer - Obligatoria
Semester
First
Course
2
Credits
6.00

Titular Professors

Previous Knowledge

Basic knowledge of imperative and procedural programming (variables, control structures, functions, and basic data handling). It is recommended to have completed Programming Fundamentals.

Objectives

Students acquire the following knowledge and skills:

1. Understand the fundamentals of object-oriented programming and apply them through a modern programming language.
2. Design and structure software applications based on specific requirements, using UML and basic design principles.
3. Properly use an integrated development environment (IDE) and apply good programming practices.
4. Develop solutions collaboratively, integrating teamwork methodologies in software projects.

Contents

1. Fundamentals of object-oriented analysis, design, and programming.
2. Modeling tools and techniques: introduction to UML and class diagrams.
3. Use of development environments (IDEs) and common tools in the programming workflow.
4. Basic design principles: encapsulation, inheritance, polymorphism, and class relationships.
5. Introduction to design patterns.
6. Linear data structures applied to software development.

Methodology

The teaching methodology combines theoretical instruction with practical activities aimed at reinforcing the concepts covered. Lectures introduce the fundamentals of OOP and UML design, while guided exercises and practical sessions allow students to apply these concepts progressively.

The course is structured into two phases:

- Phase 1: acquisition of the basic concepts of the object-oriented paradigm through exercises and guided practice.
- Phase 2: development of an applied project, where students integrate and consolidate the acquired knowledge through a project-based learning approach.

Active participation, critical thinking, and collaboration among students are encouraged, reflecting common processes in real software development.

Evaluation

Assessment includes continuous evaluation activities, practical exercises, and a final written exam. Students also complete a practical project applying the main contents of the course.

Evaluation Criteria

Assessment will consider:

- Mastery of basic OOP and UML concepts.
- Correctness and quality of the submitted code.
- Appropriate application of design principles.
- Ability to solve theoretical and practical exercises.
- Quality of the final project (structure, documentation, and functionality).

Basic Bibliography

- Deitel & Deitel. Java: How to Program. Pearson.
- Gamma et al. Design Patterns: Elements of Reusable Object-Oriented Software (introductory chapters).
- Course materials and documents provided by the teaching staff.

Additional Material

Additional resources, tutorials, extra exercises, and code examples available on the course's online platform.