Diferență între revizuiri ale paginii „Programare Orientată Obiect (curs) - Seria C”
Cbira (discuție | contribuții) |
Cbira (discuție | contribuții) |
||
(Nu s-au afișat 82 de versiuni intermediare efectuate de același utilizator) | |||
Linia 1: | Linia 1: | ||
== ANUNTURI == | == ANUNTURI == | ||
− | |||
− | == | + | '''<font color="red"> Update note sesiune de toamna. Verificati. </font>''' |
+ | |||
+ | Punctaje seria C, OOP 2017: https://docs.google.com/spreadsheets/d/1cDVwpxyN-8ygZ37Pfpo4gLLixLE8DCXMbX5AmxZVArc/edit?usp=sharing | ||
+ | |||
+ | '''<font color="green"> Cod java (suport de curs): </font>''' http://gitlab.dcae.pub.ro/Teaching/SeriaC_OOP_2017 | ||
+ | |||
+ | '''<font color="green"> Note de curs </font>''' de la alte serii: | ||
+ | |||
+ | http://discipline.elcom.pub.ro/POO-Java/ | ||
+ | |||
+ | http://andrei.clubcisco.ro/cursuri/anul-2/semestrul-1/programare-orientata-pe-obiecte.html | ||
− | + | Protectia muncii: http://wiki.dcae.pub.ro/images/4/4f/An_II_seria_C.doc.zip | |
− | + | Laboratorul de OOP se face in sala A414 | |
− | + | Ca si in ceilalti ani, la seria F, vom inmana badge-uri si la seria C | |
− | |||
− | |||
− | + | CHAMPION - studentului cu punctajul cel mai mare: Berbecaru Ionut | |
− | + | GOLD - studentilor cu media 10 in catalog : Petrescu Stefan, Traistaru Vlad-Viorel | |
− | + | SILVER - studentilor cu media 9 in catalog : Toma Andreea, Turigioiu-Duran Cosmin-Florin, Enache Catalin | |
− | + | == Prerequisites == | |
− | + | Cunoasterea unui limbaj de programare (cu citire/scriere la consola) si a unor algoritmi de baza. | |
− | + | Concepte: tip de date, variabile, asignare, operatii aritmetice, operatii logice, structuri repetitive, consola, biblioteci | |
− | ''' | + | Discipline care asigura aceste cunostinte: |
+ | '''PC''' - Programarea Calculatoarelor | ||
+ | '''SDA''' - Structuri de Date si Algoritmi | ||
== Repartizarea punctelor == | == Repartizarea punctelor == | ||
Linia 33: | Linia 42: | ||
Laborator 50p: 25p colocviu + 5 x 5p lucrari de laborator | Laborator 50p: 25p colocviu + 5 x 5p lucrari de laborator | ||
− | Curs 50p: 30p grila finala (saptamana 14, vineri orele 17- | + | Curs 50p: 30p grila finala (saptamana 14, vineri orele '''<font color="red"> 17:30-19:30 </font>''' , A414) si 20p (lucrari sau teme de casa 10 x 2p sau 5 x 4p) |
'''BONUS''' maxim 10 puncte pentru activitate excepțională în timpul semestrului. Punctajul bonus este '''<font color="red">exclusiv</font>''' la latitudinea titularului de curs. | '''BONUS''' maxim 10 puncte pentru activitate excepțională în timpul semestrului. Punctajul bonus este '''<font color="red">exclusiv</font>''' la latitudinea titularului de curs. | ||
Linia 39: | Linia 48: | ||
Frauda la teme / laborator / punctaj pe parcurs => se aduna opusul notei. | Frauda la teme / laborator / punctaj pe parcurs => se aduna opusul notei. | ||
Frauda la coloviu / test final curs => raport la decan cu recomandarea de exmatriculare. | Frauda la coloviu / test final curs => raport la decan cu recomandarea de exmatriculare. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
= Condiții de promovare = | = Condiții de promovare = | ||
Linia 51: | Linia 53: | ||
Condițiile minime de promovare sunt: | Condițiile minime de promovare sunt: | ||
* cel mult o absență în laborator; | * cel mult o absență în laborator; | ||
− | * minim 25 de puncte din punctajul de laborator; | + | * minim 25 de puncte din punctajul de laborator (din 50p); |
− | * minim 50 puncte în total. | + | * minim 50 puncte în total (din 100p). |
+ | |||
+ | '''<font color="Green"> Examenul si colocviul se pot reface in toamna (la restanta) </font>''' | ||
= Programa cursului = | = Programa cursului = | ||
Linia 58: | Linia 62: | ||
'''Curs1'''. Introducere: computer, CPU, I/O, limbaje de programare, Java, JVM, compilare Java, HelloWorld, output, tipuri de date (boolean, int, double, String), variabile, atribuire, operatori =, +, - , * , /, ordinea operatiilor, concatenare de String, bucle, if, while, for, initializare array, String array, clase, obiecte, campuri, metode | '''Curs1'''. Introducere: computer, CPU, I/O, limbaje de programare, Java, JVM, compilare Java, HelloWorld, output, tipuri de date (boolean, int, double, String), variabile, atribuire, operatori =, +, - , * , /, ordinea operatiilor, concatenare de String, bucle, if, while, for, initializare array, String array, clase, obiecte, campuri, metode | ||
− | '''Curs2'''. Clase, obiecte, campuri, metode, constructor, constructor implicit, instante, access la campuri, acces la metode, referinta vs valoare, primitive, obiecte, == , equals, metoda statica, camp static, control acces: public, private, domeniu de definitie, this, pachete, package, import, java.lang.String, java.lang.System, | + | '''Curs2'''. Clase, obiecte, campuri, metode, constructor, constructor implicit, instante, access la campuri, acces la metode, referinta vs valoare, primitive, obiecte, == , equals, metoda statica, camp static, control acces: public, private, domeniu de definitie, this, pachete, package, import, java.lang.String, java.lang.System, |
− | '''Curs3'''. Recapitulare: mostenire / derivare, extends, @Override, javadoc | + | '''Curs3'''. Recapitulare: mostenire / derivare, extends, static, final, equals. In plus, @Override, javadoc, exceptii, throw, throws, try, catch, finally |
− | '''Curs4'''. Java I/O, flux de date | + | '''Curs4'''. Recapitulare: mostenire si exceptii. In plus: clasa abstracta, interfata, Java I/O, flux de date |
− | '''Curs5'''. Recapitulare | + | '''Curs5'''. Recapitulare. Citire din fisiere, property file |
Exemplu: afisati cele mai mari 3 medii (si studentii carora le apartin) din fisierul cu formatul de linie: Nume Prenume Nota1 Nota2. | Exemplu: afisati cele mai mari 3 medii (si studentii carora le apartin) din fisierul cu formatul de linie: Nume Prenume Nota1 Nota2. | ||
− | |||
https://drive.google.com/open?id=0B5TtS-S1KZFGTEZHMjRQUTJHOGs | https://drive.google.com/open?id=0B5TtS-S1KZFGTEZHMjRQUTJHOGs | ||
Linia 97: | Linia 100: | ||
https://drive.google.com/open?id=0B5TtS-S1KZFGd1pDZW5hVVVURGc | https://drive.google.com/open?id=0B5TtS-S1KZFGd1pDZW5hVVVURGc | ||
− | '''Curs12'''. Aplicatii. | + | '''Curs12'''. Aplicatii. Stabilire grila colocviu (ordonare materie pe note 1->10). Exemplu de subiect. |
+ | |||
+ | '''Curs13'''. Aplicatii, prezentare proiecte. | ||
+ | |||
+ | '''Curs14'''. Aplicatii, feedback. | ||
Pentru primele cursuri, suportul de curs a fost MIT 6.092 (https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-092-introduction-to-programming-in-java-january-iap-2010/lecture-notes/) | Pentru primele cursuri, suportul de curs a fost MIT 6.092 (https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-092-introduction-to-programming-in-java-january-iap-2010/lecture-notes/) | ||
Linia 116: | Linia 123: | ||
Pentru cursuri interactive vedeti site-urile dedicate (eg. Edx, Coursera, Udacity) | Pentru cursuri interactive vedeti site-urile dedicate (eg. Edx, Coursera, Udacity) | ||
+ | * https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008 | ||
+ | * https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-092-introduction-to-programming-in-java-january-iap-2010/ | ||
+ | |||
* https://www.edx.org/course/subject/computer-science/java | * https://www.edx.org/course/subject/computer-science/java | ||
* https://www.coursera.org/specializations/java-programming | * https://www.coursera.org/specializations/java-programming |
Versiunea curentă din 9 septembrie 2018 11:21
ANUNTURI
Update note sesiune de toamna. Verificati.
Punctaje seria C, OOP 2017: https://docs.google.com/spreadsheets/d/1cDVwpxyN-8ygZ37Pfpo4gLLixLE8DCXMbX5AmxZVArc/edit?usp=sharing
Cod java (suport de curs): http://gitlab.dcae.pub.ro/Teaching/SeriaC_OOP_2017
Note de curs de la alte serii:
http://discipline.elcom.pub.ro/POO-Java/
http://andrei.clubcisco.ro/cursuri/anul-2/semestrul-1/programare-orientata-pe-obiecte.html
Protectia muncii: http://wiki.dcae.pub.ro/images/4/4f/An_II_seria_C.doc.zip
Laboratorul de OOP se face in sala A414
Ca si in ceilalti ani, la seria F, vom inmana badge-uri si la seria C
CHAMPION - studentului cu punctajul cel mai mare: Berbecaru Ionut
GOLD - studentilor cu media 10 in catalog : Petrescu Stefan, Traistaru Vlad-Viorel
SILVER - studentilor cu media 9 in catalog : Toma Andreea, Turigioiu-Duran Cosmin-Florin, Enache Catalin
Prerequisites
Cunoasterea unui limbaj de programare (cu citire/scriere la consola) si a unor algoritmi de baza.
Concepte: tip de date, variabile, asignare, operatii aritmetice, operatii logice, structuri repetitive, consola, biblioteci
Discipline care asigura aceste cunostinte: PC - Programarea Calculatoarelor SDA - Structuri de Date si Algoritmi
Repartizarea punctelor
Punctajul maxim este de 100 de puncte, corespunzător notei 10. Acest punctaj este repartizat în felul următor:
Laborator 50p: 25p colocviu + 5 x 5p lucrari de laborator
Curs 50p: 30p grila finala (saptamana 14, vineri orele 17:30-19:30 , A414) si 20p (lucrari sau teme de casa 10 x 2p sau 5 x 4p)
BONUS maxim 10 puncte pentru activitate excepțională în timpul semestrului. Punctajul bonus este exclusiv la latitudinea titularului de curs.
Frauda la teme / laborator / punctaj pe parcurs => se aduna opusul notei. Frauda la coloviu / test final curs => raport la decan cu recomandarea de exmatriculare.
Condiții de promovare
Condițiile minime de promovare sunt:
- cel mult o absență în laborator;
- minim 25 de puncte din punctajul de laborator (din 50p);
- minim 50 puncte în total (din 100p).
Examenul si colocviul se pot reface in toamna (la restanta)
Programa cursului
Curs1. Introducere: computer, CPU, I/O, limbaje de programare, Java, JVM, compilare Java, HelloWorld, output, tipuri de date (boolean, int, double, String), variabile, atribuire, operatori =, +, - , * , /, ordinea operatiilor, concatenare de String, bucle, if, while, for, initializare array, String array, clase, obiecte, campuri, metode
Curs2. Clase, obiecte, campuri, metode, constructor, constructor implicit, instante, access la campuri, acces la metode, referinta vs valoare, primitive, obiecte, == , equals, metoda statica, camp static, control acces: public, private, domeniu de definitie, this, pachete, package, import, java.lang.String, java.lang.System,
Curs3. Recapitulare: mostenire / derivare, extends, static, final, equals. In plus, @Override, javadoc, exceptii, throw, throws, try, catch, finally
Curs4. Recapitulare: mostenire si exceptii. In plus: clasa abstracta, interfata, Java I/O, flux de date
Curs5. Recapitulare. Citire din fisiere, property file Exemplu: afisati cele mai mari 3 medii (si studentii carora le apartin) din fisierul cu formatul de linie: Nume Prenume Nota1 Nota2. https://drive.google.com/open?id=0B5TtS-S1KZFGTEZHMjRQUTJHOGs
Curs6. Socket, System.in, serializare: serialVersionUID, ObjectOutputStream, ObjectInputStream, readObject, writeObject, java.lang.ClassNotFoundException
Cod demo: https://drive.google.com/open?id=0B5TtS-S1KZFGQ2dNUWs3dE95VWc
https://en.wikipedia.org/wiki/OSI_model, https://docs.oracle.com/javase/tutorial/networking/sockets/ , https://docs.oracle.com/javase/tutorial/networking/urls/index.html, http://wiki.dcae.pub.ro/index.php/Serializarea_obiectelor
Curs7. Procese si Thread-uri; start, run, join, interrupt, synchronized, mutex, barrier, semaphore, thread pool, starvation, deadlock
http://docs.oracle.com/javase/tutorial/essential/concurrency/
Cod: https://drive.google.com/open?id=0B5TtS-S1KZFGTjFJQ1RTZ010czA
Curs8 ArrayList....
https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html
Curs9 -
Curs1O. GUI: Java AWT, Java Swing, Layout, Component, Container, Frame/JFrame, Button/JButton, Label, LookAndFeelInfo, ActionListener
request-by-student: redir System.out to JTextArea, inner class
Cod: https://drive.google.com/open?id=0B5TtS-S1KZFGbmxuVkNZUU9LUVU
Curs11. Aplicatii. java.awt.Graphics -setColor, drawLine, drawRect, drawChars, drawArc. Generics, java.util.HashMap, java.util.ArrayList, Properties, property files, Comparable interface.
https://drive.google.com/open?id=0B5TtS-S1KZFGd1pDZW5hVVVURGc
Curs12. Aplicatii. Stabilire grila colocviu (ordonare materie pe note 1->10). Exemplu de subiect.
Curs13. Aplicatii, prezentare proiecte.
Curs14. Aplicatii, feedback.
Pentru primele cursuri, suportul de curs a fost MIT 6.092 (https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-092-introduction-to-programming-in-java-january-iap-2010/lecture-notes/)
Suplimentar vedeti specificatia de limbaj java de la Oracle:
https://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html
http://docs.oracle.com/javase/tutorial/essential/exceptions/index.html
http://docs.oracle.com/javase/tutorial/essential/io/index.html
Limbajul Java este unul singur, pe orice OS, orice arhitectura, si in orice curs.
Important este sa stiti ce inseamna si cum sa folositi conceptele enumerate mai sus
Resurse Externe
Pentru incepatorii care nu stiu programare DELOC: puteti incepe cu: https://www.udemy.com/java-tutorial/
Pentru cursuri interactive vedeti site-urile dedicate (eg. Edx, Coursera, Udacity)
- https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008
- https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-092-introduction-to-programming-in-java-january-iap-2010/
- https://www.edx.org/course/subject/computer-science/java
- https://www.coursera.org/specializations/java-programming
- https://www.coursera.org/learn/object-oriented-java
- http://programmingbydoing.com/
Altele
http://www.tiobe.com/tiobe-index/