Universidad de Jaén

Menú local

Syllabus 2019-20 - 13311010 - Object-oriented programming (Programación orientada a objetos)

Caption
  • Level 1: Tutorial support sessions, materials and exams in this language
  • Level 2: Tutorial support sessions, materials, exams and seminars in this language
  • Level 3: Tutorial support sessions, materials, exams, seminars and regular lectures in this language
DEGREE: Grado en Ingeniería informática
FACULTY: SCHOOL OF ENGINEERING OF JAÉN
ACADEMIC YEAR: 2019-20
COURSE: Object-oriented programming
SYLLABUS
1. COURSE BASIC INFORMATION
NAME: Object-oriented programming
CODE: 13311010 ACADEMIC YEAR: 2019-20
LANGUAGE: English LEVEL: 3
ECTS CREDITS: 6.0 YEAR: 1 SEMESTER: SC
2. LECTURER BASIC INFORMATION
NAME: GARCÍA FERNÁNDEZ, ÁNGEL LUIS
DEPARTMENT: U118 - INFORMÁTICA
FIELD OF STUDY: 570 - LENGUAJES Y SISTEMAS INFORMÁTICOS
OFFICE NO.: A3 - 242 E-MAIL: algarcia@ujaen.es P: 953212922
WEBSITE: https://algarcia-ujaen.github.io
ORCID: https://orcid.org/0000-0002-8183-7130
LANGUAGE: English LEVEL: 3
NAME: BALSAS ALMAGRO, JOSÉ RAMÓN
DEPARTMENT: U118 - INFORMÁTICA
FIELD OF STUDY: 570 - LENGUAJES Y SISTEMAS INFORMÁTICOS
OFFICE NO.: A3 - 119 E-MAIL: jrbalsas@ujaen.es P: 953212881
WEBSITE: https://www4.ujaen.es/~jrbalsas/
ORCID: https://orcid.org/0000-0003-2689-0737
LANGUAGE: English LEVEL: 1
NAME: RUIZ DE MIRAS, JUAN
DEPARTMENT: U118 - INFORMÁTICA
FIELD OF STUDY: 570 - LENGUAJES Y SISTEMAS INFORMÁTICOS
OFFICE NO.: A3 - 136 E-MAIL: demiras@ujaen.es P: 953212476
WEBSITE: http://www4.ujaen.es/~demiras
ORCID: https://orcid.org/0000-0001-7579-8350
LANGUAGE: English LEVEL: 1
3. CONTENT DESCRIPTION

  Remarks:

Group A, PATIE 1, Prof. Juan Ruiz de Miras

Group B, PATIE 1, Prof. José Ramón Balsas Almagro

Group C (english language), PATIE 3, Prof. Angel Luis García Fernández

 

THEORY PROGRAM

LESSON 1. INTRODUCTION

  • Abstraction Mechanisms
  • Procedure specification
  • Module abstraction
  • Abstraction using object classes
  • C++ programming languaje
  • Error handling using exceptions

LESSON 2. BASIC CONCEPTS AND UML NOTATION

  • Object-oriented programming features
  • Object-oriented programming specific concepts
  • Attribute and method visibility
  • Method types
  • Creating automatic and dynamic objects
  • Constructors and destructors
  • Operator overloading
  • UML notation for class representation
  • Using objects for exception handling

LESSON 3. CLASS RELATIONSHIPS

  • Dependency relationships 
  • Association relationships. Implementation
  • Aggregation and composition. Implementation
  • Generalization/specialization relationships
  • UML notation to represent class relationships
  • Copy and assignment of objects from subclasses

LESSON 4. POLYMORPHISM

  • Syntactic polymorphism
  • Object polymorphism
  • Method polymorphism
  • Dynamic and static linking
  • Virtual destructors
  • Abstract classes and interfaces
  • Object type identification

PRACTICE PROGRAM

  • Programming environment, code debugging and documentation
  • Organizing source code using modules and namespaces. Error handling using exceptions
  • Defining and using classes and objects
  • Objects and dynamic memory
  • Class relationships: dependency, association, composition and aggregation
  • Class relationships: inheritance. Writing data to streams
  • Polymorphism. Reading data from streams
  • Abstract classes and interfaces
  • Identifying data types in runtime. STL exception hierarchy

4. COURSE DESCRIPTION AND TEACHING METHODOLOGY

Lectures

During the semester, there will be two hours per week devoted to lectures. Active methodologies like flipped classroom, peer instruction and solution of problems and practical cases will predominate in these sessions, with the aid of specifically designed slides. This methodology requires the students to work on their own before each lecture on the materials, and answer individually an online test to know to what extent they have understood the concepts. During the lectures, the teachers will propose questions and problems related to the concepts that the students have worked on; then, the students will debate and practice peer instruction under the supervision of the teacher.

At the end of each lesson there will be one or two classes devoted to solving problems and practice exercises. These problems will be solved in groups, and the students will be allowed to ask any doubt they may have during this process.

A set of slides and a list of problems will be available for the students on the virtual teaching platform before each lesson. Moreover, the students will receive instructions on the materials to use for working before each lecture, and will have access to online tests to measure their level of concept understanding and learning.

Practice sessions

There will be one two-hour practice session per week during the semester. Each practice guide will be available in advance, so that students will be able to work on the exercises on their own before attending the session. There will be several ways of contacting the teachers before the practice session (office hours, course forum, e-mail), so that the students will be able to ask any question about the exercises beforehand. In the practice session, the teacher will briefly introduce the concepts to be treated in the session and will answer the student questions related to their previous work on the practice guide; the rest of the session will be for the students to work with the computers on the exercises in the guide and/or additional exercises proposed by the teacher.

Seminars

There are several free hours in the course schedule. These hours can be used for answering student questions and preparing the practice and theory tests. The student representatives, on behalf of their classmates, will apply for this seminar sessions to the teachers, allowing enough time to prepare them. 

Students with special educational needs should contact the Student Attention Service (Servicio de Atención y Ayudas al Estudiante) in order to receive the appropriate academic support

5. ASSESSMENT METHODOLOGY

According to the regulations of the University of Jaén, the evaluation will be global.

The evaluation of the course will be divided into two parts:

1.- Theory evaluation: 50% of the final mark, i.e. 5 points at most

2.- Practice evaluation: 50% of the final mark, i.e. 5 points at most

The sum of the marks of both parts have to be equal to or greater than 5 to pass, taking into account that in some aspects it is necessary to get a minimum mark:

- It is necessary to get at least 2 points (out of the final mark) in the written exam (including the additional mark that can be obtained for solving problems in class)

- It is necessary to get at least 2 points (out of the final mark) out of the 5 practice points.

Taking part in activities that sum at least 30% of the mark will result in considering the student as able to be evaluated, and their mark will appear on the official record.

1.- Theory evaluation

Theory evaluation will provide a maximum of 5 points in the final mark of the student. In order to evaluate this part, the following criteria will be taken into consideration:

1.1.- Autonomous work (1 point)

- Autonomous work of the student prior to each session, solving online questionnaires about the concepts reviewed.

- This part will only be evaluated during the semester.

1.2.- Written test (4 points)

- It will contain theoretical questions (open-ended questions or multiple choice questions), as well as exercises and problems.

- The Engineering School will set the dates for this exam in the official exam call in june and any other extra calls corresponding to the academic year.

1.3.- Problem solving sessions

- The evaluation of the student work in these sessions can increment up to a 10% the mark of the written test. However, the weight of the written test in the final mark can not be greater than 4, as described above.

The results obtained by the student for the criteria 1.1 and 1.3 will be kept for the extra exam calls of the same academic year. The result for the criterium 1.2 will only be kept for the extra calls if the result of adding this mark to the one obtained for the criterium 1.3 is greater than or equal to 2

2.- Practice evaluation

Practice evaluation will provide up to 5 points in the final mark of the student. In order to evaluate this part, the following criteria will be applied:

2.1.- Exercise solving in practice sessions (1 point)

- Active attendance to the practice sessions, solving the exercises proposed by the teacher will add up to 1 point to the final practice mark.

- This part will only be evaluated during the semester.

2.2.- Practice tests (4 points)

- The first practice test will consist of solving a practical exercise in the computer lab. It will be set at approximately the middle of the semester in a scheduled practice session. This test will provide up to two points to the final mark.

- The second practice test will also consist of solving a practical exercise in the computer lab, and it is set at the last practice session of the semester. This test will provide up to two points to the final mark.

- There will be another practice test in the extra exam calls, on the same day as the written theory test. The students that have failed practice or want to improve their mark on this part will be allowed to take this test. This test will provide up to two points, and this mark will replace the lower of the two marks obtained in the two practice tests taken during the semester.

If a student fails, but has 2 or more points in this part, has the right to keep their mark for the following exam calls up to the moment the course starts again (next academic year).

6. BOOKLIST
MAIN BOOKLIST:
  • Object-oriented programming with C++. Edition: -. Author: Sharma, A. K., author. Publisher: -  (Library)
  • Object-oriented programming in C++ [Recurso electrónico]. Edition: 4th ed.. Author: Lafore, Robert (Robert W.). Publisher: Indianapolis, Ind. : Sams Pub., c2002.  (Library)
  • The object-oriented thought process [Recurso electrónico]. Edition: 2nd ed.. Author: Weisfeld, Matt A.. Publisher: Indianapolis, Ind. : Sams Pub., c2004.  (Library)
  • Object-orientated programming using C ++ and Java [Recurso electrónico] . Edition: -. Author: Vasappanavara, Ramesh. Publisher: New Delhi : Dorling Kindersley, 2011  (Library)