Checking date: 10/07/2020

Course: 2020/2021

Object oriented programming
Study: Bachelor in Computer Science and Engineering (218)

Coordinating teacher: VALLS FERRAN, JOSE MARIA

Department assigned to the subject: Department of Computer Science and Engineering

Type: Electives
ECTS Credits: 6.0 ECTS


Students are expected to have completed
Programming, Algorithms and Data Structures
Knowledge and application of the basic algorithmic procedures of IT to design solutions to problems, analizing the suitability and complexity of the proposed algorithms (CECRI6) Capacity to analize, design, build and maintain applications in a robust, secure and efficient way selecting the most adequate paradigm and programming languages (CECRI8)
Description of contents: programme
Unit 1. Object Oriented Programming Introduction. Modeling 1.1 Introduction 1.2 Comparing with other programming paradigms 1.3 OO Modeling Unit 2. Classes and Objetcs in Java. Inheritance and polymorfism 2.1 Composition and inheritance 2.2 Abstract classes 2.3 Multiple inheritance. Interfaces 2.4 Polymorphism Unit 3. Exceptions , utility classes and packages. Input / Output 3.1 Exceptions 3.2 Utility classes 3.3 Documentation and packages 3.4 I/O. Files in Java Unit 4. Advanced Algorithms 4.1 Computational complexity 4.2 Recursive algorithms 4.3 Search algorithms 4.4 Advanced sorting algorithms 4.5 Complex algorithms design with OO Unit 5. Design Patterns. Other OO languages 5.1 Introduction 5.2 Design patterns catalog 5.3 Other OO languages
Learning activities and methodology
This optional course won't be offered during 2010-21 and the specific activities due to COVID-19 will not apply. The activities in a normal situation are described: - Theory. The course will be given through lectures to teach the basic concepts of Object Oriented Programming (OOP). . Active participation of students and discussion will be encouraged. - Practical exercises and computer sessions. Lectures will be complemented with practical sessions in computer rooms where practical exercises will be done, allowing to apply the theoretical knowledge.
Assessment System
  • % end-of-term-examination 60
  • % of continuous assessment (assigments, laboratory, practicals...) 40
Basic Bibliography
  • Bruce Eckel. Thinking in Java. Prentice Hall . 2006
Additional Bibliography
  • Brassard, Giles. Fundamentals of Algorithmics. Prentice hall international. 1997

The course syllabus and the academic weekly planning may change due academic events or other reasons.