IDENTIFYING DATA 2015_16
Subject (*) PROGRAMMING Code 17234114
Study programme
Bachelor's Degree in Computer engineering (2010)
Cycle 1st
Descriptors Credits Type Year Period
6 Compulsory Second 1Q
Language
Anglès
Català
Department Enginyeria Informàtica i Matemàtiques
Coordinator
VALLS MATEU, AÏDA
FERRÉ BERGADÀ, MARIA
E-mail aida.valls@urv.cat
david.sanchez@urv.cat
maria.ferre@urv.cat
Lecturers
VALLS MATEU, AÏDA
SÁNCHEZ RUENES, DAVID
FERRÉ BERGADÀ, MARIA
Web http://moodle.urv.cat
General description and relevant information This course is an introduction to Object-Oriented Programming. Lectures in the morning are given in Catalan, and the lectures in the afternoon are given in English.

Competences
Type A Code Competences Specific
 CM3 Be able to understand the importance of negotiation, effective work habits, leadership and communication skills in all aspects of software development.
 CM7 Have knowledge of, design and efficiently use the most suitable data types and structures for solving a problem.
 CM8 Be able to analyse, design, build and maintain applications that are robust, secure and efficient, choosing the most suitable paradigm and programming languages.
Type B Code Competences Transversal
 B8 Be able to work in groups and in a multilingual and multidisciplinary environment.
Type C Code Competences Nuclear
 C4 Be able to express themselves correctly both orally and in writing in one of the two official languages of the URV

Learning outcomes
Type A Code Learning outcomes
 CM3 Participates and collaborate actively in the team tasks, carries out personal contribution within the time allotted, takes into account the contributions of others and gives constructive feedback.
 CM7 Know the basic concepts of programming oriented toward objects.
Implement linear data structures in static memory.
 CM8 Be able to implement an application based on the paradigm aimed at objects using the language Java.
Design applications oriented toward objects and represent them using the language UML.
Design a straightforward graphic interface, and implement it using the SWING tools provided by the language Java.
Type B Code Learning outcomes
 B8 Participates and collaborate actively in the team tasks, carries out personal contribution within the time allotted, takes into account the contributions of others and gives constructive feedback.
Type C Code Learning outcomes
 C4 Produce grammatically correct written texts
Produce well-structured, clear and rich written texts

Contents
Topic Sub-topic
1. Basics of Object-Oriented Programming (OOP): data organization in classes. 1.1 Classes, objects, methods and instances. Constructors.
1.2 Class modifiers (public, private, static, ...).
1.3 Composition in classes. Enumerates.
1.4 Introduction to the basic data structures.
2. Object-Oriented Programming in detail: Inheritance and Polimorphism. 2.1 Inheritance: superclasses and subclasses. Protected.
2.2 Class hierarchy. The Object class.
2.3 Polimorphism.
2.4 Abstract classes and methods.
2.5 Final Classes and methods.
2.6 Interfaces.
3. Introduction to the design of applications using OOP. 3.1 Packages.
3.2 Exceptions.
3.3 Data flows: files.
3.4 Design of a graphical interface.
3.5 Introduction to UML.

Planning
Methodologies  ::  Tests
  Competences (*) Class hours
Hours outside the classroom
(**) Total hours
Introductory activities
2 0 2
Lecture
CM7
CM8
16 16 32
Problem solving, exercises
CM7
CM8
8 16 24
Practicals using information and communication technologies (ICTs) in computer rooms
CM7
CM8
26 26 52
ICT practicals
CM3
B8
C4
2 26 28
Personal tuition
2 0 2
 
Objective short-answer tests
CM7
CM8
4 6 10
 
(*) On e-learning, hours of virtual attendance of the teacher.
(**) The information in the planning table is for guidance only and does not take into account the heterogeneity of the students.

Methodologies
Methodologies
  Description
Introductory activities Presentation of the lecturers and the organization of the course (topics, materials, competences, bibliography).
The evaluation procedure will be also explained at this introductory class.
Lecture Main lectures where the concepts are explained with examples.
Morning lectures are in Catalan, and afternoon lectures in English.
Problem solving, exercises Some weeks the students will practise solving short exercises, individually or in group.
The exercises may be given to students in advance so that you can prepare them at home before the class.
Practicals using information and communication technologies (ICTs) in computer rooms Practice classes in computer laboratories. Each session a new exercise will be proposed, to be solved during the class using Java and Eclipse.
ICT practicals The student must design and implement in Java several exercises (which can be individual or in groups). Details will be given in the Moodle platform, and the problem will be also presented at class by the teacher.

Some additional documentation can be required, together with the source code in Java.
Personal tuition Personal attention will be given at the teacher's office (143).
It is recommended to contact with the teachers by email in advance to agree with the date/time.

Personalized attention
Description
Personal attention will be given at the teacher's office (143). It is recommended to contact with the teachers by email in advance to agree with the date/time.

Assessment
Methodologies Competences Description Weight        
ICT practicals
CM3
B8
C4
The student must design and implement in Java several exercises (which can be individual or in groups). Details will be given in the Moodle platform.
Some additional documentation can be required, together with the source code in Java.
A minimum average grade of 5 is mandatory to pass the course.
40
Objective short-answer tests
CM7
CM8
There will be two exams during the course, covering all the topics explained until the date of the exam.
A minimum average grade of 5 is mandatory to pass the course.
60
Others  
 
Other comments and second exam session

If the student cannot pass the course in the first round, a second chance is available (see the calendar at ETSE website).
Only the part failed must be repeated (the practical part or the exams part):

  • The final exam at the second round will cover all the course (60%)
  • To pass the practical part in the second round a different final practical exercise must be done (40%).

During exams it is prohibited the use of any communication or data transmission device. If you do not follow this rule, the exam will be not reviewed and you will automatically get a Fail.


Sources of information

Basic Herbert Schildt, Java 7, última edició disponible,
Paul Deitel, Harvey Deitel, Java. Cómo programar., última edició disponible,

In addition to the books recommended in this section (in Spanish),
you can also use the following books in English, which are available at the Campus Sescelades library:

- Java: How to program. Paul Deitel, Harvey Deitel. Ed.Prentice Hall (004.43 JAVA Dei).

Sams teach yourself Java in 24 hours, Cadenhead, Rogers. Pearson Education [distributor], 2012

Complementary J.Cohoon, J. Davidson, Programación en Java 5.0, última edició disponible,
Rogers CadenHead, Programación Java 7, última edició disponible,
David Camacho, Jose M Valls, Jesus Garcia i altres, Programación, Algoritmos y ejercicios resueltos en JAVA, última edició disponible,

Recommendations

Subjects that continue the syllabus
DATA STRUCTURES/17234115

Subjects that are recommended to be taken simultaneously
PROGRAMMING METHODOLOGIES/17234116

Subjects that it is recommended to have taken before
THE FUNDAMENTALS OF PROGRAMMING/17234001
(*)The teaching guide is the document in which the URV publishes the information about all its courses. It is a public document and cannot be modified. Only in exceptional cases can it be revised by the competent agent or duly revised so that it is in line with current legislation.