Universidad de Jaén

Menú local

Syllabus 2014-15 - 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: 2014-15
COURSE: Object-oriented programming
SYLLABUS
1. COURSE BASIC INFORMATION
NAME: Object-oriented programming
CODE: 13311010 ACADEMIC YEAR: 2014-15
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: RIVAS SANTOS, VICTOR MANUEL
DEPARTMENT: U118 - INFORMÁTICA
FIELD OF STUDY: 570 - LENGUAJES Y SISTEMAS INFORMÁTICOS
OFFICE NO.: A3 - 121 E-MAIL: vrivas@ujaen.es P: 953212344
WEBSITE: http://vrivas.es
ORCID: https://orcid.org/0000-0002-0681-7172
LANGUAGE: English LEVEL: 1
3. CONTENT DESCRIPTION

  Observations:

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

Group B, PATIE 1, Prof. Víctor Manuel Rivas Santos

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

Module 1. Introduction

    Software features
    Abstraction: Mechanisms and types
    Procedure specification
    Module abstraction
    Abstraction using ADT
    Abstraction using object classes

Module 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

Module 3. Class relationships

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

Module 4. Polymorphism

    Syntactic polymorphism
    Object polymorphism
    Multiple inheritance, duplicated inheritance, virtual inheritance
    Method polymorphism
    Dynamic and static linking
    Virtual destructors
    Abstract classes and interfaces
    RTTI

Module 5. Templates and exception handling

    Generic programming
    Creating and using function and class templates
    Introduction to STL
    Basic STL templates: vector<T>
    Error management through exception handling
    Declaring and using exceptions
    Catching exceptions
    UML notation to represent exceptions and templates

4. COURSE DESCRIPTION AND TEACHING METHODOLOGY

Lectures

There will be two one-hour-long theory sessions each week during all the
semester. These sessions will be devoted to regular lectures and problem
solving, using a video projector and computer-generated slides. The students will be encouraged to take part in these sessions through questions and allowing them to play an active role. Regarding the problem solving sessions, there will be one or at the end of each module, and during these sessions, some problems from the lists available will be collectively solved, and the teacher will try to answer all the student questions about them. The students will have access to the same theory slides and the same problem lists that the teacher will use in each module, so that they can review them prior to each session, making active use of the references.

Practice sessions

Practice sessions will be two hours long, and will be held weekly during the
semester. The practice script for each session will be available beforehand, so  that the students can work on the exercises on on their own before the session. The students can use several ways to get in touch with the teacher and ask questions before the practice session: tutorial hours, course forum or e-mail. During the practice session, the teacher will give a short lecture about the main concepts in the script, and will solve questions from the students. Then, the students will work with the computers to implement the practice exercises from the script under the teacher guidance.

Group seminars

There will be several group seminars during the semester. These seminars will be one our long, and will be held on a regular basis (typically, at the end of each module). In these seminars, the students will have to solve practical
exercises by working in groups of three or four persons, and applying the
theoretical concepts explained in normal lectures. The teachers will help the
groups by solving any question they ask. At the end of the seminar, the teacher will pick up each group's work, and will mark them; these marks will included in the final marks of the students. The seminar dates will be published in the official schedule 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 students will have to pass the theoretical part of the course. At least one of the practical test will have to be taken by the students in order to be evaluated.

If a student fails, the marks from their practical tests will be saved for the remedial exam. Optionally, the student can retake the second practical test.

The mark system will conform the decree RD 1125/2003 (september 5th) about the European Credit System and the mark system for official university courses

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)