Lectures

Observatii diverse

  • Studenții recontractanți la POO (cu sau fară laborator) sunt rugați să se īnroleze pe CV la cursul acesta.
  • Detalii despre examen și despre calculul notei finale:
    • Subiectele de examen vor fi de una sau mai multe forme din cele enumerate mai jos:
      • Īntrebări cu răspunsuri scurte sub forma unui număr ori cuvānt (ex. răspuns determinat pe baza īnțelegerii execuției unei secvențe de cod).
      • Īntrebări "multiple choice multiple answers" ce permit selectarea unuia sau a mai multor răspunsuri considerate corecte dintr-o listă dată. Menționăm că i) selectarea unui răspuns greșit conduce la anularea īntregului punctaj pentru īntrebarea respectivă și ii) se va face punctare parțială dacă s-au selectat doar răspunsuri corecte īnsă nu toate răspunsurile corecte din listă.
      • Īntrebări ce solicită discuția unei probleme / argumentarea validității sau invalidității unei afirmații sub forma unui eseu (ex. descrierea unui concept teoretic)
      • Solicitarea scrierii unei secvențe de cod (ex. corectarea unei secvențe de cod pentru a respecta un principiu de POO).
      • Orice combinație a alternativelor anterioare
    • Număr de īntrebari și timp de lucru - TBD
    • Nota finală a disciplinei:
      • K1 (Examen) 50%
      • K2 (Activitate pe parcurs) 50%
  • C.Marinescu, P.F.Mihancea, Programare Orientata pe Obiecte in Limbajul Java. este disponibila aici.
  • tar.gz este un soi de zip (ar trebui sa mearga cu programe de dezarhivare pt. zip)
  • In partea de jos de la primul slide este un numar de versiune. Verificati sa fiti up-to-date.

Capitol 1 - Introducere (suport pentru notite)

Lectura sugerata

  • Bruce Eckel, Thinking in Java 4th Ed., Ch.Operators, Ch.Controlling Execution
  • C.Marinescu, P.F.Mihancea, Programare Orientata pe Obiecte in Limbajul Java. Lectia 1.

Capitol 2 - Clase si Obiecte (suport pentru notite)

Lectura sugerata

  • Bruce Eckel, Thinking in Java 4th Ed., Ch.Everything is an object; Ch.Initialization and cleanup - Guaranteed initialization with the constructor, Method overloading (tot subcapitolul), Default constructors, The this keyword (Calling constructors from constructors, The meaning of static); Ch.Access control - Java access specifiers (Public, Private), Interface and implementation. Ch.Operators-Assignment, Aliasing during method call
  • C.Marinescu, P.F.Mihancea, Programare Orientata pe Obiecte in Limbajul Java. Lectia 2 & 3.

Capitol 3 - Cateva Clase si Metode Predefinite (suport pentru notite)

Lectura sugerata

  • Bruce Eckel, Thinking in Java 4th Ed., Ch.Everything is an object - Special case: primitive types, Ch.Operators - Testing object equivalence, Ch.Initialization & Cleanup - Array Initialization Ch.Arrays - Arrays are first-class objects, Returning an array, Multidimensional arrays, Ch.Strings - Immutable Strings, Operations of Strings, StringBuffer, Ch.Initialization & Cleanup - Cleanup: finalization and garbage collection
  • C.Marinescu, P.F.Mihancea, Programare Orientata pe Obiecte in Limbajul Java. Lectia 3 & 4.
  • Methods toString & equals from Object class - http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html

Lectura facultativa

  • Bruce Eckel, Thinking in Java 4th Ed., Ch.I/O

Capitol 4 - Relatia de Mostenire. Polimorfism. (suport pentru notite)

Lectura sugerata

  • Bruce Eckel, Thinking in Java 4th Ed., Ch.Reusing Classes, Ch.Polymorphism, Ch. Interfaces, Ch.Introduction to Objects (pana la Containers)
  • C.Marinescu, P.F.Mihancea, Programare Orientata pe Obiecte in Limbajul Java. Lectia 5 & 6 & 7.

Capitol 5 - Tratarea Exceptiilor (suport pentru notite)

Lectura sugerata

  • Bruce Eckel, Thinking in Java 4th Ed., Ch.Error Handling with Exceptions
  • C.Marinescu, P.F.Mihancea, Programare Orientata pe Obiecte in Limbajul Java. Lectia 8.

Capitol 6 - Containere (de Dr. Cristina Marinescu)

Lectura sugerata

  • Bruce Eckel, Thinking in Java 4th Ed., Ch. Holding your objects (Generics and type-safe containers, Basic concepts, Adding groups of elements, Printing containers, List, Iterator, ArrayList, LinkedList, Set, Map, Foreach and iterators), Ch. Containers in Depth (Sets and Storage Order, Understanding Maps, Hashing and Hash Codes)
  • C.Marinescu, P.F.Mihancea, Programare Orientata pe Obiecte in Limbajul Java. Lectia 10.

Capitol 7 - Pachete (suport pentru notite)

Lectura sugerata

  • Bruce Eckel, Thinking in Java 4th Ed., Ch. Access Control - package:the library unit, Java access specifiers, Interface And Implementation, Class Access
  • C.Marinescu, P.F.Mihancea, Programare Orientata pe Obiecte in Limbajul Java. Lectia 9.

Capitol 8 - Mecanisme diverse

  • Fire de executie (fara slide-uri)
    • Lectura sugerata
      • C.Marinescu, P.F.Mihancea, Programare Orientata pe Obiecte in Limbajul Java. Lectia 11 (pana la Mecanismul de Excludere Mutuala)
  • Genericitate (suport pentru notite)
    • Lectura sugerata
      • Bruce Eckel, Thinking in Java 4th Ed., Ch. Generics - Simple generics (A tuple library, A stack class, RandomList), Generic Interfaces, Bounds, Wildcards (pana la contravarianta dar fara ea)
  • Reflexie (suport pentru notite)
    • Lectura sugerata
      • Bruce Eckel, Thinking in Java 4th Ed., Ch. Type information - The Class Object (Class literals, Generic class references, New cast), Checking before a cast (Using class literals, A dynamic instanceof), instanceof vs. Class equivalence, Reflection: runtime class information (A class method extractor)
  • Intro in interfete grafice (de Dr. Cristina Marinescu) (interfetele grafice sunt optionle si nu sunt topic de examen)
    • Lectura sugerata
      • Bruce Eckel, Thinking in Java 4th Ed., Ch. Grafical User Interfaces