Table of Contents
The main objective of this subject is to further advance in the study of the programming language and its use for programming small systems.
Once the principles of a programming language like Java has been studied in the first semester, especially from an imperative point of view, in this second semester the objective is first to get a more thorough understanding of the object oriented paradigm, in particular studying the concepts of inheritance and interface. The principles of graphical interfaces will be studied, as well as the concept of recursion and the classification of programs according to its complexity.
In the second half of the subject, some basic data structures will be studied. Often, when programming applications one encounters collections of data that are accessed in the same way. It makes sense therefore, to study these data structures in an abstract and general way, independently of the nature of the concrete data in the structures. Due to timing constraints, only simple data structures will be studied, namely stacks, queues and trees.
The subject is structured into a review unit and 5 thematic units:
The teaching methodology of this course is based in the active integration of the student in the teaching activity and in the application of the principles of continuous evaluation.
The course is divided into units, where each unit consists of lectures in large groups and lab sessions in small groups. All the necessary information and material will be available from the web site of the course. The material for the lectures (slides, etc.) is available in advance, and the student participation in the class activities (questions, minitest, problem-solving in groups) will be positively taken into account. The lab scripts with the exercises and programs to be carried in pairs in the lab are also available in advance. Additionally to the lectures and lab sessions, the web page proposes some homework activities. . The lecture includes also the realization of a programming projects. The projects will be partially developed inside some of the lab sessions in small groups.g
For more information see: Ficha Reina
The main bibliographic sources are the two books given below. Reference to the relevant chapter of these books are given in the material of the thematic units.
Data Structures and Problem Solving Using Java by Mark A. Weiss (4th edition)
Data Structures and Algorithms in Java by Michael T. Goodrich and Roberto Tamassia (5th edition)
We advise the students to program according to the usual Java conventions. The document Java Coding Guidelines presents a brief introduction to the most important conventions, as well as instructions on how to configure Eclipse according to them.
The distribution of the marking will be as follows:
50%: continuous evaluation.
50%: final exam, composed of a theory part (25%) and an exercises part (25%).
Important: All weights and percentages in this evaluation criteria refer to the final global score.
% of Global Score |
Part |
% of Global Score |
|
---|---|---|---|
50% |
Continuous evaluation |
1st. mid-term exam |
25% |
2nd. mid-term exam |
25% |
||
50% |
Final exam |
Theory |
25% |
Problems |
25% |
A minimum score of 3.5 points out of 10 in the final exam is required to pass the course with the continuous evaluation system.
In any case, the regulations for the evaluation of bachelor studies approved by the University on May 31st, 2011 applies.
Along the evaluation process, students are expected to behave according to the ethics of the University and Good Practices Guide.
In particular, students are expected to fulfil the evaluation norms and to reject fraudulent behaviours, such as plagiarism or any other kind of cheating. Likewise, the student is responsible for guarding their evaluation assets in order to avoid such fraudulent actions from other peers.
Any behaviour breaking these rules will be penalised and brought to the attention of the relevant bodies, to these they should take appropriate action in accordance with current regulations. Where it is established that a student has committed a fraud situation that impedes the exercise by the teachers, from the power of knowledge verification, the calification will be fail (0).
All the instructors involved in the subjects are listed below, together with their contact data and office hours. Instructors will be at their offices at those times.
Role | Name | Office | Phone | Office hours | |
---|---|---|---|---|---|
Lecturer for groups 65-69-79 and 95. Course responsible for these groups. | Julio Villena Román | 4.1F17 | 91-624-5940 | jvillena@it.uc3m.es | Tue 9:00-11:00, Fri 13:00-15:00 |
Tutor for groups 65-69-79 and 95 | Alberto Cortés Martín | 4.0F06 | 91-624-6234 | alcortes@it.uc3m.es | Wed 11:00-12:00 Wed 16:00-17:00 Thu 13:00-14:00 |
Tutor for groups 65-69-79 and 95 | Alicia Rodríguez Carrión | 4.1F05 | 91-624-8437 | arcarrio@it.uc3m.es | Mon 12:00-14:00, Wed 12:00-14:00 |
Common lectures will take place on Fridays from 15:00 to 17:00 in classroom 4.2E04 and lab classes on Mondays from 17:00 to 19:00 for group 95 in room 1.2G03 and on Wednesdays from 17:00 to 19:00 for group 65/69/79 in room 2.2.C03.
Please note other changes of dates, times or rooms in the table below.
Topic | Kind | Date | ||
---|---|---|---|---|
grp. 95 | grp. 65/69/79 | |||
Recap | lab | 27 Jan | 29 Jan | |
Course presentation / Recap | lecture | 31 Jan | ||
Recap | lab | 3 Feb | 5 Feb | |
Object Orientation & Inheritance (I) | lecture | 7 Feb | ||
Object Orientation & Inheritance (I) | lab | 10 Feb | 12 Feb | |
Object Orientation & Inheritance (II) | lecture | 14 Feb | ||
Object Orientation & Inheritance (II) | lab | 17 Feb | 19 Feb | |
Object Orientation & Inheritance (III) | lecture | 21 Feb | ||
Object Orientation & Inheritance (III) | lab | 24 Feb | 26 Feb | |
Graphical user interfaces (I) | lecture | 28 Feb | ||
Graphical user interfaces (I) | lab | 3 Mar | 5 Mar | |
Graphical user interfaces (II) | lecture | 7 Mar | ||
Graphical user interfaces (II) | lab | 10 Mar | 12 Mar | |
Linked lists | lecture | 14 Mar | ||
Linked lists | lab | 17 Mar | 19 Mar | |
Mid term exam 1 | exam | 21 Mar | ||
Recap | lab | 24 Mar | 26 Mar | |
Stacks and queues | lecture | 28 Mar | ||
Stacks and queues | lab | 31 Mar | 2 Apr | |
Recursion | lecture | 4 Apr | ||
Recursion | lab | 7 Apr | 9 Apr | |
Trees (I) | lecture | 11 Apr | ||
Trees (I) | lab | moved to 24 Apr, 19-21, 1.2.G03 | 23 Apr | |
Trees (II) | lecture | 25 Apr | ||
Trees (II) | lab | 28 Apr | 30 Apr | |
Recap | lab | 5 May | 7 May | |
Mid term exam 2 | exam | 9 May | ||
Final Exam | exam | 20 May (16:00-20:00) | ||
Final Exam (extraordinary) | exam | not available yet |