cursuri opŢionale de informaticĂ propuse …fmi.unibuc.ro/ro/pdf/2013/secretariat/cursuri... ·...

25
CURSURI OPŢIONALE DE INFORMATICĂ PROPUSE PENTRU ANUL UNIVERSITAR 2013-2014 SEM. I DOMENIUL DE LICENŢĂ: INFORMATICĂ SPECIALIZAREA: INFORMATICĂ

Upload: tranhanh

Post on 02-Feb-2018

234 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CURSURI OPŢIONALE DE INFORMATICĂ PROPUSE …fmi.unibuc.ro/ro/pdf/2013/secretariat/CURSURI... · 5.6 Introducere in lingvistica matematica si computationala 5.7 Metode de numarare

CURSURI OPŢIONALE DE INFORMATICĂ

PROPUSE

PENTRU ANUL

UNIVERSITAR 2013-2014

SEM. I DOMENIUL DE LICENŢĂ:

INFORMATICĂ

SPECIALIZAREA: INFORMATICĂ

Page 2: CURSURI OPŢIONALE DE INFORMATICĂ PROPUSE …fmi.unibuc.ro/ro/pdf/2013/secretariat/CURSURI... · 5.6 Introducere in lingvistica matematica si computationala 5.7 Metode de numarare

Lista cursurilor opţionale – sem. I 5.1 Aplicatii distribuite pe seturi mari de date (Big Data) 5.2 Aplicatii web dezvoltate cu Ruby on Rails 5.3 Cloud Computing 5.4 Concepte geometrice in grafica pe calculator 5.5 Fractali. Grafica computerizata si aplicatii 5.6 Introducere in lingvistica matematica si computationala 5.7 Metode de numarare 5.8 Programare Web utilizand limbajul Java - Servleti

Fiecare student face 5 opțiuni, în ordinea preferințelor

Page 3: CURSURI OPŢIONALE DE INFORMATICĂ PROPUSE …fmi.unibuc.ro/ro/pdf/2013/secretariat/CURSURI... · 5.6 Introducere in lingvistica matematica si computationala 5.7 Metode de numarare

FIȘA UNITĂȚII DE CURS

TITLU: APLICATII DISTRIBUITE PE SETURI MARI DE DATE (BIG DATA) DOMENIUL DE LICENŢĂ: INFORMATICĂ SPECIALIZAREA: INFORMATICĂ STATUTUL: OPȚIONAL NR.ORE/SĂPTĂMÂNĂ: 3 (Curs = 2; Laborator = 1) SEMESTRUL: 5 / anul III de studiu FORMA DE EXAMINARE: VERIFICARE CREDITE: 5

OBIECTIVE:

Cursul își propune să ofere studenților o introducere în tot ce înseamnă dezvoltarea aplicațiilor

internet ce lucrează cu cantități mari de date si au un grad ridicat de scalabilitate, în sistemul de

operare Linux.

În cadrul cursului vor fi prezentate tehnologii de actualitate în manipularea cantităților mari de

date cum ar fi "Apache Hadoop", baze de date nerelaționale și scalabile cum ar fi "MongoDB".

Cursul este unul de tip hands-on, studenții având posibilitatea să pună în practică toate

cunoștințele dobândite.

La finalul cursului, studenții vor putea dezvolta aplicații care manipuleaza cantități mari de date.

PROGRAMĂ:

1. Introducere în universul "BIG DATA".

2. Ce înseamna scalabilitate și de câte feluri este ea.

3. Hadoop: Ce este, ce face, cum face?

4. MapReduce și 'Hadoop Distributed File System'.

5. Configurarea unui cluster Hadoop.

6. Introducere în MongoDB. Scalabilitate pe orizontală prin 'sharding'.

7. Arhitectura aplicațiilor cu nivel ridicat de scalabilitate.

BILBIOGRAFIE:

1. Documentația online Hadoop: http://hadoop.apache.org/docs/current/

2. Alex Holmes, Hadoop in practice, Manning 2012

Page 4: CURSURI OPŢIONALE DE INFORMATICĂ PROPUSE …fmi.unibuc.ro/ro/pdf/2013/secretariat/CURSURI... · 5.6 Introducere in lingvistica matematica si computationala 5.7 Metode de numarare

FIȘA UNITĂȚII DE CURS

TITLU: APLICAȚII WEB DEZVOLTATE CU RUBY ON RAILS DOMENIUL DE LICENŢĂ: INFORMATICĂ SPECIALIZAREA: INFORMATICĂ STATUTUL: OPȚIONAL NR.ORE/SĂPTĂMÂNĂ: 3 (Curs = 2; Laborator = 1) SEMESTRUL: 5 / anul III de studiu FORMA DE EXAMINARE: VERIFICARE CREDITE: 5 OBIECTIVE: Cursul își propune să ofere studenților o introducere în tot ce înseamnă dezvoltarea aplicațiilor web utilizând framework-ul Ruby on Rails, în sistemul de operare Linux. În cadrul cursului va fi prezentată arhitectura MVC (Model-View-Controller), pe care este construit framework-ul Ruby on Rails, precum și alte tehnologii precum HTML5, CSS3, Javascript, XML. Cursul este unul de tip hands-on, studenții având posibilitatea să pună în practică toate cunoștințele dobândite. La finalul cursului, studenții vor putea dezvolta aplicații web conform ultimelor standarde. PROGRAMĂ:

1. Introducere în universul aplicațiilor web. Introducere în MVC. Instalarea și cunoașterea pachetului Ruby on Rails.

2. Structura unei aplicații. Introducere în HTML5, CSS3, Javascript. 3. Sintaxa Ruby on Rails. Testare (TDD). Configurarea mediului de deployment. 4. Modele și vizualizări I. Crearea unei baze de date și operații asupra ei (creare, modificare,

ștergere de utilizatori și parole, etc.). 5. Modele și vizualizări II. Creare de vizualizări (interfață grafică, formulare, metode de

autentificare, înregistrare, etc). 6. C-ul din MVC - controlerul. Sesiuni și securitatea aplicației. 7. Dezvoltarea unei aplicații web.

BILBIOGRAFIE:

1. Ghidul online Ruby on Rails: http://guides.rubyonrails.org/ 2. Michael Hartl, Ruby on Rails 3 Tutorial Book: Learn Rails by Example, Addison-

Wesley, 2010. (http://ruby.railstutorial.org/ruby-on-rails-tutorial-book) 3. Sam Ruby, Dave Thomas, David Heinemeier Hansson, Agile Web Development with

Rails, 4th edition, Pragmatic Programmers, 2011.

Page 5: CURSURI OPŢIONALE DE INFORMATICĂ PROPUSE …fmi.unibuc.ro/ro/pdf/2013/secretariat/CURSURI... · 5.6 Introducere in lingvistica matematica si computationala 5.7 Metode de numarare

FISA UNITATII DE CURS

TITLU: CLOUD COMPUTING DOMENIUL DE LICENŢĂ: INFORMATICĂ SPECIALIZAREA: INFORMATICĂ STATUTUL: optional NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1) SEMESTRUL: 5 / anul III de studiu FORMA DE EXAMINARE: Verificare CREDITE: 5 OBIECTIVE: Scopul cursului este de a prezenta viitorilor specialişti în domeniul IT un mix de tehnologii sub numele de cloud computing care, potrivit predicţiilor Gartner, pînă la sfîrşitul anului 2016, 50% din companiile din Global 1000 vor utiliza servicii din public cloud. Cursul integrează cunoştinţe din zona arhitecturilor de calcul a reţeleor de calculatoare şi programării calculatoarelor într-unul dintre cele mai dinamice domenii ale tehnologiei informaţiei – a se vedea şi experienţa unor universităţi de prestigiu, cum ar fi Stanford, (http://scpd.stanford.edu/search/publicCourseSearchDetails.do?method=load&courseId=11815). Nu sunt vizate, in acest curs, decat aspecte legate de virtualizarea infrastructurilor de calcul şi înţelegerea arhitecturilor de tip public cloud, privat cloud şi hybrid cloud, precum şi utilizarea softwareului şi platformelor de dezvoltare ca serviciu. În contextul problematicii cloud computing vom aduce în discuţie şi subiecte larg dezbătute în comunităţile tehnologice de genul Serviciile WEB din perspectiva SOAP(Simple Object Access Protocol) sau REST(Representational State Transfer). PROGRAMA: 1) Cloud computing-definiţii, tipuri de cloud, caracteristici, avantaje şi dezavantaje, utilizare de standarde deschise. 2) Arhitecturi cloud-stiva cloud computing, conectarea la cloud, sisteme de operare în Cloud: Windows Azure OS, Chrom OS, JolieCloud OS. 3) Abstractizare şi virtualizare-tehnologii de virtualizare, load balancing şi virtualizare, hipervizoare, imagini ale maşinilor virtuale, portarea aplicaţiilor. 4) Servicii şi aplicaţii, SOA(Service Oriented Arhitecture)-Infrastructure as a Service(IaaS), Platform as a Service(PaaS), Software as a Service(SaaS), Identity as a Service(IdaaS), Compliance as Service(CaaS), Security-as-a-Service, ESB(Enterprise Service Bus),BPEL(Business Process Execution Language), Modelarea proceselor de business, Managementul şi monitorizarea SOA, SOA şi Cloud Computing, REST şi Cloud Computing. 5) Planificarea capacităţii de calcul – metrici de bază, metrici de sistem, testarea nivelului de încărcare, tipuri de servere şi instanţe, capacitatea reţelei. 6) Stocarea ca serviciu în CLOUD – Prezentarea serviciilor de stocare, ca fiind persistente şi redundante şi în plus analiza serviciilor:BLOB, QUEUE şi TABLE împreună cu API-ul Windows Azure Storage REST Service. 7) Platforma Windows Azure-software plus servicii, Servicii Windows Azure, Windows Azure AppFabric, SQL Azure. Interconectarea serviciilor cu .NET Service Bus. 8) Transferul aplicaţiilor în cloud- aplicaţii în cloud, asocierea funcţionalităţilor, atributele aplicaţiilor, atributele serviciilor cloud, aplicaţii şi API-uri în cloud

Page 6: CURSURI OPŢIONALE DE INFORMATICĂ PROPUSE …fmi.unibuc.ro/ro/pdf/2013/secretariat/CURSURI... · 5.6 Introducere in lingvistica matematica si computationala 5.7 Metode de numarare

9) Cloud, Grid şi HPC – Prezentarea soluţiilor Amazon Elastic Compute Cloud EC2, TWESTER4Azure şi MR4Azure BIBLIOGRAFIE: [1] B. Sosinsky CLOUD COMPUTING BIBLE, Wiley Publishing Inc., Indianopolis, Indiana,

2011. [2] R. Jennings CLOUD COMPUTING with Windows Azure Platform, Wiley Publishing

Inc., Indianopolis, Indiana, 2009 [3] R. Buyya, J. Broberg, A. Goscinski CLOUD COMPUTING. Principles and Paradigms,

Wiley, Inc., Hoboken, New Jersey, 2011 [4] T.Velte, J. Velte, R. Elsenpeter CLOUD COMPUTING: A Practical Approach,

MacGrow Hill, 2010

Page 7: CURSURI OPŢIONALE DE INFORMATICĂ PROPUSE …fmi.unibuc.ro/ro/pdf/2013/secretariat/CURSURI... · 5.6 Introducere in lingvistica matematica si computationala 5.7 Metode de numarare

FISA UNITATII DE CURS TITLU: CONCEPTE GEOMETRICE IN GRAFICA PE CALCULATOR DOMENIUL DE LICENŢĂ: INFORMATICĂ SPECIALIZAREA: INFORMATICĂ STATUTUL: optional NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1) SEMESTRUL: 5 / anul III de studiu FORMA DE EXAMINARE: Verificare CREDITE: 5 OBIECTIVE: Cursul are doua componente complementare. Prima dintre ele are o natura teoretica: in cadrul cursului vor fi prezentate cateva notiuni si rezultate geometrice esentiale pentru dezvoltarea aplicatiilor grafice, precum si cativa algoritmi de baza in grafica pe calculator. Cea de-a doua componenta are o natura aplicativa si include o introducere in programarea OpenGL si dezvoltarea unor proiecte de grafica pe calculator. Aplicatiile de la laborator, concretizate prin proiecte, vor reprezenta componenta principala a verificarii de la sfarsitul semestrului. PROGRAMA: [1] Primitive grafice. Atribute ale primitivelor grafice. [2] Elemente de geometrie 2D si 3D. [3] Transformari geometrice. [4] Modelarea deplasarii unui obiect. [5] Proiectii paralele si proiectii centrale. [6] Reprezentarea imaginilor 2D. [7] Elemente de grafica 3D. BIBLIOGRAFIE: [1] G. Albeanu, Grafica pe calculator. Algoritmi fundamentali, Editura Universitatii din

Bucuresti, 2001. [2] R. Baciu, Programarea aplicatiilor grafice 3D cu OpenGL, Editura Albastra, 2005. [3] W. Boehm, H. Prautzsch: Geometric Concepts for Geometric Design, AK Peters, Wellesley,

1994. [4] J. Foley, A. van Dam, S. Feiner, J. Hughes, Computer Graphics: Principles and Practice (2nd

edition in C), Addison Wesley, 1995. [5] D. Hearn, M. Baker, Computer Graphics with OpenGL (3rd edition), Prentice Hall, 2003. [6] P. Schneider, D. Eberly, Geometric Tools for Computer Graphics, Morgan Kaufmann, 2003. [7] D. Shreiner, M. Woo, J. Neider, T. Davis, OpenGL Programming Guide, Sixth Edition,

Addison-Wesley, 2008.

Page 8: CURSURI OPŢIONALE DE INFORMATICĂ PROPUSE …fmi.unibuc.ro/ro/pdf/2013/secretariat/CURSURI... · 5.6 Introducere in lingvistica matematica si computationala 5.7 Metode de numarare

FISA UNITATII DE CURS

TITLU: FRACTALI. GRAFICA COMPUTERIZATA SI APLICATII DOMENIUL DE LICENŢĂ: INFORMATICĂ SPECIALIZAREA: INFORMATICĂ STATUTUL: optional NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1) SEMESTRUL: 5 / anul III de studiu FORMA DE EXAMINARE: Verificare CREDITE: 5 OBIECTIVE: Acest curs îşi propune să pună în evidenţă multitudinea de structuri fractalice existente (structuri care şi-au găsit aplicaţii în toate ramurile ştiinţei) şi să dea o perspectivă grafică computerizată a acestora. Pe de altă parte, ca aplicaţii ale fractalilor, obiectivele constau în a modela elemente din natură (care au o structură fractalică) şi de a coda imagini folosind compresia fractală. La sfârşitul cursului studenţii vor fi capabili să reprezinte grafic (incluzând şi funcţii de zoom) în două sau trei dimensiuni structuri geometrice complexe (fractalice) şi să genereze pe calculator peisaje virtuale, hărţi in două sau trei dimensiuni. De asemenea vor şti să codeze imagini cu o rată de compresie superioară standardului jpeg. PROGRAMA: - Noţiuni introductive despre fractali şi dimensiune fractală; - Elemente de grafică computerizată; - Construcţia şi algoritmi iterativi de reprezentare grafică pentru unele tipuri de fractali (curba lui Koch, curba lui Peano, curba lui Sierpinsky, covorul lui Sierpinsky, curba lui Hilbert, curba dragonului, curba C etc.); - Metoda sistemelor de funcţii iterate (IFS) pentru generarea imaginilor fractale. Plante fractale: Feriga Barnsley, copaci, etc. Superfractali. Reprezentări grafice. - Metode sistemelor Lindenmayer pentru generarea imaginilor fractale. Exemple grafice. Plante Lindenmayer. - Sisteme dinamice haotice şi reprezentarea lor fractală: grafica computerizată a unor atractori (Lorenz, Rossler, Ikeda, Henon, Lozi, etc), fractalii Barry Mrtin, Popcorn, Dream, Three Play Orbit, Gumowski-Mira, etc. Fractali de tip Lyapunov. - Grafica computerizată a unor bazine de atracţie. Construcţia unor funcţii de zoom; - Mulţimi fractale obţinute iterativ: exemple şi reprezentări grafice (mulţimi Julia, mulţimi Mandelbrot etc.) Reprezentări 3D ale acestor tipuri de fractali. - Modelarea unor plante: metode iterative de generare a plantelor, modelarea mutaţiilor, încrucişărilor, generarea structurilor arborescente (copaci), modelare unor inflorescenţe, elemente de reprezentare 3D a plantelor. Reprezentări grafice computerizate; - Algoritmul punctului de mijloc şi a pătratului de diamant ca algoritmi fundamentali în generarea peisajelor fractale ; - Modelarea unor forme de relief . Munţi : siluete muntoase, munţi 3D ; Bazine hidrografice ; Modelarea ţărmurilor, insulelor. Generarea hărţilor virtuale . Reprezentări grafice computerizate; - Modelarea altor elemente din natură : fulgi de zăpadă, nori, galaxii, plasmă, etc. Reprezentări grafice computerizate; - Interpolarea fractală (ca metodă a compresiei fractale): transformarea prin interpolare a unui fractal. Exemple grafice computerizate;

Page 9: CURSURI OPŢIONALE DE INFORMATICĂ PROPUSE …fmi.unibuc.ro/ro/pdf/2013/secretariat/CURSURI... · 5.6 Introducere in lingvistica matematica si computationala 5.7 Metode de numarare

- Prelucrarea imaginilor: codarea (compresia) fractală. Algoritmi. Compararea cu alte forme de compresie. BIBLIOGRAFIE: [1] Karl-Heinz Becker, Michael Dorfler – Dynamical systems and fractals, Computer graphics. - Cambridge University Press, 1991. [2] Benoit Mandelbrot – Obiectele fractale, Editura Nemira, 1998. [3] Dick Olivier – Fractali, Editura Teora, 1996. [4] G. Cherbit (editor) – Dimensions non entieres et applications – MASSON – 1991. [5] Heinz-Otto Peitgen, Hartmut Jurgens, Dietmar Saupe – Chaos and Fractals – SPRINGER-VERLAG – 2004. [6] Gilbert Helmberg – Getting Acquainted with Fractals - Walter de Gruyter – 2007. [7] Jaap A. Kaandorp - Fractal Modelling. Growth and Form in Biology – SPRINGER-VERLAG – 1994. [8] Michael Barnsley, Hawley Rising. - Fractals Everywhere. Boston: Academic Press Professional, 1993. [9] Yuval Fisher (editor) - Fractal image encoding - SPRINGER-VERLAG – 1998. [10] Radu Dobrescu, Catalin Vasilescu (editori) - Interdisciplinary applications of fractal and chaos theory – Editura Academiei, 2004.

Page 10: CURSURI OPŢIONALE DE INFORMATICĂ PROPUSE …fmi.unibuc.ro/ro/pdf/2013/secretariat/CURSURI... · 5.6 Introducere in lingvistica matematica si computationala 5.7 Metode de numarare

FISA UNITATII DE CURS TITLU: INTRODUCERE IN LINGVISTICA MATEMATICA SI COMPUTATIONALA DOMENIUL DE LICENŢĂ: INFORMATICĂ SPECIALIZAREA: INFORMATICĂ STATUTUL: optional NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1) SEMESTRUL: 5 / anul III de studiu FORMA DE EXAMINARE: Verificare CREDITE: 5 OBIECTIVE: Cursul isi propune sa ofere studentilor o perspectiva asupra domeniului. Fiecare tema abordata va fi insotita de aplicatii concrete care vor viza diverse aspecte ale limbajului. Acolo unde se va putea aplicatiile vor fi facute pe limba romana. Vor fi abordate aspecte computationale, cantitative si formale ale limbajelor. PROGRAMA: [1] Lectie de deschidere. Probleme curente in lingvistica matematica si computationala [2] Aspecte cantitative ale limbajului natural. Aplicatii [3] Similaritate si Clasificare a limbilor indo-europene. [4] Analiza computationala a morfologiei limbii romane: conjugarea automata a verbelor,

analiza computationala a pluralului. [5] Recunoasterea autorului unor texte cu autor controversat. Aplicatii [6] Categorizare automata de texte. [7] Detectarea de colocatii [8] Traducere automata si dezambiguizare. [9] Analiza computationala a opiniilor, sentiment analysis. BIBLIOGRAFIE: [1] G. Altmann (ed). Handbook of Quantitative Linguistics, 2003 [2] R. Dale (ed) The Handbook of Natural Language Processing, Marcel Dekker, New York,

2000. [3] Liviu P. Dinu. Metode Formale si de Clasificare in Lingvistica Matematica si

Computationala. Ed. Universitatii Bucuresti, 2004. [4] Liviu P. Dinu. Rank distance and applications. Ed. Universitatii Bucuresti, 2011 [5] Manning, C., H. Schutze. Foundations of statistical natural language processing, MIT Press,

1999 [6] Mosteller, Frederick and David L. Wallace. Inference and Disputed Authorship. Distributed

for the Center for the Study of Language and Information. 320 p. 6 x 9 Series: (CSLI-DHS) Center for the Study of Language and Information - The David Hume Series, 2007

[7] Arhivele revistelor: Computational Linguistics, Literary and Linguistic Computing, Quantitative Linguistics

[8] Volumele conferintelor patronate de ACL (ACL, EACL, COLING, CICLING, RANLP). Disponibile on-line la http://aclweb.org/anthology-new/

Page 11: CURSURI OPŢIONALE DE INFORMATICĂ PROPUSE …fmi.unibuc.ro/ro/pdf/2013/secretariat/CURSURI... · 5.6 Introducere in lingvistica matematica si computationala 5.7 Metode de numarare

FISA UNITATII DE CURS

TITLU: METODE DE NUMARARE DOMENIUL DE LICEŢĂ: INFORMATICĂ SPECIALIZAREA: INFORMATICĂ STATUTUL: optional R.ORE/SAPTAMANA: 3 (Curs = 2; Seminar = 1) SEMESTRUL: 5 / anul III de studiu FORMA DE EXAMINARE: Verificare CREDITE: 5 OBIECTIVE: Cursul isi propune o introducere in teoria numararii cu largi aplicatii in toate domeniile teoretice si practice ale cercetarii matematice. Astfel, cursul se adreseaza atat studentilor care vor sa devina profesori cat si celor ce vor sa se specializeze in informatica sau care doresc sa-si continue activitatea de cercetare in cadrul unui program de studii aprofundate sau de doctorat. Sunt necesare cunostinte minime de algebra de anul I. Temele tratate in acest curs pot constitui punctul de plecare pentru elaborarea lucrarii de licenta. PROGRAMA: 1. Principii de numarare. 2. Inegalitatile lui Bonferroni si Hunter. Aplicatii. 3. Functii de numarare. Numere Stirling, Bell, Fibonacci, Catalan si Lucas. 4. Drumuri laticiale. 5. Formule de inversiune binomiala si Stirling. 6. Numararea arborilor. Teoremele lui Cayley, Temperley, Austin. 7. Functii generatoare. 8. Teoria lui Polya. 9. Aplicatii in teoria probabilitatilor si teoria numerelor. BIBLIOGRAFIE: [1] Aigner Martin: Combinatorial Theory, Springer-Verlag, 1979. [2] Bondy J. A.,Murty U. S. R.: Graph theory with Applications, The Macmillam Press ltd. 1977. [3] Popescu Dragos-Radu: Combinatorica si teoria grafurilor, Societatea de Stiinte Matematice din Romania, 2005. [4] Tomescu Ioan: Probleme de combinatorica si teoria grafurilor, Ed. Didactica si Pedagogica, 1981. [5] Wilf, H. S.: Generatingfunctionology, 2nd ed. New York: Academic Press, 1994.

Page 12: CURSURI OPŢIONALE DE INFORMATICĂ PROPUSE …fmi.unibuc.ro/ro/pdf/2013/secretariat/CURSURI... · 5.6 Introducere in lingvistica matematica si computationala 5.7 Metode de numarare

FISA UNITATII DE CURS TITLU: PROGRAMARE WEB UTILIZAND LIMBAJUL JAVA – SERVLETI DOMENIUL DE LICENŢĂ: INFORMATICĂ SPECIALIZAREA: INFORMATICĂ STATUTUL: optional NR.ORE/SAPTAMANA: 3 (Curs = 2; Seminar = 1) SEMESTRUL: 5 / anul III de studiu FORMA DE EXAMINARE: Verificare CREDITE: 5

PROGRAMA: I. Preliminarii I.1 Despre arhitectura client-server: I.2 Aplicatii de tip web: I.3 Dezvoltarea de aplicatii WEB pe WINDOWS utilizând server-ul Tomcat. I.4 Exemplu de realizare si execuţie a celui mai simplu servlet II. Servleţi. II.1 Elemente de bază II.2 Servleţi şi package-uri. II.3 Alte detalii despre servleţi II.4 Parametrii de iniţializare II.5 Proiectarea unui client de Web II.6 Parametrii unui servlet II.7 Invocarea servletilor din HTML II.8 Caractere speciale in textul HTML II.9 Utilizarea headerelor cererii trimise de către client II.10 Transmiterea răpunsului în formă compactată II.11 Protejarea paginilor cu ajutorul parolelor II.12 Variabile CGI (Common Gateway Interface) II.13 Codul de răspuns al servletului II.14 Headerele răspunsului II.15 Utilizarea conexiunilor persistente II.16 Obiectele din clasa Cookie II.17 Gestionarea sesiunilor BIBLIOGRAFIE: [1] Athanasiu, Irina; Costinescu, Bogdan; Drăgo, Octavian Andrei; Popovici, Florentina Irina; Gaburici, Vasile, Limbajul Java - O Perspectivă pragmatică Agora, 2000 [2] Baranga A.,Programare Web Utilizand JAVA, Editura Albastra, Cluj-Napoca, 2007 [3] Hall, Marty, Core Servlets and JavaServer Pages (JSP), Prentice Hall PTR, 2000

Page 13: CURSURI OPŢIONALE DE INFORMATICĂ PROPUSE …fmi.unibuc.ro/ro/pdf/2013/secretariat/CURSURI... · 5.6 Introducere in lingvistica matematica si computationala 5.7 Metode de numarare

CURSURI OPŢIONALE DE INFORMATICĂ

PROPUSE

PENTRU ANUL UNIVERSITAR 2013-2014

SEM. II

DOMENIUL DE LICENŢĂ:

INFORMATICĂ

SPECIALIZĂRILE: INFORMATICĂ

MATEMATICĂ-INFORMATICĂ

Page 14: CURSURI OPŢIONALE DE INFORMATICĂ PROPUSE …fmi.unibuc.ro/ro/pdf/2013/secretariat/CURSURI... · 5.6 Introducere in lingvistica matematica si computationala 5.7 Metode de numarare

Lista cursurilor optionale – sem. II 6.1 Algoritmi genetici. Aplicatii in bioinformatica si web mining 6.2 Aplicatii mobile pentru iOS 6.3 Data warehouse 6.4 Initiere in cercetare si bioinformatica 6.5 Metode de instruire automata cu aplicatii in imagistica medicala 6.6 Programare Web utilizand limbajul Java-JSP 6.7 Programarea interfetelor web pentru baze de date utilizand PHP si MySQL 6.8 Tehnici de programare a aplicatiilor grafice 6.9 Testarea sistemelor software

Fiecare student face 5 opțiuni, în ordinea preferințelor

Page 15: CURSURI OPŢIONALE DE INFORMATICĂ PROPUSE …fmi.unibuc.ro/ro/pdf/2013/secretariat/CURSURI... · 5.6 Introducere in lingvistica matematica si computationala 5.7 Metode de numarare

FISA UNITATII DE CURS TITLU: ALGORITMI GENETICI. APLICATII IN BIOINFORMATICA SI WEB

MINING DOMENIUL DE LICENŢĂ: INFORMATICĂ (MATEMATICA) SPECIALIZAREA: INFORMATICĂ (MATEMATICA-INFORMATICA) STATUTUL: optional NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1) SEMESTRUL: 6 / anul III de studiu FORMA DE EXAMINARE: Verificare CREDITE: 5 (3) OBIECTIVE: Cursului isi propune sa completeze cunostintele necesare urmarii ulterioare, de catre studenti, a unor programe de Masterat/ Doctorat in domeniul Inteligentei Artificiale si a Bioinformaticii. La laborator se va lucra in Matlab (toolbox-ul Bioinformatics dar nu numai) PROGRAMA: - Algoritmi genetici –AG - Clasificare supervizata cu AG - Clasificare nesupervizata cu AG - AG in bioinformatica - AG in Web Mining BIBLIOGRAFIE SELECTIVA: Bandyopadhyay, S. &Pal, S.K. (2007) Classification and Learning using Genetic Algorithms, Springer

Page 16: CURSURI OPŢIONALE DE INFORMATICĂ PROPUSE …fmi.unibuc.ro/ro/pdf/2013/secretariat/CURSURI... · 5.6 Introducere in lingvistica matematica si computationala 5.7 Metode de numarare

FIȘA UNITĂȚII DE CURS

TITLU: APLICAȚII MOBILE PENTRU IOS DOMENIUL DE LICENȚĂ: INFORMATICĂ (MATEMATICĂ) SPECIALIZAREA: INFORMATICĂ (MATEMATICĂ- INFORMATICĂ) STATUTUL: OPȚIONAL NR. ORE / SĂPTĂMÂNĂ: 3 (Curs = 2; Laborator = 1) SEMESTRUL: 6 / anul III de studiu FORMA DE EXAMINARE: Verificare CREDITE: 5 OBIECTIVE: Cursul prezintă principiile de bază ale dezvoltării aplicațiilor mobile utilizând limbajul de programare Objective-C în sistemul de operare iOS. În cadrul cursului vor fi prezentate atât particularitățile limbajului Objective-C, cât și cele mai bune practici de dezvoltare de aplicații mobile. În cadrul laboratorului va fi prezentat mediul de dezvoltare Xcode. PROGRAMĂ: - Dezvoltarea de aplicații mobile în general: diferența între dezvoltarea de aplicații

Desktop și aplicații mobile, limitările și capacitățile dispozitivelor mobile, generalități despre mediile de dezvoltare de aplicații mobile (Android, Windows 8, iOS).

- Introducere în Objective-C: tehnologia iOS, conceptul de design MVC, mecanismele de bază ale limbajului Objective-C, introspecția, framework-ul Foundation, protocoale.

- View: obiectul UIView, subclase custom ale lui UIView, metode de desenare, suport pentru auto-rotație, tehnici de recunoaștere a gesturilor.

- Controller: ciclul de viață al unui UIViewController, controller-e de navigație în aplicație (UINavigationController și UITabBarController), tranziții între controller-e.

- Controale UI standard (framework-ul UIKit): UITableView, UIImageView, UIScrollView, UIWebView, etc.

- Folosirea capacităților telefonului: serviciul de localizare GPS, accelerometrul, busola, integrarea harților, etc.

- Persistența datelor: liste de proprietăți, arhivarea obiectelor, SQLite, CoreData, etc. - Topici avansate: transmiterea de notifcări între obiecte, categorii, blocuri, măsurarea

performanței aplicației. BIBLIOGRAFIE:

• Documentația Apple: https://developer.apple.com/library/ios/navigation/ • Erik Buck, Donald Yacktman. Cocoa Design Patterns. Addison-Wesley, 2009. • Stephen Kochan. Programming in Objective-C. Sams Publishing, 2004. • Matt Neuburg. Programming iOS 4. O’Reilly Media Inc., 2011. • Scott Stevenson. Cocoa and Objective-C: Up and Running. O’Reilly Media Inc., 2010.

Page 17: CURSURI OPŢIONALE DE INFORMATICĂ PROPUSE …fmi.unibuc.ro/ro/pdf/2013/secretariat/CURSURI... · 5.6 Introducere in lingvistica matematica si computationala 5.7 Metode de numarare

FIȘA UNITĂȚII DE CURS

TITLU: DATA WAREHOUSE DOMENIUL DE LICENŢĂ: INFORMATICĂ (MATEMATICA) SPECIALIZAREA: INFORMATICĂ (MATEMATICA-INFORMATICA) STATUTUL: optional NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1) SEMESTRUL: 6 / anul III de studiu FORMA DE EXAMINARE: Verificare CREDITE: 5 (3)

OBIECTIVE: - Familiarizarea cu cele mai noi concepte de stocare a datelor istorice prin integrarea

acestora într-o singură structură care constituie baza pentru aplicațiile de Business Intelligence.

- Însuşirea tehnicilor de modelare, proiectare şi optimizare specifice tehnologiei Data Warehouse.

- Exploatarea acestor tipuri de baze de date cu scopul de a obţine informaţii necesare în procesul de luare a deciziilor la nivel managerial.

PROGRAMA: 1. Modelarea şi implementarea unei baze de date de tip Data Warehouse (Componente arhitecturale în Data Warehouse. Data Mart-uri. Modelarea dimensională. Fapte şi dimensiuni. Schema stea. Schema fulg. Extragerea, transformarea, transportul şi încărcarea datelor în Data Warehouse). 2. Tehnici de optimizare în Data Warehouse (Constrângeri de integritate pentru modele dimensionale. Indecşi specifici modelului dimensional. Obiecte de tip dimensiune. Dependenţe prin ierarhii. Partiţionare şi paralelism în Data Warehouse. Rescrierea cererilor utilizând vizualizări materializate). 3. Data Warehouse – componentă esențială a oricărei strategii de Business Intelligence. 4. Interogarea eficientă şi analiza datelor în scopuri decizionale (Definirea ferestrelor pentru agregări. Funcţii de clasare. Funcţii pentru analiză). BIBLIOGRAFIE: 1. Inmon W., Bulding the Data Warehouse, J.Wiley, 2005 2. Kimball R., Ross M., Thornthwaite W., Mundy J., Becker B., The Data Warehouse Lifecycle Toolkit: Practical Techniques for Building Data Warehouse and Business Intelligence Systems, J.Wiley, 2007

3. *** - Oracle11g Database Data Warehousing Guide, Oracle Corporation, 2010

Page 18: CURSURI OPŢIONALE DE INFORMATICĂ PROPUSE …fmi.unibuc.ro/ro/pdf/2013/secretariat/CURSURI... · 5.6 Introducere in lingvistica matematica si computationala 5.7 Metode de numarare

FIȘA UNITĂȚII DE CURS

TITLU: INIȚIERE ÎN CERCETARE ȘI BIOINFORMATICĂ DOMENIUL DE LICENŢĂ: INFORMATICĂ (MATEMATICA) SPECIALIZAREA: INFORMATICĂ (MATEMATICA-INFORMATICA) STATUTUL: optional NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1) SEMESTRUL: 6 / anul III de studiu FORMA DE EXAMINARE: Verificare CREDITE: 5 (3) OBIECTIVE: Cursul se adreseaza studentilor interesati in cercetare in bioinformatica. Studentii vor fi expusi atat la elemente de baza din bioinformatica cat si la si rezultate recente din bioinformatica si biologia sistemelor. Studentii vor dobandi la acest curs si experienta in cercetare: cum se citeste o lucrare, structurarea lucrarilor stiintifice, cum se scrie o lucrare stiintifica, modelul de recenzie al lucrarilor stiintifice: peer-review, clasificarea revistelor si a conferintelor. PROGRAMĂ: 1. Notiuni elementare de biologie celulara, genetica si biochimie. 2. Experimentul lui Adleman pentru rezolvarea unei probleme NP completa folosind ADN si unelte biochimice. 3. Experimentul lui Lipton pentru rezolvarea SAT, alte rezultate din calculabilitatea bazata pe ADN. 4. Autoasamblare: experimentele lui Eric Winfree, Ned Seeman, Paul Rothemund, etc. 5. Alinierea secventelor (sequence alignment): Algoritmii optimali de aliniere pentru secvente ADN sau proteine, pentru aliniere globala sau locala: Smith-Waterman, Needlman- Wunsch. Algoritmii heuristici pentru alinieri: Blast si variante, Fasta, PatternHunter, PatternHunter2. 6. Biologie evolutionara: Aliniere afina, matrici de substituire: BLOSUM50, BLOSUM62, PAM150, aliniere multipla. 7. Modele abstracte de calculabilitate bazata pe ADN si celule: Sisteme H, Sisteme P. 8. Introducere in cercetare: revista, articol, peer-review, referinte, cuvinte cheie, factor de impact pentru revista, LaTeX, ordinea autorilor, structurarea articolelor, elemente introductive despre redactarea tehnica. BILBIOGRAFIE: 1. Leonard M. Adleman, Molecular computation of solutions to combinatorial problems, Science, Vol. 266, Iss. 5187, 1994, pp. 1021-1024. 2. Richard J. Lipton, DNA Solution of Hard Computational Problems, Science, Vol. 268, Iss. 5210, 1995, pp. 542-545. 3. Erik Winfree, Furong Liu, Lisa A. Wenzler, Nadrian C. Seeman, Design and self-assembly of two-dimensional DNA crystals, Nature, Vol. 394, 1998, pp. 539-544 4. Paul W. K. Rothemund, Folding DNA to create nanoscale shapes and patterns, Nature, Vol. 440, 2006, pp. 297-302 5. Arthur M. Lesk, Introduction to Bioinformatics, Oxford University Press, 2002, 290 pp., ISBN: 0199251967. 6. Neil C. Jones, Pavel A. Pevzner, An Introduction to Bioinformatics Algorithms (Computational Molecular Biology), The MIT Press, 2004, 456 pp., ISBN: 0262101068.

Page 19: CURSURI OPŢIONALE DE INFORMATICĂ PROPUSE …fmi.unibuc.ro/ro/pdf/2013/secretariat/CURSURI... · 5.6 Introducere in lingvistica matematica si computationala 5.7 Metode de numarare

7. Gheorghe Paun, Grzegorz Rozenberg, Arto Salomaa, The Oxford Handbook of Membrane Computing, Oxford University Press, 2010, 696 pp., ISBN: 0199556679. 8. Temple F Smith, Michael S Waterman, Comparison of biosequences, Advances in Applied Mathematics, Vol 2, Iss. 4, 1981, pp. 482-489. 9. Saul B. Needleman, Christian D. Wunsch, A general method applicable to the search for similarities in the amino acid sequence of two proteins, Journal of Molecular Biology, Vol. 48, Iss. 3, 1970, pp. 443-453. 10: Steven Henikoff, Jorja G. Henikoff, Amino acid substitution matrices from protein blocks, PNAS, Vol. 89, 1992, pp. 10915-10919. 11. Stephen F. Altschul, Warren Gish, Webb Miller, Eugene W. Myers, David J. Lipman, Basic local alignment search tool, Journal of Molecular Biology, Vol. 215, Iss. 3, 1990, pp. 403-410. 12. Bin Ma, John Tromp, Ming Li, PatternHunter: faster and more sensitive homology search, Bioinformatics, Vol. 18, Iss. 3, 2002, pp. 440-445.

Page 20: CURSURI OPŢIONALE DE INFORMATICĂ PROPUSE …fmi.unibuc.ro/ro/pdf/2013/secretariat/CURSURI... · 5.6 Introducere in lingvistica matematica si computationala 5.7 Metode de numarare

FISA UNITATII DE CURS TITLU: METODE DE INSTRUIRE AUTOMATA CU APLICATII ÎN IMAGISTICA MEDICALA DOMENIUL DE LICENŢĂ: INFORMATICĂ (MATEMATICA) SPECIALIZAREA: INFORMATICĂ (MATEMATICA-INFORMATICA) STATUTUL: optional NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1) SEMESTRUL: 6 / anul III de studiu FORMA DE EXAMINARE: Verificare CREDITE: 5 (3) OBIECTIVE: Obiectivul acestui curs este studierea unor metode și tehnici de instruire automată nesupervizată și supervizată și implementarea algoritmilor de instruire automată. Sintagma imagistica medicală se referă la obținerea de informații privind starea fiziologică ori patologică, pe baza interpretării imaginii unei porțiuni a corpului. Metodele de clasificare a imaginilor pot fi utilizate în aplicații de recunoaștere a formelor pentru imagini medicale (microscopie electronică, imagini RMN, tomografii, ecografii etc.). PROGRAMA: [1] Tipuri de imagini în imagistica medicală; model de procesare a imaginilor medicale. [2] Formele și recunoașterea formelor: caracteristici calitative și cantitative; extragerea și

selecția caracteristicilor; măsuri de similaritate și disimilaritate. [3] Tehnici de instruire supervizată: regula celor mai apropiați k vecini; funcții de discriminare;

metode de cluster implementate pe arhitecturi neuronale (algoritmul perceptron, perceptronul multistrat); regula lui Bayes; arbori de decizie; entropia - măsură a omogenității; algoritmul ID3; mașini pe vectori suport (introducere în teoria Vapnik-Chervonenkis, hiperplanul optim de separare, hiperplanul optim de separare generalizat, funcții nucleu, generalizare în spațiu asociat multidimensional).

[4] Tehnici de instruire nesupervizată: analiza componentelor principale; metoda celor mai mici pătrate; metoda nucleelor dinamice; algoritmi de clasificare ierarhici, algoritmi de clasificare secvențiali (algoritmul k-means, algoritmul ISODATA).

[5] Aplicații ale algoritmilor studiați în recunoașterea formelor în imagistica medicală. BIBLIOGRAFIE: [1] Charles L. Epstein, Introduction to the Mathematics of Medical Imaging, SIAM,

Philadelphia, 2008. [2] Md. Mahmudur Rahman, B.C. Desai, P. Bhattacharya, Supervised Machine Learning based

Medical Image Annotation and Retrieval, ImageCLEFmed 2005. CLEF 2005: 692-701. [3] Anke Meyer-Base, Pattern Recognition for Medical Imaging, Elsevier Inc., 2004. [4] L. State, I. Paraschiv-Munteanu, Introducere în teoria statistica a recunoasterii formelor,

Editura Universitatii din Pitești, 2009. [5] L. State, I. Paraschiv-Munteanu, N. Popescu-Bodorin, Blood corpuscles classification

schemes for automated diagnosis of hepatitis, Universitatea din Pitesti - Buletin Stiintific, Seria Matematica si Informatica, 14, 2008.

[6] Vapnik V.N., Statistical Learning Theory, New York, Wiley, 1998.

Page 21: CURSURI OPŢIONALE DE INFORMATICĂ PROPUSE …fmi.unibuc.ro/ro/pdf/2013/secretariat/CURSURI... · 5.6 Introducere in lingvistica matematica si computationala 5.7 Metode de numarare

FISA UNITATII DE CURS TITLU: PROGRAMAREA INTERFEŢELOR WEB PENTRU BAZE DE DATE UTILIZÂND PHP SI MYSQL DOMENIUL DE LICENŢĂ: INFORMATICĂ (MATEMATICA) SPECIALIZAREA: INFORMATICĂ (MATEMATICA-INFORMATICA) STATUTUL: optional NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1) SEMESTRUL: 6 / anul III de studiu FORMA DE EXAMINARE: Verificare CREDITE: 5 (3) OBIECTIVE: Cursul prezintă noţiuni fundamentale, tehnici si tehnologii care stau la baza paginilor web ce utilizează baze de date. Studenţii care vor urma acest curs vor dobândi experienţă în utilizarea PHP si MySQL, aplicate în crearea si prelucrarea paginilor web. Dintre obiectivele cursului menţionăm: - însusirea celor mai importante tehnologii si dobândirea aptitudinilor necesare dezvoltării

si gestiunii paginilor web dinamice; - prezentarea si utilizarea limbajului PHP, precum si a modalităţilor de stocare si regăsire a

datelor utilizând server-ul de baze de date MySQL; - aplicarea noţiunilor prezentate la curs pentru rezolvarea unor probleme specifice întâlnite

în dezvoltarea paginilor web. PROGRAMA: [1] Introducere în PHP: HTML vs. PHP, aplicaţii web dinamice, procesarea la nivel de client vs procesarea la nivel de server, avantaje si functionalităţi ale PHP, configurarea fisierului PHP.INI. [2] Utilizarea server-ului web Apache: instalare, configurare, host-uri virtuale, proprietăţi etc. [3] Elemente de programare PHP: operatori, funcţii, tablouri etc. [4] Prelucrarea fisierelor de date în PHP: căutare, editare, securitate, gestiunea directoarelor etc. [5] Configurarea si utilizarea server-ului de baze de date MySQL: instalare si configurare, conectare, funcţii specifice, apeluri SQL, utilitare pentru administrarea bazei de date. [6] Lucrul cu baze de date si formulare: configurarea PHP pentru interacţiunea cu baza de date, interfeţe de programare specifice, lucrul cu formulare, utilizarea cookie-urilor etc. [7] Generarea imaginilor, documentelor PDF si Excel utilizând PHP. [8] Programare orientată pe obiecte în PHP. BIBLIOGRAFIE: [1] Welling L., Thomson L., PHP and MySQL Web Development, Addison Wesley, 2008. [2] Ullman L., PHP 6 and MySQL 5 for Dynamic Web Sites: Visual QuickPro Guide, Peachpit Press, 2007. [3] Williams H., Lane D., Web Database Applications with PHP & MySQL, O'Reilly Media, 2004. [4] Curioso A., Bradford R., Galbraith P., Expert PHP and MySQL, Wrox, 2010.

[5] Suehring S., Converse T., Park J., PHP6 and MySQL Bible, Wiley, 2009.

Page 22: CURSURI OPŢIONALE DE INFORMATICĂ PROPUSE …fmi.unibuc.ro/ro/pdf/2013/secretariat/CURSURI... · 5.6 Introducere in lingvistica matematica si computationala 5.7 Metode de numarare

FISA UNITATII DE CURS TITLU: PROGRAMARE WEB UTILIZAND LIMBAJUL JAVA – JSP DOMENIUL DE LICENŢĂ: INFORMATICĂ (MATEMATICA) SPECIALIZAREA: INFORMATICĂ (MATEMATICA-INFORMATICA) STATUTUL: optional NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1) SEMESTRUL: 6 / anul III de studiu FORMA DE EXAMINARE: Verificare CREDITE: 5 (3) PROGRAMA: I.Java Server Pages (JSP) I.1 Generalităţi I.2 Elemente de cod JAVA în JSP I.3 Atribute şi metode ale unei clasa obţinută din JSP I.4 Alte directiva JSP I.5 Tratarea exceptiilor în paginile JSP I.6 Includerea de fişiere în paginile JSP I.7 Invocarea applet-urilor din JSP I.8 Utilizarea claselor de tip Java Bean în JSP I.9 Tag-uri I.10 Clasa BodyTagSupport II. Alte tehnici diverse folosite în programarea Web II.1 Redirecţionarea cererilor către alte pagini II.2 Folosirea formularelor HTML II.3 Folosirea applet-urilor ca interfete pentru servleţi III. Arhitectura three-tier III.1 Accesarea bazelor de date utilizând JDBC III.2 Principalii paşi în lucrul cu JDBC şi bazele de date III.3 Câteva exemple de lucru cu JDBC şi bazele de date III.4 Obiectele de tip PreparedStatement şi CallableStatement III.5 Tehnica de conectare Connection Pool pentru aplicaţii Web BIBLIOGRAFIE: [1] Athanasiu, Irina; Costinescu, Bogdan; Drăgo, Octavian Andrei; Popovici, Florentina Irina; Gaburici, Vasile, Limbajul Java - O Perspectivă pragmatică Agora, 2000 [2] Baranga A.,Programare Web Utilizand JAVA, Editura Albastra, Cluj-Napoca, 2007 [3] Hall, Marty, Core Servlets and JavaServer Pages (JSP), Prentice Hall PTR, 2000

Page 23: CURSURI OPŢIONALE DE INFORMATICĂ PROPUSE …fmi.unibuc.ro/ro/pdf/2013/secretariat/CURSURI... · 5.6 Introducere in lingvistica matematica si computationala 5.7 Metode de numarare

FISA UNITATII DE CURS

TITLU: TEHNICI DE PROGRAMARE A APLICATIILOR GRAFICE DOMENIUL DE LICENŢĂ: INFORMATICĂ (MATEMATICA) SPECIALIZAREA: INFORMATICĂ (MATEMATICA-INFORMATICA) STATUTUL: optional NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1) SEMESTRUL: 6 / anul III de studiu FORMA DE EXAMINARE: Verificare CREDITE: 5 (3) OBIECTIVE: Obiectivul cursului este de a prezenta tehnici avansate de programare grafica 3D folosind OpenGL, precum si fundamentele teoretice ale acestor metode de lucru. Cursul va fi completat de un laborator, unde vor fi realizate proiecte care sa ilustreze conceptele si rezultatele expuse si care vor reprezenta componenta principala a verificarii semestriale. PROGRAMA: [1] Detectarea suprafetelor vizibile. [2] Modele de iluminare si umbrire. [3] Modele de colorare. [4] Texturarea suprafetelor. [5] Aplicatii grafice interactive. [6] Animatie pe calculator. BIBLIOGRAFIE: [1] G. Albeanu, Grafica pe calculator. Algoritmi fundamentali, Editura Universitatii din

Bucuresti, 2001. [2] R. Baciu, Programarea aplicatiilor grafice 3D cu OpenGL, Editura Albastra, 2005. [3] D. Hearn, M. Baker, Computer Graphics with OpenGL (3rd edition), Prentice Hall, 2003. [4] P. Schneider, D. Eberly, Geometric Tools for Computer Graphics, Morgan Kaufmann, 2003. [5] P. Shirley, M. Ashikhmin, M. Gleicher, S. Marschner, E. Reinhard, K. Sung, W. Thompson,

P. Willemsen, Fundamentals of Computer Graphics (2nd edition), AK Peters, Wellesley, 2005.

[6] D. Shreiner, M. Woo, J. Neider, T. Davis, OpenGL Programming Guide, Sixth Edition, Addison-Wesley, 2008.

Page 24: CURSURI OPŢIONALE DE INFORMATICĂ PROPUSE …fmi.unibuc.ro/ro/pdf/2013/secretariat/CURSURI... · 5.6 Introducere in lingvistica matematica si computationala 5.7 Metode de numarare

FISA UNITATII DE CURS TITLU: TESTARE SISTEMELOR SOFTWARE DOMENIUL DE LICENŢĂ: INFORMATICĂ (MATEMATICA) SPECIALIZAREA: INFORMATICĂ (MATEMATICA-INFORMATICA) STATUTUL: optional NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1) SEMESTRUL: 6 / anul III de studiu FORMA DE EXAMINARE: Verificare CREDITE: 5 (3) OBIECTIVE: Cursul prezinta principalele tehnici si metode de testare a sistemelor software. Sunt prezentate atat metodele ingineresti de larga utillizare practica, cat si metode teoretice si/sau care fac obiectul cercetarilor recente. PROGRAMA: 1. Testarea sistemelor software: probematica; testare vs verificare formala; tehnici de

generare de date de test; unit testing; JUnit. 2. Metode de testare functionala (black-box): partitionarea ın clase de echivalenta, analiza

valorilor de frontiera; metoda partitionarii in categorii, testarea folosind analiza cauza-efect. 3. Metode de testare structurala (white-box): acoperiri la nivel de instructiune, ramura,

conditie/decizie, conditii multiple, etc.; complexitatea ciclomatica (McCabe), generarea de circuite liniar independente; strategii de generare de date de test la nivel de cale; utilitare de code coverage.

4. Testarea bazata pe mutatie (mutation testing): weak mutation, strong mutation; operatori de mutatie; utilizarea mutantilor pentru evaluarea seturilor de test; utilitarul MuJava.

5. Generarea datelor de test folosind metode de cautare metaeuristice: metode de cautare locale si metode globale; folosirea metodelor metaeuristice in testarea structurala si testarea functionala.

6. Metode de testare bazate pe formalisme cu stari: metodele W, Wp(W partial), UIO (unique input/output), DS (distinguishing sequence) pentru masini cu stari finite; testare bazata pe formalisme extinse cu stari (extended finite state machines).

7. Testare si analiza pe baza modelului: proprietati de safety si liveness, invarianti, stari acceptoare, stari moarte; explorarea scenariilor folosind compunere de automate; tehnici de reducere a modelului (pruning techniques); exemplificare folosind utilitarul NModel.

BIBLIOGRAFIE: 1. MuJava home page: http://cs.gmu.edu/~offutt/mujava 2. MuClipse home page http://muclipse.sourceforge.net/ 3. NModel home page http://nmodel.codeplex.com/ 4. M. Holcombe, F. Ipate: Correct Systems: building business process solutions, Springer

Verlag, 1998. 5. F. Ipate: Testare functionala; Testare structurala; Mutation testing; Search based testing –

note de curs. 6. J. Jacky, M. Veanes, C. Campbell, W. Schulte. Model-based Software Testing and Analysis

with C#. Cambridge University Press, 2008.

Page 25: CURSURI OPŢIONALE DE INFORMATICĂ PROPUSE …fmi.unibuc.ro/ro/pdf/2013/secretariat/CURSURI... · 5.6 Introducere in lingvistica matematica si computationala 5.7 Metode de numarare

7. R. Lefticaru, F. Ipate: Automatic State-Based Test Generation Using Genetic Algorithms. SYNASC 2007, 188-195, 2007.

8. A. Mathur: Foundations of Software Testing, Addison-Wesley Professional, 2007. 9. P. McMinn. Search-based software test data generation: a survey. Softw. Test., Verif. Reliab.,

14(2):105–156, 2004. 10. M. Roper: Software Testing, McGraw-Hill, 1994