Syllabus query

Academic Year/course: 2017/18

453 - Degree in Mathematics

27024 - Computer Science II

Syllabus Information

Academic Year:
27024 - Computer Science II
Faculty / School:
100 - Facultad de Ciencias
453 - Degree in Mathematics
First semester
Subject Type:

5.1. Methodological overview

Presentation of theoretical concepts in lectures.
Problem solving, both individually and collaboratively, practices with computer.

5.2. Learning tasks

Presentation of the theoretical and technological concepts in lectures (2 hours / week)
Resolution and implementation problems in practice sessions tutored computer (2 hours / week)
Personnel work, particularly related to the tests (1) and (2) outlined in section Evaluation.

5.3. Syllabus

1.    The object-oriented paradigm (OOP). The Java Virtual Machine: compiling and executing programs.

2.    Review of elements of structured programming in the Java language: predefined types; variables and constants; operators and expressions; usual mathematical functions (the Math class). Structured statements: sequential, conditional and iterative. Defining and invoking class methods. Method signatures: overloading methods.

3.    Introducing OOP. Objects, classes and references (the null reference). The life cycle of Java objects: the new operator and constructor methods, accessing members and message passing, the Java garbage collector. Array objects.

4.    Defining classes. Instance and class members. Writing constructor methods. Access levels: the public interface of a class. Namespaces: Java packages.

5.    An introduction to UML class diagrams. Class associations and associative classes. Roles and navigation.

6.    Inheritance: concept and types, method overriding. Class hierarchy: the Java Object class. Polymorphism: virtual methods. Modeling (generalization and specialization): abstract classes and methods.

7.    The Java type system: Java interfaces. Generic programming in Java. The Java collections framework.

8.    Exceptions: rising, handling and specification.

9.    Persistence: binary and text streams. Object persistence: the Serializable interface. Access to remote resources: File and URL classes.

10.  Event-driven programming: the Java event model. GUIs programming: containers, menus and basic controls.

5.4. Course planning and calendar

Schedule sessions and presentation of works
See the "Activities and key dates of the subject".

5.5. Bibliography and recommended resources

  • Eckel, Bruce. Piensa en Java / Bruce Eckel ; traducción, Jorge González Barturen ; revisión técnica, Javier Parra Fuente, Ricardo Lozano Quesada ; coordinación general y revisión técnica, Luis Joyanes Aguilar . - 2ª ed. Madrid [etc.] : Prentice Hall, D.L. 2002
  • Muñoz Caro, Camelia. Introducción a la programación con orientación a objetos / Camelia Muñoz Caro, Alfonso Niño Ramos, Aurora Vizcaíno Barceló . - [1ª ed.], reimp. Madrid : Pearson Educación, 2007
  • Arnow, David M.. Introducción a la programación con Java : Un enfoque orientado a objetos / David M. Arnow, Gerald Weiss Madrid, [etc.] : Addison Wesley, cop. 2001
  • Rumbaugh, James. El lenguaje unificado de modelado UML : manual de referencia / James Rumbaugh, Ivar Jacobson, Grady Booch ; traducción Héctor castán Rodríguez, à?scar Sanjuán Martínez , Mariano de la Fuente Alarcón ; coordinación general y revisión técnica Luis Joyanes Aguilar . - 2ª ed. Madrid [etc.] : Pearson Educación, D. L. 2007