ECTS credits ECTS credits: 6
ECTS Hours Rules/Memories Student's work ECTS: 99 Hours of tutorials: 3 Expository Class: 24 Interactive Classroom: 24 Total: 150
Use languages Spanish, Galician
Type: Ordinary Degree Subject RD 1393/2007 - 822/2021
Departments: Electronics and Computing
Areas: Computer Science and Artificial Intelligence
Center Higher Technical Engineering School
Call: First Semester
Teaching: Sin docencia (Extinguida)
Enrolment: No Matriculable
The aim of the subject is to train the student in the concepts of the Object Orientated Programming, doing special emphasis in its more practical aspects. This supposes that in conclusion of the course the student will be fully qualified to develop a program following the paradigm orientated to objects as alternative to the procedural programming. For this, students will be taken in the programming language more widely used at present: Java.
THEORY
Unit 1. Introduction to the Programming Orientated to Objects
Unit 2. Classes and types of information.
Unit 3. Encapsulation: Control of access.
Unit 4. Polymorphism.
Unit 5. Inheritance: Reusing of code.
Unit 6. Interfaces.
Unit 7. Management of mistakes: Exceptions.
Unit 8. Generality of types: Re-visiting the types of information.
Unit 9. Graphical programming in Java.
PRACTICAL
Bulletin 1. Implementation of classes.
* Concept of object and instance.
* Use and managing set of information.
* Polymorphism.
Bulletin 2. Encapsulation and inheritance.
* Communication among classes.
* Encapsulation of information and code.
* Managing inheritance among classes.
Bulletin 3. Exceptions, interfaces and generalization.
* Management of mistakes.
* Classification of mistakes (inheritance of exceptions).
* Use of interfaces and inheritance.
* Generalization of types of information and code.
Bulletin 4. Implementation of one interface (optional) graph.
* Use of graphical components.
* Management of events.
BASIC BIBLIOGRAPHY (in order of priority)
1. ECKEL, Bruce. Piensa en Java. 4a edición, Prentice Hall, 2007. ISBN: 978-8489660342.
[Sig.: A310 2, Escola de Enxeñería]
2. DEITEL, Harvery M., DEITEL, Paul J. Cómo programar en Java. 9a edición, Pearson Educación, 2004. ISBN: 978-6073211505.
[Sig.: A310 1 1, Escola de Enxeñería (5a edición)]
COMPLEMENTARY BIBLIOGRAPHY
3. COHOON, James P., DAVIDSON, Jack W. Programación en Java 5.0. 1a Edición, McGraw-Hill, 2006. ISBN: 978-8448150617.
[Sig.: 3 C60 162, Fac. Física]
4. JOYANES AGUILAR, Luis, ZAHONERO MARTÍNEZ, Ignacio. Programación en Java 6: Algoritmos, Programación Orientada a Objetos e Interfaz Gráfica de Usuario. 1a Edición, MgGraw-Hill, 2011. ISBN: 978-6071506184.
[Sig.: C60 406, Fac. Física]
The student will acquire a set of specific competences of the programming orientated to objects, but also a series of generic competences in any development of a software program and, finally, a few transverse competences that affect the personal skills of the student and in the way that it is related to other students. Taking this into account, the competences are the following ones:
SPECIFIC COMPETENCES
* Basic knowledge in the use and programming computer (FB4), specifically in the creation of programs following the paradigm orientated to objects.
* Knowledge and using of efficient way of the types of structures of information more adapted to the solution of a problem (RI7). This competence is intrinsic to the paradigm orientated to objects; in the measure where the construction of the programs starts by shaping the structures of information that allow representing the problem.
* Aptitude to analyze, to construct and support applications of robust and efficient form, choosing the paradigm and the most suitable languages of programming (RI8). This one is one of the main competences that the student should acquire, provided that to the conclusion of the course the student will have to be able to decide correctly what paradigm of programming it would apply depending on the characteristics of the problem.
GENERIC COMPETENCES
* Aptitude to conceive and develop computer applications using methods of the engineering of the software (CG5). This competition is inherent in the subject of programming orientated to objects, provided that the aim of it consists on developing programs using the specific characteristics of this type of paradigm.
* Aptitude to solve problems with initiative, taking decisions, autonomy and creativity (CG9). Students will have to develop this competence in the solution of the exercises that compose the bulletins, where it will be necessary that they decide what structures of information to apply and how to implement the solution bearing in mind the characteristics of the programming orientated to objects.
TRANSVERSE COMPETENCES
* Ability to analyse and synthesize to the solution of problems (TR1). The student will have to develop this competence to be able to make the practical exercises where the characteristics of the programming orientated to objects are proved.
* Teamwork and skills in the interpersonal relations (TR2). This competence will develop in the solution of the last exercise of the bulletins, which will have to be made in pairs by another student and where it will be necessary to exploit the skills of interaction among persons.
* Autonomous learning and adjustment to new situations (TR3). In the solution of the exercises out of the meetings practices and in the understanding of the concepts of programming orientated to objects it will be necessary to develop this type of competences.
MODUEL CCOMPETENCIES
* Handle different levels of abstraction to structure the software to develop.
* Program under the paradigm of object oriented programming.
* Identify possible strategies to deal with problems through the own concepts of the orientation to objects, like the use of the hierarchy, polymorphism and the utilisation of interfaces of objects.
* Know different paradigms of programming and know how to choose the most appropriate to each situation.
The methodology of education is directed to focus on the subject on the practical aspects of the programming and on the concepts that differ to the paradigm orientated to objects of other approximations. The student must be qualified, therefore, to understand the advantages of the approach orientated to objects and to develop a program with solvency following this paradigm of programming. Taking this into account, there are distinguished three types of activities of learning: lectures, meetings in small groups, and tutorials in small groups. So:
(1) The lectures (20 hours) are directed to explain the characteristics of the programming orientated to objects (inheritance, polymorphism, etc.), doing special emphasis in the differences with the paradigm of procedural programming and illustrating with examples the situations in which the approach orientated to objects is more suitable. To explain these characteristics it will be used examples on the language of programming Java, though in the lecture does not try to detail all the aspects of the language: its use is orientated to illustrate the concepts of the paradigm of programming.
(2) The practical meetings in small groups (30 hours) have as an object that student acquires skills in the implementation of programs following the paradigm orientated to objects. For this it is important that in these practices they make an enough extensive set of exercises of programming where the characteristics of the programming are used orientated to objects from the prism of the language Java. For this the students will have to make three bulletins consisted in turn of a set of exercises where it will be seen the way of constructing programs orientated to objects and using the characteristics of the paradigm. The attendance to these classes by students is compulsory.
(3) The tutorials about small groups (5 hours) are thought to solve the doubts that students could have during the accomplishment of the bulletins of exercises. The aim of these tutorials is to seat the concepts of programming orientated to objects so that students could correct the possible mistakes made in their programming. These tutorials are thought as discussions on the doubts raised by students, and they will take place the previous week to the delivery of the bulletins by students. The attendance to these classes by students is compulsory.
The subject assessment will take place on two different ways, though complementary, that try to assess the student competence in the practical accomplishment of programs and control of the paradigm orientated to objects. On the other hand, it will be differed between the assessment of the ordinary examination and that of the recuperation examination (July):
ORDINARY EXAMINATION
(1) Examination where the student will show the control of the theoretical aspects of the programming orientated to objects as alternative to the procedural programming, and those characteristics of Java that affect on this type of programming. This examination will constitute the 60 % of the final mark of the subject, and will consist on two parts that the student will have to pass separately to overcome the theoretical part of the subject:
1. (A) on the first part the student will have to answer to a set of short questions on the characteristics of the programming orientated to objects and the language Java. This part will constitute the 50 % of the theory mark;
1. (B) On the second part the student will have to make the programming of a set of problems that focus on those aspects of the programming that were not treated in depth in the exercises of the practical part of the subject. This part will constitute the
50 % of the theory mark.
(2) Accomplishment of three bulletins composed by a set of exercises where the student will show on a practical way the language of programming control Java and the concepts of the programming orientated to objects. This part will constitute the 40 % of the final mark of the subject and will be made by students on an individual way except in the last exercise of bulletins, which will be made in pairs so that students could discuss the alternatives of programming that can take place in these exercises. In each of the deliveries of the proposed bulletins the students will have to deliver a small memory in the one that explains the decisions of programming taken for the accomplishment of every exercise of the bulletin. These three bulletins will be the following ones:
2. (A) In the first bulletin there will be fulfilled a set of exercises that have as an aim that the student understands the concept of object and that application, and that acquires the skill in the programming class with overloaded methods (polymorphism) and with attributes that have any type. The last exercise of the bulletin will imply the combination of classes with which a given problem is modelled. This part. will constitute the 35 % of the practical mark.
2. (B) In the second bulletin the exercises will affect on the concepts of inheritance and the ones of encapsulation as central characteristics of the programming orientated to objects. On this way, the student will develop hierarchies of classes following the requirements indicated in the exercises, and it will also impose a set of restrictions as for the visibility of the classes (encapsulation). The last exercise of this bulletin will centre on the interaction between the inheritance and the encapsulation, and how the possibility of reusing the code complicates and enriches the programming of the classes. This part will constitute the 40 % of the practical mark.
2. (C) In the third and last bulletin there will be made a set of exercises that affect on complementary aspects to the programming orientated to objects, but that have an enormous importance at the moment of carrying out a good programming and that the student must know and dominate. These aspects are the interfaces, the management of mistakes and the generalization of types of information and methods. In the last exercise of this bulletin these complementary aspects will be combined by the characteristics of the paradigm orientated to objects, to give a general vision of the possibilities that offer the above mentioned paradigm. This part will constitute the 25 % of the practical mark.
As an optional bulletin it will be given to the student the implementation of one graph interface. This is justified in that the development of graphical interfaces is a central element of the language Java and that in addition in this development it is made an intensive use of all the characteristics of the programming orientated to objects. This bulletin will be able to suppose an additional increase of the 15 % of the practical part mark, up to the limit of which the above mentioned increase overcomes the maximum mark of 10. This bulletin will be made entirely on an individual way.
To pass the practical part of the subject it will be necessary to overcome each of the three bulletins. In addition, the assessment of the practical part will be constant, which means that students, on one hand, will have to present the exercises throughout the four-month period; and, on the other hand, if the exercise 2. (B) has not been passed (which implies passing also 2. (A)), they will not have the practical part of the subject passed.
On the other hand, if a student has delivered half of the years of the first newsletter of practice is considered as presented in the subject. This number coincides with the first delivery of the newsletters exercises must meet the student.
Finally, the partial or total copy of a class or of a method of some of the exercises of the three ones proposed bulletins will mean to fail the whole subject.
RECUPERATION EXAMINATION
The evaluation of the parts of theory and practice in recuperation assessment will be exactly the same as in ordinary assessment. Therefore, besides overcoming the two tests the theory and problem sets, in order to pass the course will require that students have attended the interactive practical sessions (with the assistance criteria listed below) and that the February assessment has delivered at least exercise the first bulletin. In this evaluation, as well, all the exercises of the bulletins will have to be done individually.
CONTROL ASSISTANCE
As mentioned earlier, assistance to the interactional practices sessions and small group tutoring is mandatory, and control of this assistance is made through sheets of firms that students must meet the end of each sessions. Moreover, if a student attends less than 80% of interactive practical sessions or less than 80% of tutorials in small groups, be deemed to have failed the course, whereas if you attend at least 95% and 100% interactive practical sessions will be 0.1 and 0.2 additional points in the final of the subject, respectively (unless the score exceeds 10).
As it was indicated previously, the attendance to meetings practices and to tutorials in small groups is compulsory, and in addition this participation should be active in order to take advantage of time adequately. Besides this, students will need an additional time to be employed at the following aspects:
(1) Autonomous study of the concepts of the programming orientated to objects (25 hours). The time dedicated to this study not only includes the necessary thing to prepare the theoretical examination, but also the time that the student needs to understand the theoretical concepts so that he/she could apply them correctly to the construction of the programs.
(2) Writing of exercises and works (10 hours). The time dedicated to this writing is related to the work that the students will have to deliver to the conclusion of each one of the bulletins of exercises, where they will have to explain how they made the program following the approach orientated to objects.
(3) To complete the exercises of the bulletins (50 hours). This time is necessary so that the student completes the exercises of the bulletins that he/she will have time to finish in the meetings practices. In this time the student will be able to internalize the way of solving the problem raised in the exercise, in the measure in which in the practical meetings more emphasis is done in understanding the problem and the general way as it will be solved, whereas the necessary details to complete the exercises will have to be made in the additional tempo of practical work.
To be able to take advantage of the subject and acquire with certain fluency the concepts of the programming orientated to objects it is very advisable to take advantage of the classes of theory, the meetings of practices and the tutorials in small groups, in the measure where, as it appeared in the program and in the educational methodology, these activities are directly related. On the other hand, it is also very advisable that the student explores the support material (web pages on technology, tutorials online of the environments of development, description of cases of success, etc.) where it is included additional explanations to the on-site lessons that help to understand and guarantee the concepts of the programming orientated to objects and the doubts of programming related to Java.
El idioma perferente de impasrtición de las clases expositivas e interactivas es el gallego.
PLAN DE CONTINGENCIA
En el caso de que la situación sanitaria aconseje establecer un Escenario 2 (distanciamiento):
1) Todas las clases expositivas se impartirán de modo online (síncronamente por Microsoft Teams o asíncronamente mediante la publicación de vídeos grabados por el profesorado),
2) Las clases interactivas se impartirán de modo presencial en aula de informática,
3) La ponderación de las distintas partes de la materia y los requisitos para superar la materia permanecerán inalterados,
4) La prueba final se realizará de modo presencial.
En el caso de que la situación sanitaria aconseje establecer un Escenario 3 (distanciamiento):
1) Todas las clases expositivas se impartirán de modo online (síncronamente por Microsoft Teams o asíncronamente mediante la publicación de vídeos grabados por el profesorado),
2) Todas las clases interactivas se impartirán de modo online (síncronamente por Microsoft Teams ou asíncronamente mediante a publicación de vídeos gravados polo profesorado),
3) La ponderación de las distintas partes de la materia y los requisitos para superar la materia permanecerán inalterados,
4) La prueba final se realizará de modo no presencial, mediante Microsoft Teams y las herramientas del aula virtual Moodle.
Manuel Lama Penin
Coordinador/a- Department
- Electronics and Computing
- Area
- Computer Science and Artificial Intelligence
- Phone
- 881816427
- manuel.lama [at] usc.es
- Category
- Professor: University Lecturer
María Jesús Taboada Iglesias
- Department
- Electronics and Computing
- Area
- Computer Science and Artificial Intelligence
- Phone
- 881813561
- maria.taboada [at] usc.es
- Category
- Professor: University Professor
Efren Rama Maneiro
- Department
- Electronics and Computing
- Area
- Computer Science and Artificial Intelligence
- efren.rama.maneiro [at] usc.es
- Category
- Ministry Pre-doctoral Contract
Jose Maria Alonso Moral
- Department
- Electronics and Computing
- Area
- Computer Science and Artificial Intelligence
- Phone
- 881816432
- josemaria.alonso.moral [at] usc.es
- Category
- Researcher: Ramón y Cajal
Ilia Stepin
- Department
- Electronics and Computing
- Area
- Computer Science and Artificial Intelligence
- Category
- Ministry Pre-doctoral Contract
Monday | |||
---|---|---|---|
09:00-11:30 | Grupo /CLIL_01 | Spanish | Computer Room I6 |
11:30-14:00 | Grupo /CLIL_03 | Spanish | Computer Room I6 |
Tuesday | |||
11:30-14:00 | Grupo /CLIL_04 | Spanish, Galician | Computer Room I7 |
15:00-17:00 | Grupo /CLE_01 | Galician | Classroom A1 |
Wednesday | |||
11:30-14:00 | Grupo /CLIL_02 | Spanish | Computer Room I7 |
01.18.2021 16:00-20:45 | Grupo /CLIL_01 | Classroom A3 |
01.18.2021 16:00-20:45 | Grupo /CLE_01 | Classroom A3 |
01.18.2021 16:00-20:45 | Grupo /CLIL_04 | Classroom A3 |
01.18.2021 16:00-20:45 | Grupo /CLIL_02 | Classroom A3 |
01.18.2021 16:00-20:45 | Grupo /CLIL_03 | Classroom A3 |
01.18.2021 16:00-20:45 | Grupo /CLIL_02 | Classroom A4 |
01.18.2021 16:00-20:45 | Grupo /CLIL_03 | Classroom A4 |
01.18.2021 16:00-20:45 | Grupo /CLIL_01 | Classroom A4 |
01.18.2021 16:00-20:45 | Grupo /CLE_01 | Classroom A4 |
01.18.2021 16:00-20:45 | Grupo /CLIL_04 | Classroom A4 |
01.18.2021 16:00-20:45 | Grupo /CLIL_04 | Computer Classroom I3 |
01.18.2021 16:00-20:45 | Grupo /CLIL_03 | Computer Classroom I3 |
01.18.2021 16:00-20:45 | Grupo /CLIL_02 | Computer Classroom I3 |
01.18.2021 16:00-20:45 | Grupo /CLE_01 | Computer Classroom I3 |
01.18.2021 16:00-20:45 | Grupo /CLIL_01 | Computer Classroom I3 |
01.18.2021 16:00-20:45 | Grupo /CLE_01 | Computer Room I5 |
01.18.2021 16:00-20:45 | Grupo /CLIL_01 | Computer Room I5 |
01.18.2021 16:00-20:45 | Grupo /CLIL_04 | Computer Room I5 |
01.18.2021 16:00-20:45 | Grupo /CLIL_02 | Computer Room I5 |
01.18.2021 16:00-20:45 | Grupo /CLIL_03 | Computer Room I5 |
01.18.2021 16:00-20:45 | Grupo /CLIL_04 | Computer Room I6 |
01.18.2021 16:00-20:45 | Grupo /CLIL_03 | Computer Room I6 |
01.18.2021 16:00-20:45 | Grupo /CLIL_02 | Computer Room I6 |
01.18.2021 16:00-20:45 | Grupo /CLE_01 | Computer Room I6 |
01.18.2021 16:00-20:45 | Grupo /CLIL_01 | Computer Room I6 |
01.18.2021 16:00-20:45 | Grupo /CLIL_04 | Computer Room I7 |
01.18.2021 16:00-20:45 | Grupo /CLE_01 | Computer Room I7 |
01.18.2021 16:00-20:45 | Grupo /CLIL_02 | Computer Room I7 |
01.18.2021 16:00-20:45 | Grupo /CLIL_03 | Computer Room I7 |
01.18.2021 16:00-20:45 | Grupo /CLIL_01 | Computer Room I7 |
01.18.2021 16:00-20:45 | Grupo /CLIL_01 | Lab PP-2 |
01.18.2021 16:00-20:45 | Grupo /CLIL_04 | Lab PP-2 |
01.18.2021 16:00-20:45 | Grupo /CLE_01 | Lab PP-2 |
01.18.2021 16:00-20:45 | Grupo /CLIL_03 | Lab PP-2 |
01.18.2021 16:00-20:45 | Grupo /CLIL_02 | Lab PP-2 |
06.25.2021 09:15-14:00 | Grupo /CLIL_04 | Classroom A2 |
06.25.2021 09:15-14:00 | Grupo /CLE_01 | Classroom A2 |
06.25.2021 09:15-14:00 | Grupo /CLIL_03 | Classroom A2 |
06.25.2021 09:15-14:00 | Grupo /CLIL_02 | Classroom A2 |
06.25.2021 09:15-14:00 | Grupo /CLIL_01 | Classroom A2 |