Educational guide
IDENTIFYING DATA 2023_24
Subject COMPUTER PROGRAMMING II Code 00709011
Study programme
0709 - GRADO EN INGENIERÍA INFORMÁTICA
Descriptors Credit. Type Year Period
6 Compulsory Second First
Language
Castellano
Prerequisites
Department ING.MECANICA,INFORMAT.AEROESP.
Coordinador
RODRÍGUEZ DE SOTO , ADOLFO
E-mail arods@unileon.es
gestc@unileon.es
agutf@unileon.es
Lecturers
RODRÍGUEZ DE SOTO , ADOLFO
ESTEBAN COSTALES , GONZALO
GUTIERREZ FERNANDEZ , ALEXIS
Web http://agora.unileon.es
General description The course is focused on three basic phases of software development as design, implementation and testing. Students will be able to design from an abstract level using different algorithms and patterns. They will also learn how to build test cases.
Tribunales de Revisión
Tribunal titular
Cargo Departamento Profesor
Presidente CONDE GONZALEZ , MIGUEL ANGEL
Secretario ING.MECANICA,INFORMAT.AEROESP. SANCHEZ GONZALEZ , LIDIA
Vocal ING.MECANICA,INFORMAT.AEROESP. CASTEJON LIMAS , MANUEL
Tribunal suplente
Cargo Departamento Profesor
Presidente ING.MECANICA,INFORMAT.AEROESP. MATELLAN OLIVERA , VICENTE
Secretario FERNANDEZ ROBLES , LAURA
Vocal GUERRERO HIGUERAS , ANGEL MANUEL

Competencias
Code  
A18101
A18121
A18122
A18124
B5614
B5619
B5623
B5624
B5626
B5629
C2 CMECES2 That students know how to apply their knowledge to their work or vocation in a professional manner and possess the skills that are usually demonstrated through the development and defense of arguments and the resolution of problems within their area of study.
C5 CMECES5 That students have developed those learning skills necessary to undertake further studies with a high degree of autonomy

Learning aims
Competences
Learn the fundamentals of a general object-oriented programming language. A18121
A18122
A18124
B5619
C2
C5
The student is able to apply their knowledge of a programming language in the construction of computer programs. A18101
A18121
A18122
A18124
B5614
B5619
B5623
B5624
B5626
B5629
C2
C5
He is able to solve problems by building a computer program that calculates the solution based on the input case. A18101
A18121
A18122
A18124
B5614
B5619
B5623
B5624
B5626
B5629
C2
Learn the basic techniques for testing computer programs. A18121
A18124
B5619
B5623
B5624
B5626
B5629
C2
It is capable of applying the verification and validation techniques of programs to specific problems. A18101
A18121
A18122
A18124
B5614
B5619
B5623
B5624
B5626
B5629
C2
C5

Contents
Topic Sub-topic
Part I. DESIGN OF COMPUTER PROGRAMS Topic 1. DESIGN TECHNIQUES FOR RECURSIVE ALGORITHMS
Ways to design and test recursive algorithms are described. Contract programming.
Topic 2. CONCURRENCY IN JAVA
The basic instructions for the construction of concurrent programs in the Java language are taught.
Topic 3. SOFTWARE PATTERNS
Basic creational, structural, and behavioral patterns and their application in Java are described.
Part II. THE PROBLEM OF CORRECTION Topic 4. PROGRAM TEST
Various techniques are given for constructing test suites suitable for program testing.
Part III. PROGRAMS WITH GRAPHIC INTERFACE Topic 5. GRAPHIC USER INTERFACES IN OBJECT-ORIENTED PROGRAMMING.
Java programming is taught with a graphical user interface, using the basic elements of this type of interface.

Planning
Methodologies  ::  Tests
  Class hours Hours outside the classroom Total hours
Laboratory practicals 28 42 70
 
Assignments 30 30 60
 
Lecture 28 14 42
 
Mixed tests 8 0 8
 
(*)The information in the planning table is for guidance only and does not take into account the heterogeneity of the students.

Methodologies
Methodologies   ::  
  Description
Laboratory practicals Practical classes in which the teacher poses problems and the student solves them by relying on the teacher's guidance and advice. They will be done individually and in groups.
Assignments Carrying out programming work individually without the assistance of the teacher and with face-to-face evaluation through subsequent modifications. In the subject they are called Programming Practices
Lecture Theoretical classes in which the teacher introduces the concepts, languages and methods in the form of a master class, but requiring the active participation of the student by asking questions.

Personalized attention
 
Lecture
Description
They will be published on the course website.

Assessment
  Description Qualification
Assignments They will be called Programming Practices. They will consist of 2 programming practices by the student without the continuous assistance of the teacher. They are mainly done individually. They are evaluated through the score obtained in the submission and by defending them through the final exam in which the student must modify their submission according to the specifications indicated in the exam. 40-50%
Calificación mínima para superar la asignatura: 5/10
Mixed tests 40-50%
Calificación mínima para superar la asignatura: 5/10
Others The teacher will assign 5% of the final grade based on the student's participation in the different activities of the subject: attendance, participation and respectful behavior in face-to-face classes, participation in online tools, motivation for the subject, and others.
 
Other comments and second call
The works presented may be reviewed with an anti-plagiarism computer program that will be able to carry out verifications between the works of the students of the current and previous call and against external sources. During the evaluation tests, it will not be possible to use electronic resources (calculators, tablets, telephones, computers, etc.), except for those tests that, under the express indication of the teacher, require the use of any of these resources. In case of any irregularity during the celebration of the exam or corresponding assessment test, the exam will be immediately withdrawn, the student will be expelled and graded as failed. In any case, the provisions of the internal regulations of the ULe included in the document "Guidelines for action in cases of plagiarism, copying or fraud in examinations or assessment tests" will be followed (Approved by the Permanent Commission of the Governing Council 29/01 /2015).

In the case of the Programming II subject, each programming work to be carried out individually by each student and delivered online (Practical Tests, called Programming Exercises in the subject, and Assignments, called Programming Practices) will be submitted to three plagiarism control algorithms on the set of works delivered and in case of exceeding a percentage of similarity greater than 95% in any of them, a first warning will be issued to each of the students in the plagiarism group. When there is a second notice, the delivery will be canceled and each student in this case will have to take some additional and individual specific test.

In the second call of the subject, the grades obtained in the first call in each of the Assessment sections described will be kept. The student will be able to submit and take the different evaluation sections (except for Laboratory Practices and Programming Exercises) to try to improve their final grade. In the second ordinary call, only 80% of the maximum grade assigned to the subject can be reached.

Sources of information
Access to Recommended Bibliography in the Catalog ULE

Basic Robert C. Martin, Clean Code, Pearson, 2008
Erich Gamma et al., Patrones de Diseño, Addison Wesley, 2003
Bruce Eckel, Thinking in Java 4th edition, Prentice Hall, 2006

Complementary Bertrand Meyer, Construcción de Software Orientado a Objetos. Segunda Edición, Prentice Hall, 1999


Recommendations


Subjects that it is recommended to have taken before
COMPUTER PROGRAMMING I / 00709009
DATA STRUCTURES / 00709018