Universidad de Jaén

Menú local

Syllabus 2017-18 - 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: 2017-18
COURSE: Object-oriented programming
SYLLABUS
1. COURSE BASIC INFORMATION
NAME: Object-oriented programming
CODE: 13311010 ACADEMIC YEAR: 2017-18
LANGUAGE: English LEVEL: 3
ECTS CREDITS: 6.0 YEAR: 1 SEMESTER: SC
2. LECTURER BASIC INFORMATION
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: 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: 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

  Observations:

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

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

Group C (english language), PATIE 3, Prof. Angel Luís 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. The students will work on their own before each lecture on the materials, and will 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 can 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 can 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.

Group sessions

There will be several group sessions at fixed dates, usually at the end of some lessons. These sessions will last for one hour, and will be divided into two parts; during the first part, the students will work in groups of three or four, solving practical exercises by applying the theory concepts studied up to the moment and with the support of the teacher; in the second part of the session, there will be a debate about the solutions proposed by the groups, and the teacher will answer the questions that may arise. At the end of the session, the teacher will collect the group answers for evaluation. The days and times of these sessions will appear on the schedule that the Engineering School will publish at the beginning of the semester.

 

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

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

It is necessary for the students to get a minimum mark for each part in order to be able to pass. These minima are 3 points for the theory part, and 2 points for the practice part.

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.5 points)

  • 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 (3.5 points)

  • It will contain theoretical questions, as well as exercises and problems.
  • The Engineering School will set the dates for this exam in the official exam calls in june and july (and october, if appropriate)

1.3.- Group seminars

  • The evaluation of the student work in these seminars 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 3.5, as described above.

If a student fails, but has 3 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).

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 be added to the points obtained by solving exercises in the practice sessions and the second practice test described above.

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 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)