Object-Oriented Programming Code:  22.609    :  6
View general information   Description   The subject within the syllabus as a whole   Professional fields to which it applies   Prior knowledge   Information prior to enrolment   Content   View the UOC learning resources used in the subject   Additional information on support tools and learning resources   Guidelines on assessment at the UOC   View the assessment model  
This is the course plan for the first semester of the academic year 2024/2025. To check whether the course is being run this semester, go to the Virtual Campus section More UOC / The University / Programmes of study section on Campus. Once teaching starts, you'll be able to find it in the classroom. The course plan may be subject to change.
The main objective of the course is to understand the general concepts of the object-oriented programming (OOP) paradigm and its implementation through the development of applications with object-oriented programming languages.

The elements of the OOP paradigm are taught detached from any language in order for the student to understand the concepts in a "pure" way. However, during the semester an attempt is made to show / compare how the most widely used languages ¿¿put into practice the different concepts of OOP.

Throughout the course it is taught how to design / model programs (relying on the Unified Modeling Language, UML), to later implement the design created using a specific programming language, in our case, Java.

Thus, the focus of the subject is fundamentally practical, oriented towards solving exercises, which requires special dedication on the part of the student.


The subject is thought as an extension of the subjects "Fundamentals of Programming" and "Practices of Programming" that cover the basic fundamentals of programming in structured languages. Specifically, Object Orientation is added on the basis of the program construction skills that were acquired in said subject.

It must be taken into account that the paradigm of object-oriented programming is found today in practically all areas of computer science, so it will also appear in other subjects of the degree. For this reason, other subsequent subjects in the Study Plan will require knowledge of this subject as a starting point.


Understanding the concepts of object orientation is a fundamental requirement for professional practice in the general field of Software Systems Development, including Analysis, Design and Programming activities.

Within the development of the profession, information modeling languages ¿¿such as UML are the most widespread means of communication and documentation in development companies, due to the proliferation of Computer Aided Software Engineering (CASE) tools. based on them and the Development Methodologies that use them as notation.

Additionally, the object-oriented approach is used in management areas in the company, as is the case of Modeling or Business Process Reengineering.

On the other hand, object-oriented languages ¿¿occupy a central place in the software industry, due to the wide spread of languages ¿¿of this type (such as Java, C ++ or the most recent C #), and we can consider that their knowledge is an essential requirement for development activities in general.


The knowledge acquired in the subjects "Programming Fundamentals" and "Programming Practices" are necessary. Therefore, passing this subject is considered an essential prerequisite before starting with "Object Oriented Design and Programming".

It is essential to be fluent in formulating algorithms and in structured programming, since this course does NOT teach algorithmics or the basic concepts of programming, eg loops, conditionals, etc.


It is essential to have passed the subjects "Fundamentals of Programming" and "Practices of Programming". It is also advisable to have passed the subject "Software Engineering" since it facilitates the understanding of some concepts, as well as allowing a more enriching experience of the subject.


The subject is made up of two large blocks, one theoretical and the other of a more practical nature. Both blocks will be carried out in parallel during the course, since they complement each other. This knowledge of the theoretical block is structured in the following modules:

1. Introduction to the paradigm of object-oriented programming
2. Abstraction and encapsulation
3. Associations (relationships between objects)
4. Inheritance (relationships between classes)

Likewise, the practical block will allow to materialize the knowledge acquired in the theoretical block. As a help documentation, the student will have a Java guide that explains the syntax and basic concepts of this language.


Object-Oriented Design and Programming Audiovisual


The teaching material of the subject includes:

     Teaching plan (this document).

     Teaching materials (4 theory modules + 1 Java guide)

     Audiovisual (6 animation videos).

For the practical part, the student must install the JDK, an IDE (we recommend Eclipse) and a program to make UML class diagrams (we recommend DIA).


Assessment at the UOC is, in general, online, structured around the continuous assessment activities, the final assessment tests and exams, and the programme's final project.

Assessment activities and tests can be written texts and/or video recordings, use random questions, and synchronous or asynchronous oral tests, etc., as decided by each teaching team. The final project marks the end of the learning process and consists of an original and tutored piece of work to demonstrate that students have acquired the competencies worked on during the programme.

To verify students' identity and authorship in the assessment tests, the UOC reserves the right to use identity recognition and plagiarism detection systems. For these purposes, the UOC may make video recordings or use supervision methods or techniques while students carry out any of their academic activities.

The UOC may also require students to use electronic devices (microphones, webcams or other tools) or specific software during assessments. It is the student's responsibility to ensure that these devices work properly.

The assessment process is based on students' individual efforts, and the assumption that the student is the author of the work submitted for academic activities and that this work is original. The UOC's website on academic integrity and plagiarism has more information on this.

Submitting work that is not one's own or not original for assessment tests; copying or plagiarism; impersonation; accepting or obtaining any assignments, whether for compensation or otherwise; collaboration, cover-up or encouragement to copy; and using materials, software or devices not authorized in the course plan or instructions for the activity, including artificial intelligence and machine translation, among others, are examples of misconduct in assessments that may have serious academic and disciplinary consequences.

If students are found to be engaging in any such misconduct, they may receive a Fail (D/0) for the graded activities in the course plan (including final tests) or for the final grade for the course. This could be because they have used unauthorized materials, software or devices (such as artificial intelligence when it is not permitted, social media or internet search engines) during the tests; copied fragments of text from an external source (the internet, notes, books, articles, other students' work or tests, etc.) without the corresponding citation; purchased or sold assignments, or undertaken any other form of misconduct.

Likewise and in accordance with the UOC's academic regulations, misconduct during assessment may also be grounds for disciplinary proceedings and, where appropriate, the corresponding disciplinary measures, as established in the regulations governing the UOC community (Normativa de convivència).

In its assessment process, the UOC reserves the right to:

  • Ask students to provide proof of their identity as established in the UOC's academic regulations.
  • Ask students to prove the authorship of their work throughout the assessment process, in both continuous and final assessments, through a synchronous oral interview, of which a video recording or any other type of recording established by the UOC may be made. These methods seek to ensure verification of the student's identity, and their knowledge and competencies. If it is not possible to ensure the student's authorship, they may receive a D grade in the case of continuous assessment or a Fail grade in the case of the final assessment.

Artificial intelligence in assessments

The UOC understands the value and potential of artificial intelligence (AI) in education, but it also understands the risks involved if it is not used ethically, critically and responsibly. So, in each assessment activity, students will be told which AI tools and resources can be used and under what conditions. In turn, students must agree to follow the guidelines set by the UOC when it comes to completing the assessment activities and citing the tools used. Specifically, they must identify any texts or images generated by AI systems and they must not present them as their own work.

In terms of using AI, or not, to complete an activity, the instructions for assessment activities indicate the restrictions on the use of these tools. Bear in mind that using them inappropriately, such as using them in activities where they are not allowed or not citing them in activities where they are, may be considered misconduct. If in doubt, we recommend getting in touch with the course instructor and asking them before you submit your work.


You can only pass the course if you participate in and pass the continuous assessment. Your final mark for the course will be the mark you received in the continuous assessment.