Degree | Type | Year | Semester |
---|---|---|---|
2500149 Mathematics | OT | 4 | 0 |
It is convenient to have learned the knowledge in basic programming in C in the first courses of the Degree or in other subjects, although it is not essential.
The subject has two differentparts. A first objective is to achieve a good level of programming in C, so that students will be able to structure an application and to program a complex algorithm. A second objective is to achieve a training in object-oriented programming (with Java), creation of libraries and that serves as the basis for learning any object-oriented language.
The practices are based on making two games: one in C and the other in Java.
The development of games as a basis for the practices of the subject provides the obligation to use many different aspects of the programming languages and makes the practices more attractive for the student. All this motivates the student to be more interested in the development of the subject.
First part.
1. Reminder of structured and modular programming applied to C. | |||
1.1. Basic reminder | |||
1.1.1. Structures and data types 1.1.2. Sequence, control and iteration structures 1.1.3. Procedures and functions |
|||
1.2. Dynamic structures | |||
1.2.1 Organization of pointers and memory adresses 1.2.2. Basic structres: stacks, lists and queues. 1.2.3. Trees 1.2.4. Dynamic matrices |
|||
2. Recursivity. | |||
2.1. Fundamentals of recursivity 2.2. Search algorithms using trees: |
|||
2.2.1. Priority amplitude and priority depth. 2.2.2. Backtraking. |
Second part
3. Object Oriented Programming | ||
3.1. General concepts and features. 3.2. Classes and objects 3.3. Object oriented analysis and design. |
||
4. Java | ||
4.1. Language characteristics. 4.2 Classes, loops, functions and language structures |
5. Python in Object Oriented Programming
*Unless the requirements enforced by the health authorities demand a prioritization or reduction of these contents.
Lectures:
The concepts of the subject will be presented. Emphasis will be placed on the interpretation of the results and the relationship between these concepts and their applications. Examples will be presented in order to allow students to face autonomously how to solve problems.
The resolution of the proposed problems will be discussed.
The methodology of the subject will be absolutely practical. This implies that classes are done entirely on the computer. The theoretical concepts will be explained in each session and will be complemented with exercises proposed by the teacher, which must be programmed directly to the computer, with his supervision.
Tutoring:
The teacher will supervise and evaluate student work. Students will propose the doubts that have arisen them in the resolution of the exercises proposed.
In the first tutoring sessions, the teacher will gather information on the background of each student and will advise him on how to imrpove. In the rest of the tutoring sessions, doubts will be resolved and the resolution of problems will be discussed.
Autonomous activities:
The exercises and practices must be developed individually. There is no point, in this subject, to create groups of practices of more than one student to develop the work.
*The proposed teaching methodology may experience some modifications dependingon the restrictions to face-to-face activities enforced by health authorities.
Title | Hours | ECTS | Learning Outcomes |
---|---|---|---|
Type: Directed | |||
Lectures of theory, problems and practices | 45 | 1.8 | 2 |
Type: Autonomous | |||
Personal study and development of practices | 97 | 3.88 | 2 |
Theory and problems module (weight 33%).
Final exam, making the student answer the theoretical concepts from programming problems.
Practices module (weight 66%)
The two practices of the subject will count each one as 33% of the final grade
Examns
The maximum grade (Excellent with Honor) will not be awarded to students who must go to the resit exam.
*Student’s assessment may experience some modifications depending on the restrictions to face-to-face activities enforced by health authorities.
Title | Weighting | Hours | ECTS | Learning Outcomes |
---|---|---|---|---|
Exam | 33% | 4 | 0.16 | 1, 3, 10, 14, 11 |
Practices delivery | 66% | 0 | 0 | 15, 9, 5, 2, 14, 13, 12, 11, 7, 8, 6, 16, 4 |
Resit exam | 33% | 4 | 0.16 | 1, 3, 10, 14, 11 |
- "The C++ Programming Language", B.Stroustrup, 3ªed.,Addison-Wesley, 1997.
- "Java2: The Complete Reference", P.Naughton, H.Schildt, Osborne/McGraw-Hill, 2000
- "Core Java" Volumes I y II, C.S.Horstmann, G.Cornell, Sun Microsystems Press.