
    

    <?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://ocw.cs.pub.ro/courses/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://ocw.cs.pub.ro/courses/feed.php">
        <title>CS Open CourseWare poo-ca-cd:arhiva:laboratoare:2024</title>
        <description></description>
        <link>http://ocw.cs.pub.ro/courses/</link>
        <image rdf:resource="http://ocw.cs.pub.ro/courses/lib/tpl/arctic/images/favicon.ico" />
       <dc:date>2026-05-03T14:13:28+03:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/agregare-mostenire?rev=1758958826&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/clase-abstracte-interfete?rev=1758958900&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/clase-interne?rev=1758959136&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/colectii?rev=1758959109&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/constructori-referinte?rev=1758958783&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/design-patterns?rev=1758959035&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/exceptii?rev=1758959203&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/genericitate?rev=1758959069&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/index?rev=1758959132&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/intro?rev=1758958610&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/java-basics?rev=1758958762&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/java-features?rev=1758959183&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/polimorfism?rev=1758958881&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/visitor?rev=1758958938&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://ocw.cs.pub.ro/courses/lib/tpl/arctic/images/favicon.ico">
        <title>CS Open CourseWare</title>
        <link>http://ocw.cs.pub.ro/courses/</link>
        <url>http://ocw.cs.pub.ro/courses/lib/tpl/arctic/images/favicon.ico</url>
    </image>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/agregare-mostenire?rev=1758958826&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-27T10:40:26+03:00</dc:date>
        <title>Laboratorul 3: Agregare și moștenire</title>
        <link>http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/agregare-mostenire?rev=1758958826&amp;do=diff</link>
        <description>Laboratorul 3: Agregare și moștenire

Video introductiv: link

Obiective

Scopul acestui laborator este familiarizarea studenților cu noțiunile de agregare și de moștenire a claselor.

Aspectele urmărite sunt:

	*  studierea mecanismului de moștenire
	*  înțelegerea diferenței între moștenire și agregare
	*  downcasting și upcasting</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/clase-abstracte-interfete?rev=1758958900&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-27T10:41:40+03:00</dc:date>
        <title>Laboratorul 5: Abstractizare</title>
        <link>http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/clase-abstracte-interfete?rev=1758958900&amp;do=diff</link>
        <description>Laboratorul 5: Abstractizare

Video introductiv: link

Obiective

Scopul acestui laborator este de a înțelege principiul abstractizării, prin prezentarea conceptelor de interfață și de clasă abstractă și utilizarea lor în limbajul Java.

Conceptele de metode și clase abstracte și de interfețe sunt prezente și în alte limbaje OOP, fiecare cu particularitățile lor de sintaxă. Este important ca în urma acestui laborator să înțelegeți ce reprezintă și situațiile în care să le folosiți.…</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/clase-interne?rev=1758959136&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-27T10:45:36+03:00</dc:date>
        <title>Laboratorul 10: Clase interne. Lambda expresii.</title>
        <link>http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/clase-interne?rev=1758959136&amp;do=diff</link>
        <description>Laboratorul 10: Clase interne. Lambda expresii.

Video introductiv:  link 

Slides din video:[ link]

Obiective

	*  prezentarea conceptului de clasă internă
	*  exemplificarea tipurilor de clase interne folosind Java
	*  utilizarea claselor interne, în special ale celor anonime
	*  utilizarea funcțiilor lambda</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/colectii?rev=1758959109&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-27T10:45:09+03:00</dc:date>
        <title>Laboratorul 9: Colecții</title>
        <link>http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/colectii?rev=1758959109&amp;do=diff</link>
        <description>Laboratorul 9: Colecții

Video introductiv:  link 

Obiective

Pe parcursul laboratoarelor și temelor ați folosit structuri de date oferite de API-ul Java. În cadrul acestui laborator le vom aprofunda.

	*  lucrul cu cele trei tipuri principale de colecții din Java: List, Set, Map
	*  cunoașterea diferențelor dintre implementările colecțiilor (eficiență, sortare, ordonare etc)
	*  compararea elementelor unor colecții
	*  contractul equals-hashcode</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/constructori-referinte?rev=1758958783&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-27T10:39:43+03:00</dc:date>
        <title>Laboratorul 2: Constructori, referințe, static</title>
        <link>http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/constructori-referinte?rev=1758958783&amp;do=diff</link>
        <description>Laboratorul 2: Constructori, referințe, static

Video introductiv: link

Obiective

Scopul acestui laborator este familiarizarea voastră cu noțiunile de constructori și de referințe în limbajul Java.

Aspectele urmărite sunt:

	*  tipurile de contructori și crearea de instanţe ale claselor folosind acești constructori
	*  utilizarea cuvântului-cheie this</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/design-patterns?rev=1758959035&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-27T10:43:55+03:00</dc:date>
        <title>Laboratorul 7: Design patterns - Factory, Strategy, Observer, Command, Builder</title>
        <link>http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/design-patterns?rev=1758959035&amp;do=diff</link>
        <description>Laboratorul 7: Design patterns - Factory, Strategy, Observer, Command, Builder

Video introductiv:  link +  link

Obiective

Scopul acestui laborator este familiarizarea cu folosirea unor pattern-uri des întâlnite în design-ul atât al aplicațiilor, cât și al API-urilor - Factory, Strategy, Observer, Command și Builder.</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/exceptii?rev=1758959203&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-27T10:46:43+03:00</dc:date>
        <title>Laboratorul 12: Excepții</title>
        <link>http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/exceptii?rev=1758959203&amp;do=diff</link>
        <description>Laboratorul 12: Excepții

Video introductiv:  link

Obiective

	*  înţelegerea conceptului de excepţie şi utilizarea corectă a mecanismelor de generare şi tratare a excepţiilor puse la dispoziţie de limbajul / maşina virtuală Java

Introducere

În esenţă, o excepţie este un eveniment care se produce în timpul execuţiei unui program şi care perturbă fluxul normal al instrucţiunilor acestuia.</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/genericitate?rev=1758959069&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-27T10:44:29+03:00</dc:date>
        <title>Laboratorul 8: Genericitate</title>
        <link>http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/genericitate?rev=1758959069&amp;do=diff</link>
        <description>Laboratorul 8: Genericitate

Obiective

Scopul acestui laborator este prezentarea conceptului de genericitate și modalitățile de creare și folosire a claselor, metodelor și interfețelor generice în Java.

Aspectele urmărite sunt:

	*  prezentarea structurilor generice simple
	*  conceptele de wildcard și bounded wildcards
	*  utilitatea genericității în design-ul unui sistem</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/index?rev=1758959132&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-27T10:45:32+03:00</dc:date>
        <title>poo-ca-cd:arhiva:laboratoare:2024:index</title>
        <link>http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/index?rev=1758959132&amp;do=diff</link>
        <description>2024-2025

	*   Setup environment
	*   Laboratorul 1: Java basics
	*   Laboratorul 2: Constructori și referințe
	*   Laboratorul 3: Agregare și moștenire
	*   Laboratorul 4: Polimorfism
	*   Laboratorul 5: Abstractizare
	*   Laboratorul 6: Visitor pattern
	*   Laboratorul 7: Design patterns
	*    Laboratorul 8: Genericitate
	*   Laboratorul 9: Colecții
	*   Laboratorul 10: Clase interne
	*   Laboratorul 11: Java features
	*   Laboratorul 12: Excepții</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/intro?rev=1758958610&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-27T10:36:50+03:00</dc:date>
        <title>Setup Environment</title>
        <link>http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/intro?rev=1758958610&amp;do=diff</link>
        <description>Setup Environment

Instalare Java 17

Pentru POO vom folosi Java 17 și anume OpenJDK 17.

Pași de instalare:

Ubuntu

1. Deschideți un terminal - Ctrl + Alt + T

2. Faceți update la pachetele instalate deja in sistem


$ sudo apt update


3. Adăugați repository-ul de OpenJDK</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/java-basics?rev=1758958762&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-27T10:39:22+03:00</dc:date>
        <title>Laboratorul 1: Java basics</title>
        <link>http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/java-basics?rev=1758958762&amp;do=diff</link>
        <description>Laboratorul 1: Java basics

Video introductiv: link

Slideuri folosite în video: [PDF]

Obiective

Scopul acestui laborator este familiarizarea studenților cu noțiunile de bază ale programării în Java.

Aspectele urmărite sunt:

	*  organizarea unui proiect Java
	*  familiarizarea cu IDE-ul
	*  definirea noțiunilor de clasă, câmpuri, proprietăți, metode, specificatori de acces
	*  folosirea unor tipuri de date</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/java-features?rev=1758959183&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-27T10:46:23+03:00</dc:date>
        <title>Laboratorul 11: Streams. Java features</title>
        <link>http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/java-features?rev=1758959183&amp;do=diff</link>
        <description>Laboratorul 11: Streams. Java features

Obiective

	*  familiarizarea cu metode default și cu metode statice în interfețe
	*  înțelegerea conceptelor de expresii lambda
	*  utilizare streams :-)

	*  utilizarea de structuri sintactice introduse începând cu Java 8 (var)</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/polimorfism?rev=1758958881&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-27T10:41:21+03:00</dc:date>
        <title>Laboratorul 4: Polimorfism</title>
        <link>http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/polimorfism?rev=1758958881&amp;do=diff</link>
        <description>Laboratorul 4: Polimorfism

Obiective

	*  Implementarea polimorfismului în Java
	*  Diferența dintre Overriding &amp; Overloading

Polimorfismul

Polimorfismul reprezintă abilitatea unei clase să se comporte ca o altă clasă de pe lanțul de moștenire, și de aceea conceptul de suprascriere a metodelor este foarte strâns legat.</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/visitor?rev=1758958938&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-27T10:42:18+03:00</dc:date>
        <title>Laboratorul 6: Visitor pattern</title>
        <link>http://ocw.cs.pub.ro/courses/poo-ca-cd/arhiva/laboratoare/2024/visitor?rev=1758958938&amp;do=diff</link>
        <description>Laboratorul 6: Visitor pattern

Video introductiv:  link 

Obiective

	*  Prezentarea design pattern-ului Visitor și familiarizarea cu situațiile în care acesta este util de aplicat

Visitor Design Pattern



Visitor este un behavioural design pattern ce oferă posibilitatea de a adăuga în mod extern funcționalități pe o întreagă ierarhie de clase, fără să fie nevoie să modificăm efectiv structura acestora.</description>
    </item>
</rdf:RDF>
