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: 

This course introduces the fundamentals of object-oriented programming as a basis for modern software development. It is positioned within the curriculum as a key subject for transitioning from imperative programming to more structured and scalable development models.

The course provides the knowledge and tools required to analyze, design, and implement software systems using object-oriented languages and modeling techniques such as UML. It also contributes to the development of skills related to teamwork 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: 

The course aims to provide students with a solid foundation in object-oriented programming principles, developing their ability to analyze, design, and implement software solutions using structured models. It also promotes the application of good programming practices, the use of professional tools, and collaborative work in development environments.

Contents: 

1. Fundamentals of object-oriented programming  

   1.1. Programming paradigms  

   1.2. Class and object  

   1.3. Encapsulation and abstraction

 

2. Object-oriented analysis and design  

   2.1. Introduction to UML  

   2.2. Class diagrams  

   2.3. Relationships between classes

 

3. Design principles  

   3.1. Inheritance  

   3.2. Polymorphism  

   3.3. Abstract classes and interfaces

 

4. Implementation of object-oriented systems  

   4.1. Object and memory management  

   4.2. Exception handling  

   4.3. Modularity and structure

 

5. Data structures  

   5.1. Linear structures  

   5.2. Application in software

 

6. Introduction to advanced concepts  

   6.1. Design patterns (introduction)  

   6.2. Concurrency and multithreading (introduction)

 

7. Development environments and tools  

   7.1. IDEs  

   7.2. Basic application development workflow (editing, execution, debugging)

Methodology: 

The teaching methodology is based on an active and practical approach aimed at progressively achieving the learning outcomes. Sessions combine conceptual introduction, practical application, and consolidation of knowledge.

The course is organized in two phases: an initial phase focused on concept acquisition through guided exercises, and a final phase based on the development of an applied project.

The methodology integrates autonomous work, collaborative learning, and continuous assessment, ensuring coherence between learning activities, evaluation system, and workload.

Evaluation: 

  • Project: 40%
  • Exercises: 30%
  • Final exam: 10%
  • Portfolio: 5%
  • Self-assessment: 5%
  • Oral presentation: 5%
  • Participation: 5%

To pass the course, a minimum grade of 5 must be obtained in both the project and the exam.

Evaluation Criteria: 

The following aspects will be evaluated:

  • Correct application of OOP principles
  • Quality of design and code
  • Proper use of UML
  • Problem-solving ability
  • Clarity and structure of solutions

Basic Bibliography: 

  • Deitel & Deitel. Java: How to Program. Pearson
  • Gamma et al. Design Patterns

Additional Material: 

Additional materials, tutorials, and digital resources provided by the teaching staff.