Checking date: 10/07/2020


Course: 2020/2021

Object oriented programming
(15995)
Bachelor in Computer Science and Engineering (2018 Study Plan) (Plan: 431 - Estudio: 218)


Coordinating teacher: VALLS FERRAN, JOSE MARIA

Department assigned to the subject: Computer Science and Engineering Department

Type: Electives
ECTS Credits: 6.0 ECTS

Course:
Semester:




Requirements (Subjects that are assumed to be known)
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 may change due academic events or other reasons.