+ All Categories
Home > Documents > CURSURI OPŢIONALE DE INFORMATICĂ -...

CURSURI OPŢIONALE DE INFORMATICĂ -...

Date post: 10-Apr-2018
Category:
Upload: ngothu
View: 249 times
Download: 8 times
Share this document with a friend
30
CURSURI OPŢIONALE DE INFORMATICĂ PROPUSE PENTRU ANUL UNIVERSITAR 2015-2016 SEM. I DOMENIUL DE LICENŢĂ: INFORMATICĂ SPECIALIZAREA: INFORMATICĂ
Transcript
Page 1: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

CURSURI OPŢIONALE DE

INFORMATICĂ

PROPUSE

PENTRU ANUL

UNIVERSITAR 2015-2016

SEM. I

DOMENIUL DE LICENŢĂ:

INFORMATICĂ

SPECIALIZAREA:

INFORMATICĂ

Page 2: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

Lista cursurilor opţionale – sem. I

5.1 Aplicații distribuite în cloud

5.2 Aplicații Web dezvoltate cu Ruby on Rails

5.3 Aplicații Web în Python

5.4 Cloud Computing

5.5 Combinatorică enumerativă și aplicații

5.6 Concepte geometrice în grafica pe calculator

5.7 Concepte și aplicații în vederea artificială

5.8 Programare Web utilizând limbajul Java – Servleți

5.9 Proiectarea și implementarea unei platforme web scalabile

5.10 Undergraduate Research Opportunities

Fiecare student face 5 opțiuni,

în ordinea preferințelor

Page 3: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

FIȘA UNITĂȚII DE CURS

TITLU: APLICAȚII DISTRIBUITE ÎN CLOUD

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

INSTRUCTORI: Robert Hasna (Adobe Romania)

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,

aplicații care rulează în cloud-ul oferit de Amazon sub sistemul de operare Linux.

În cadrul cursului vor fi prezentate tehnologii și metode de actualitate în construirea

aplicațiilor ce ruleaza in cloud iar accentul este pus pe serviciile oferite de Amazon Web

Services. 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 crea și gestiona resurse în cloud-ul Amazon,

dezvolta aplicații care rulează în cloud, sunt scalabile si manipulează cantități mari de date.

PROGRAMĂ:

1. Introducere in Cloud. Ce este? Avantaje si dezavantaje.

2. Scalabilitate. Anatomia unei aplicatii modulare si scalabile.

3. Servicii de calcul si comunicare in AWS. (EC2, SQS, ELB)

4. Servicii de stocare in AWS. (S3, DynamoDB, RDS)

5. Utilizarea SDK-ului Java pentru AWS.

6. Introducere in Hadoop. Hadoop pe cluser in Amazon.

BILBIOGRAFIE:

[1] Documentatia online AWS: http://aws.amazon.com/documentation/

[2] Documentatia online Hadoop: http://hadoop.apache.org/docs/r2.3.0/

NOTĂ: Numărul maxim de studenți participanți este de 25.

Page 4: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

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

INSTRUCTORI: Specialiști din cadrul Cronian Academy

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.

NOTĂ: Cursul și laboratorul său vor fi organizate pe grupe de 15-20 de studenți.

Page 5: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

FIȘA UNITĂȚII DE CURS

TITLU: APLICAȚII WEB IN PYTHON

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

INSTRUCTORI: Specialiști din cadrul Eau de Web și ROSEdu

OBIECTIVE:

Cursul își propune să ofere studenților o introducere în programarea web folosind

limbajul de programare Python și platforma Django. În prima parte a cursului, studenții sunt

familiarizați cu limbajul, cu sintaxa și construcțiile specifice programării de nivel înalt. În cea de

a doua parte, se pune accentul pe dezvoltarea unei aplicații web, pornind de la partea de

proiectare şi parcurgând cu atenţie toate etapele de dezvoltare, până la finalizarea aplicaţiei.

Cursul este interactiv, în timpul prezentării studenții fiind încurajați să participe cu

sugestii și întrebări. Partea practică de tipul hands-on se face în paralel cu prezentarea, anumite

părți de cod fiind puse la dispoziție pe proiector sau online pe pagina de resurse a cursului.

La finalul cursului, un absolvent va avea atât noțiunile necesare înțelegerii programării

web, cât și abilitatea de a dezvolta o aplicație web de la zero.

PROGRAMĂ:

1. Introducere în Python. Lucrul cu interpretorul, sintaxa.

2. Operații de bază. Funcții built-in.

3. Programare orientată pe obiect. Clase și obiecte. Moștenire

4. Noțiuni specifice Python. Liste şi tupluri. Dicţionare.

5. Introducere în Django. HTTP. Modele, view-uri și template-uri

6. Lucrul cu baza de date din Django. Modele și interogări

7. Formulare. Formulare mapate pe modele, template-uri

8. Django extras: autentificare, sesiune, paginare

9. Frontend: CSS, Javascript. Platforma Bootstrap

BILBIOGRAFIE:

[1] Documentatia online PurePython: http://purepython.eaudeweb.ro/wiki/Home.html

[2] Documentatia online Python: https://docs.python.org/3/

NOTĂ: Numărul maxim de studenți participanți este de 30. Studenții care optează pentru acest

curs vor fi supuși unei proceduri suplimentare de selecție.

Page 6: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

FIȘA UNITĂȚII DE CURS

TITLU: CLOUD COMPUTING

DOMENIUL DE LICENŢĂ: INFORMATICĂ

SPECIALIZAREA: INFORMATICĂ

STATUTUL: OPȚIONAL

NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1)

SEMESTRUL: 5 / anul III de studiu

FORMA DE EXAMINARE: VERIFICARE

CREDITE: 5

INSTRUCTORI: Conf. dr. Cristian Kevorchian (profesor asociat FMI)

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

9. Cloud, Grid şi HPC – Prezentarea soluţiilor Amazon Elastic Compute Cloud EC2,

TWESTER4Azure şi MR4Azure

Page 7: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

BIBLIOGRAFIE:

[1] B. Sosinsky CLOUD COMPUTING BIBLE, Wiley Publishing Inc., 2011

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

2009

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

Wiley Inc., 2011

[4] T.Velte, J. Velte, R. Elsenpeter CLOUD COMPUTING: A Practical Approach, MacGrow

Hill, 2010

Page 8: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

FIȘA UNITĂȚII DE CURS

TITLU: COMBINATORICA ENUMERATIVA SI APLICATII

DOMENIUL DE LICENTA: INFORMATICA

SPECIALIZAREA: INFORMATICA

STATUTUL: OPȚIONAL

NR. ORE/SAPTAMANA: 3 (Curs=2; Seminar=1)

SEMESTRUL: 5 / anul III de studiu

FORMA DE EXAMINARE: VERIFICARE

CREDITE: 5

TITULAR: Conf. dr. Dragos-Radu Popescu

OBIECTIVE:

Cursul își propune o introducere în teoria numărării cu largi aplicații în toate domeniile

teoretice și practice ale cercetării matematice. Astfel, cursul se adresează atât studenților care

vor să devină profesori cât și celor ce vor să se specializeze în informatică sau care doresc să-și

continue activitatea de cercetare în cadrul unui program de studii aprofundate sau de doctorat.

PROGRAMA:

1. Principii de numărare.

2. Inegalitățile lui Bonferroni și Hunter. Aplicații.

3. Funcții de numărare. Numere Stirling, Bell, Fibonacci, Catalan și Lucas.

4. Drumuri laticiale.

5. Formule de inversiune binomială și Stirling.

6. Numărarea arborilor. Teoremele lui Cayley, Temperley, Austin.

7. Funcții generatoare.

8. Teoria lui Polya.

9. Aplicații în teoria probabilităților și 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] Popescu Dragos-Radu, Marinescu-Ghemeci Ruxandra: Combinatorica si teoria grafurilor

prin exercitii si probleme, Matrix Rom, Bucuresti, 2014

[5] Tomescu Ioan: Probleme de combinatorica si teoria grafurilor, Ed. Didactica si

Pedagogica,1981.

[6] Tomescu Ioan, Popescu Dragos–Radu: Elemente de Matematica discreta, Teoria Grafurilor si

Analiza Combinatorie, Matrix Rom, Bucuresti, 2013

[7] Wilf, H. S.: Generatingfunctionology, 2nd ed. New York: Academic Press, 1994.

Page 9: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

FIȘA UNITĂȚII DE CURS

TITLU: CONCEPTE GEOMETRICE ÎN GRAFICA PE CALCULATOR

DOMENIUL DE LICENŢĂ: INFORMATICĂ

SPECIALIZAREA: INFORMATICĂ

STATUTUL: OPȚIONAL

NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1)

SEMESTRUL: 5 / anul III de studiu

FORMA DE EXAMINARE: VERIFICARE

CREDITE: 5

INSTRUCTORI: Lect. dr. Sorin Stupariu

OBIECTIVE:

Cursul are două componente complementare. Prima dintre ele are o natură teoretică: în

cadrul cursului vor fi prezentate noțiuni și rezultate geometrice esențiale pentru dezvoltarea

aplicațiilor grafice, precum și câțiva algoritmi de bază în grafica pe calculator. Cea de-a doua

componentă are o natură aplicativă și include o introducere în utilizarea OpenGL și dezvoltarea

unor aplicații interactive de grafică pe calculator. Proiectele de laborator, concretizate prin

proiecte, vor reprezenta componenta principală a verificării de la sfârșitul semestrului.

PROGRAMA:

1. Primitive grafice. Atribute ale primitivelor grafice.

2. Transformări geometrice. Modelarea deplasării unui obiect.

3. Proiecții paralele și proiecții centrale.

4. Reprezentarea imaginilor 2D.

5. Elemente de grafică 3D.

6. Modele de iluminare. Efecte vizuale (netezirea contururilor, ceață, umbre).

7. Aplicații grafice interactive. Animații pe calculator.

8. Texturarea suprafețelor.

9. Utilizarea unităților programabile (shaders).

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. Hughes, A. van Dam, M. McGuire, D. Sklar, J. Foley, S. Feiner, K. Akeley, Computer

Graphics: Principles and Practice (3rd edition), Addison Wesley, 2013.

[5] D. Hearn, M. Baker, W. Carithers, Computer Graphics with OpenGL (4th edition), Prentice

Hall, 2010.

[6] P. Shirley, M. Ashikhmin, M. Gleicher, S. Marschner, E. Reinhard, K. Sung, W. Thompson,

P. Willemsen, Fundamentals of Computer Graphics (3rd edition), AK Peters, Wellesley,

2009.

[7] D. Shreiner, G. Sellers, J. Kessenich, B. Licea-Kane, OpenGL Programming Guide, Eighth

Edition, Addison-Wesley, 2013.

Page 10: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

FIȘA UNITĂȚII DE CURS

TITLU: CONCEPTE ȘI APLICAȚII ÎN VEDERE ARTIFICIALĂ

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

INSTRUCTORI: Dr. Bogdan Alexe (profesor asociat FMI), Lect. Dr. Radu Ionescu

OBIECTIVE:

Oamenii interpretează fără efort ceea ce văd. Scopul Vederii Artificiale este de a înzestra

un sistem computerizat cu caracteristici asemanatoare, care "vede" și "înțelege" ceea ce se

intâmplă în imagini. Pentru realizarea acestui deziderat este nevoie de algoritmi eficienți care să

extragă informații din pixeli pentru interpretarea imaginilor.

Cursul are ca obiectiv atât studierea conceptelor de bază cât și prezentarea unor tehnici de

actualitate din domeniul Vederii Artificiale. În ultimii ani, tehnicile și metodele folosite în

vederea artificială și-au dovedit aplicabilitatea din ce în ce mai răspândită pentru rezolvarea unor

probleme importante cum ar fi recunoașterea facială, detectarea și recunoașterea obiectelor în

imagini, detectarea și urmărirea obiectelor în video, recunoașterea caracterelor, recunoașterea

semnelor de circulație, căutarea imaginilor după conținut și multe altele. Din acest motiv, cursul

va pune un foarte mare accent pe partea de aplicabilitate a tehnicilor prezentate. Mai precis,

fiecare curs va conține exemple practice și aplicații. În cadrul laboratorului se va folosi limbajul

de programare Matlab. Vor fi prezentate funcțiile din librăria Image Processing Toolbox, dar se

vor folosi și funcții implementate în librării open source, cum ar fi VLFeat sau Deep Learning

Toolbox. La finalul cursului, studenții vor putea înțelege și aplica tehnicile de ultimă oră din

domeniu pentru rezolvarea unor probleme interesante precum segmentare background-

foreground, detectare facială, supraveghere video, etc.

Dat fiind caracterul aplicativ al cursului, studenții vor fi evaluați pe baza unui proiect

(50%) și a activității din cadrul laboratorului (50%). Temele de proiect vor fi prezentate în

primul curs. În funcție de complexitatea temei abordate, proiectele pot fi abordate individual sau

în echipe de până la 3 membri. Activitatea de laborator constă în rezolvarea exercițiilor ce

însoțesc aplicațiile predate la curs.

PROGRAMĂ:

1. Introducere în vederea artificială. Concepte de bază.

2. Filtre pentru imagini. Muchii și gradienti. Textură și culoare.

3. Segmentare și grupare: k-means, mean-shift, etc.

4. Puncte de interes. Trăsături locale pentru imagini. Descriptorii SIFT și HOG.

5. Metode de învățare. Concepte de bază. Modelul Nearest Neighbors.

6. Metode kernel. Funcții de similaritate și clasificatori liniari: SVM, KRR, KDA.

7. Modele de învățare deep. Rețele neuronale convoluționale. Metode pentru recunoașterea

caracterelor.

8. Recunoașterea obiectelor folosind modelul bag of visual words.

9. Detectarea facială folosind metoda ferestrei glisante.

10. Recunoașterea expresiilor faciale folosind modelul bag of visual words și învățarea locală.

11. Recunoașterea obiectelor folosind rețele convoluționale.

Page 11: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

12. Urmărirea traiectoriilor obiectelor în filme video: filtrul de particule. Aplicație: urmărirea

oamenilor în filme video.

BIBLIOGRAFIE:

[1] R. Szeliski. Computer Vision: Algorithms and Applications. Springer, 2010.

[2] J. Shawe-Taylor, N. Cristianini. Kernel Methods for Pattern Analysis. Cambridge

University Press, 2004.

[3] Simon Prince: Computer Vision: Models, Learning and Inference, Cambridge University

Press, 2012. Draft disponibil online.

[4] David Forsyth, Jean Ponce: Computer Vision: A modern approach (second edition),

Prentice Hall, 2011.

[5] R.T. Ionescu. Machine Learning in Computer Vision and String Processing. PhD. Thesis,

University of Bucharest, 2013.

[6] R.T. Ionescu, M. Popescu. PQ kernel: A rank correlation kernel for visual word histograms.

Pattern Recognition Letters, 55(1):51–57, 2015.

[7] R.T. Ionescu, M. Popescu, C. Grozea. Local Learning to Improve Bag of Visual Words

Model for Facial Expression Recognition. Workshop on Challenges in Representation

Learning, ICML, 2013.

[8] L.P. Dinu, R.T. Ionescu, M. Popescu. Local Patch Dissimilarity for Images. In Proceedings

of ICONIP, 7663:117–126, 2012.

[9] http://www.vlfeat.org

[10] http://fr.mathworks.com/matlabcentral/fileexchange/38310-deep-learning-toolbox

Page 12: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

FIȘA UNITĂȚII DE CURS

TITLU: PROGRAMARE WEB UTILIZÂND LIMBAJUL JAVA – SERVLEȚI

DOMENIUL DE LICENŢĂ: INFORMATICĂ

SPECIALIZAREA: INFORMATICĂ

STATUTUL: OPȚIONAL

NR.ORE/SAPTAMANA: 3 (Curs = 2; Seminar = 1)

SEMESTRUL: 5 / anul III de studiu

FORMA DE EXAMINARE: VERIFICARE

CREDITE: 5

INSTRUCTORI: Conf. dr. Andrei Baranga

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Ă - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

FIȘA UNITĂȚII DE CURS

TITLU: PROIECTAREA SI IMPLEMENTAREA UNEI PLATFORME WEB SCALABILE

DOMENIUL DE LICENŢĂ: INFORMATICĂ

SPECIALIZAREA: INFORMATICĂ

STATUTUL: OPȚIONAL

NR.ORE/SAPTAMANA: 3 (Curs = 2; Seminar = 1)

SEMESTRUL: 5 / anul III de studiu

FORMA DE EXAMINARE: VERIFICARE

CREDITE: 5

INSTRUCTORI: Specialisti din cadrul eMAG

OBIECTIVE:

Cursul își propune să ofere studenților o introducere în technologiile moderne care oferă

posibilitatea de a dezvolta aplicaţii web modulare și scalabile.

În cadrul cursului vor fi prezentate principalele tehnologii și metode de implementare a

aplicaţiilor web capabile să proceseze un număr foarte mare de cereri şi de asemenea să se

adapteze unor nevoi de procesare variabile. Principalele framework-uri ce facilitează

implementarea acestui tip de aplicaţii vor fi prezentate împreună cu exemple practice şi cu

detalierea modului de funcţionare al acestora precum şi al avantajelor tehnice oferite.

La finalul cursului, studenții vor putea construi o aplicaţie folosind aceste tehnologii,

aplicaţie având capacitatea de a integra noi servicii sau de a elimina servicii existente, într-un

mod transparent, fără a afecta funcţionalitatea de bază a aplicaţiei.

PROGRAMĂ:

1. Introducerea noţiunii de scalabilitate. Importanţa caracteristicii de scalabilitate.

2. Introducerea conceptului de microservicii.

3. Structura unei aplicaţii construită pe microservicii.

4. Introducerea conceptului de modularitate.

5. Structura unei aplicatii modulare și scalabile.

6. Conceptul de scalare orizontală – introducere în Hazelcast.

7. Conceptul de bază de date în memorie (cache cheie – valoare) – introducere în Redis.

8. Conceptul de bază de date distribuită – introducere în Riak.

9. Conceptul de distribuţie a sarcinilor de procesare – introducere în Gearman.

10. Dezvoltarea unei platforme web scalabile de e-commerce – aplicație practică.

BILBIOGRAFIE:

[1] http://hazelcast.org/

[2] http://redis.io/

[3] http://basho.com/riak/

[4] http://gearman.org/

NOTĂ: Numărul maxim de studenți participanți este de 30. Studenții care optează pentru acest

curs vor fi supuși unei proceduri suplimentare de selecție.

Page 14: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

FIȘA UNITĂȚII DE CURS

TITLU: UNDERGRADUATE RESEARCH OPPORTUNITIES

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

COORDONATOR CURS: Prof.Dr. Gheorghe Stefanescu;

INSTRUCTORI POTENTIALI: Cadrele didactice de la Departamentul de Informatica

care propun teme de cercetare (studentii interesati vor primi un link la care pot gasi lista

cu temele de cercetare propuse pentru anul curent; cele de anul trecut se găsesc aici:

https://dl.dropboxusercontent.com/u/24589701/UROP-CS-UB_teme-2014.pdf)

OBIECTIVE:

Acest curs ofera studentilor de la licenta posibilitatea de a se implica in probleme de

cercetare actuale, interesante sub directa indrumare a unor profesori care sunt cercetatori activi si

cu experienta in cercetare. Profesori de la alte universitati din tara ori strainatate, ori cercetatori

din institute de cercetare, pot fi cooptati in cadrul acestui curs in calitate de co-supervizori. In

masura posibilitatilor existente, temele de cercetare pot fi parte a unor proiecte de cercetare aflate

in derulare.

PROGRAMA:

In primele 2 spatamani (1-15 Oct, intensiv, 28 ore), studentii vor audia prezentarile de

domenii si teme de cercetare oferite. Studentii care la sfarsitul celor 2 saptamani nu vor gasi o

tema si un supervizor potrivit vor fi redistribuiti la unul din celelalte cursuri optionale existente.

In cursul semestrului studentul studiaza literatura de specialitate si va prezenta o expunere de

circa 1 ora in cadrul unor intalniri saptamanale consacrate acestei activitati. Activitatea de baza

este cercetarea si se va finaliza cu un Raport de Cercetare care va fi prezentat la sfarsitul

semestrului.

In evaluarea studentilor, 20% din nota este pe baza activitatii din timpul anului si este

bazata pe studiul literaturii de specialitate si a prezentarii facute. Restul de 80% din nota este pe

baza Raportului de Cercetare care va fi predat la sfarsitul semestrului. O pondere de 20% din

nota o constituie evaluarea rezultatelor noi ori a elementelor de originaliate prezente in Raport.

Raportul va fi evaluat de o comisie formata 3 persoane (Presedinte, Supervizor si un Raportor

independent), numita separat pentru fiecare student.

O activitate suplimentara, care va veni in sprijinul formarii unor deprinderi sanatoase de

cercetare la studentii participanti, este organizarea de activitati legate de: (a) indrumare privind

modul de redactare a unei lucrari (Latex, formatare, stilistica, etc.); (b) expuneri legate de etica

cercetarii; (c) deprinderi de participare la viata stiintifica a comunitatii; (d) colaborarea cu colegii

ori cu studentii mai mici ori mai mari pe teme de cercetare comune; etc.

NOTĂ: Numărul maxim de studenți participanți este de 20 (fiecare cadru didactic participant

putand superviza cel mult 3 studenti).

Page 15: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

CURSURI OPŢIONALE DE

INFORMATICĂ

PROPUSE

PENTRU ANUL

UNIVERSITAR 2015-2016

SEM. II

DOMENIUL DE LICENŢĂ:

INFORMATICĂ /

MATEMATICĂ

SPECIALIZĂRILE:

INFORMATICĂ /

MATEMATICĂ-INFORMATICĂ

Page 16: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

Lista cursurilor optionale – sem. II

6.1 Algoritmi genetici. Aplicaţii în bioinformatică şi web mining

6.2 Aplicații mobile pentru iOS

6.3 Data warehouse

6.4 Inițiere în cercetare și bioinformatică

6.5 Introducere în lingvistică matematică și computațională

6.6 JavaScript ca limbaj pentru servere. Detalii despre NodeJS

6.7 Paradigme de programare în Cloud Computing

6.8 Programare Web utilizând limbajul Java-JSP

6.9 Tehnici de programare a aplicațiilor grafice

6.10 Testarea sistemelor software

Fiecare student face 5 opțiuni,

în ordinea preferințelor

Page 17: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

FIȘA UNITĂȚII DE CURS

TITLU: ALGORITMI GENETICI. APLICAȚII ÎN BIOINFORMATICĂ ȘI WEB MINING

DOMENIUL DE LICENŢĂ: INFORMATICĂ (MATEMATICĂ)

SPECIALIZAREA: INFORMATICĂ (MATEMATICĂ-INFORMATICĂ)

STATUTUL: OPȚIONAL

NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1)

SEMESTRUL: 6 / anul III de studiu

FORMA DE EXAMINARE: VERIFICARE

CREDITE: 5 (3)

INSTRUCTORI: Prof. dr. Denis Enachescu, Asist. dr. Bianca Mogos

OBIECTIVE:

Algoritmii genetici reprezintă tehnici de căutare şi optimizare euristică având ca sursă de

inspiraţie o ramură a biologiei – genetica.

Cursul prezintă principiile algoritmilor genetici şi modalităţi de aplicare a acestora pentru

rezolvarea unor probleme de învăţare supervizată şi nesupervizată. De asemenea, cursul

recomandă studiul unor aplicaţii din domeniile bioinformatică şi web mining.

Cursul îşi propune să completeze cunoştinţele necesare urmării ulterioare, de către

studenţi, a unor programe de Masterat/Doctorat în domeniul Inteligenţei Artificiale şi al

Bioinformaticii.

La laborator se poate lucra în Java/C/C++/Matlab (la alegerea studentului), punând

accent pe aplicarea algoritmilor genetici (implementaţi de către studenţi) pentru rezolvarea unor

probleme particulare.

PROGRAMĂ:

1. Algoritmi genetici – metodologie generală

2. Analiza convergenţei algoritmilor genetici

3. Clasificare supervizată folosind algoritmi genetici

4. Clasificare nesupervizată folosind algoritmi genetici

5. Generalizări ale algoritmilor genetici

6. Optimizare multiobiectiv folosind algoritmi genetici

7. Aplicaţii ale algoritmilor genetici în bioinformatică

8. Aplicaţii ale algoritmilor genetici în web mining

BIBLIOGRAFIE:

[1] Bandyopadhyay, S. and Pal, S.K. (2007), Classification and Learning using Genetic

Algorithms, Springer

[2] Mitchell, M. (1996), An Introduction to Genetic Algorithms, MIT Press

[3] Haupt, R.L. and Haupt, S.E. (2004), Practical Genetic Algorithms, Second edition, John

Wiley & Son

[4] Marczyk, A. (2004), Genetic Algorithms and Evolutionary Computation, online:

http://www.talkorigins.org/faqs/genalg/genalg.html

[5] Pohlheim, H. (2005), Evolutionary Algorithms: Overview, Methods and Operators,

Documentation for GEATbx version 3.7 (Genetic and Evolutionary Algorithm Toolbox for

use with Matlab)

[6] Genetic Algorithms, online: http://www.obitko.com/tutorials/genetic-algorithms/index.php

[7] Genetic Algorithms Tutorials, online: http://geneticalgorithms.ai-depot.com/Tutorials.html

Page 18: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

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/SAPTAMANA: 3 (Curs = 2; Laborator = 1)

SEMESTRUL: 6 / anul III de studiu

FORMA DE EXAMINARE: VERIFICARE

CREDITE: 5 (3)

INSTRUCTORI: Specialiști din cadrul Cronian Academy

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Ă:

1. 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).

2. Introducere în Objective-C: tehnologia iOS, conceptul de design MVC, mecanismele de bază

ale limbajului Objective-C, introspecția, framework-ul Foundation, protocoale.

3. View: obiectul UIView, subclase custom ale lui UIView, metode de desenare, suport pentru

auto-rotație, tehnici de recunoaștere a gesturilor.

4. Controller: ciclul de viață al unui UIViewController, controller-e de navigație în aplicație

(UINavigationController și UITabBarController), tranziții între controller-e.

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

UIWebView, etc.

6. Folosirea capacităților telefonului: serviciul de localizare GPS, accelerometrul, busola,

integrarea harților, etc.

7. Persistența datelor: liste de proprietăți, arhivarea obiectelor, SQLite, CoreData, etc.

8. Topici avansate: transmiterea de notifcări între obiecte, categorii, blocuri, măsurarea

performanței aplicației.

BIBLIOGRAFIE:

[1] Documentația Apple: https://developer.apple.com/library/ios/navigation/

[2] Erik Buck, Donald Yacktman. Cocoa Design Patterns. Addison-Wesley, 2009.

[3] Stephen Kochan. Programming in Objective-C. Sams Publishing, 2004.

[4] Matt Neuburg. Programming iOS 4. O’Reilly Media Inc., 2011.

[5] Scott Stevenson. Cocoa and Objective-C: Up and Running. O’Reilly Media Inc., 2010.

Page 19: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

FIȘA UNITĂȚII DE CURS

TITLU: DATA WAREHOUSE

DOMENIUL DE LICENŢĂ: INFORMATICĂ (MATEMATICĂ)

SPECIALIZAREA: INFORMATICĂ (MATEMATICĂ-INFORMATICĂ)

STATUTUL: OPȚIONAL

NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1)

SEMESTRUL: 6 / anul III de studiu

FORMA DE EXAMINARE: VERIFICARE

CREDITE: 5 (3)

INSTRUCTORI: Lect. dr. Gabriela Mihai

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 20: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

FIȘA UNITĂȚII DE CURS

TITLU: INIȚIERE ÎN CERCETARE ȘI BIOINFORMATICĂ

DOMENIUL DE LICENŢĂ: INFORMATICĂ (MATEMATICĂ)

SPECIALIZAREA: INFORMATICĂ (MATEMATICĂ-INFORMATICĂ)

STATUTUL: OPȚIONAL

NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1)

SEMESTRUL: 6 / anul III de studiu

FORMA DE EXAMINARE: VERIFICARE

CREDITE: 5 (3)

INSTRUCTORI: Prof. dr. Andrei Păun

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.

Page 21: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

[6] Neil C. Jones, Pavel A. Pevzner, An Introduction to Bioinformatics Algorithms

(Computational Molecular Biology), The MIT Press, 2004, 456 pp., ISBN: 0262101068.

[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 22: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

FIȘA UNITĂȚII DE CURS

TITLU: INTRODUCERE ÎN LINGVISTICA MATEMATICĂ ȘI COMPUTAȚIONALĂ

DOMENIUL DE LICENŢĂ: INFORMATICĂ (MATEMATICĂ)

SPECIALIZAREA: INFORMATICĂ (MATEMATICĂ-INFORMATICĂ)

STATUTUL: OPȚIONAL

NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1)

SEMESTRUL: 6 / anul III de studiu

FORMA DE EXAMINARE: VERIFICARE

CREDITE: 5 (3)

INCTRUCTOR: Conf. dr. Liviu Dinu

OBIECTIVE:

Cursul isi propune sa ofere studentilor o perspectiva moderna si la zi asupra domeniului.

Fiecare tema abordata va fi insotita de aplicatii concrete care vor viza diverse aspecte ale

limbajului natural, cu o atentie speciala acordata limbii romane. Vor fi abordate aspecte

computationale, cantitative si formale ale limbajului natural, facand distinctia clara intre analiza

textelor si cea a limbilor naturale in general.

PROGRAMA:

1. Lectie de deschidere: probleme curente (practice, teoretice si de cercetare) in lingvistica

matematica si computationala si in procesarea limbajului natural.

2. Aspecte cantitative ale limbajului natural. (Legi de tip minim efort, principiul lui Menzerath,

legea lui Zipf, Legea lui Fenk, Altmann, comportari probabilistice si statistice ale limbajului

natural, etc).

3. Cum comparam limbile naturale? Analiza computationala a similaritatii, inteligibilitatii,

lizibilitatii (readability) limbilor naturale. Aplicatii pe limba romana.

4. Abordari si rezolvari computationale eficiente ale unor probleme lingvistice grele: predictia

accentului in limba romana, silabificarea cuvintelor din limba romana, conjugarea verbelor

(analiza alternantelor), analiza predictiei pluralului substantivelor din romana (analiza

neutrului). (In general aceste probleme au fost declarate intratabile de catre lingvisti; in

aceasta sectiune vom prezenta rezolvari cu acuratete cuprinsa intre 96%-99.7%).

5. Poate fi recunoscut autorul unor texte cu autor controversat? Analiza computationala a

amprentei stilistice. Aplicatii in detectarea pastiselor, a fraudelor electronice, detectarea

comentariilor false.

6. Categorizare si clasificare automata de texte in functie de topic.

7. Analiza de corpus. Detectarea de colocatii, detectare automata si analiza ortografica a

cuvintelor inrudite (cuvinte mostenite, perechi cognates). Aplicatii in simplificarea textelor.

8. Detectarea automata din texte a opiniilor, analiza computationala a polaritatii sentimentelor,

deception detection. Aplicatii in predictia optiunii politice din analiza discursurilor.

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] Alina Maria Ciobanu, Liviu P. Dinu, 2014. An Etymological Approach to CrossLanguage

Orthographic Similarity. Application on Romanian. In Proc. EMNLP 2014, p 1047–1058.

Page 23: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

[6] Manning, C., H. Schutze. Foundations of statistical natural language processing, MIT Press,

1999

[7] 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

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

Quantitative Linguistics

[9] Volumele conferintelor LREC si ale celor patronate de ACL (ACL, EACL, NAACL,

COLING, CICLING, RANLP). Disponibile on-line la http://aclweb.org/anthology-new/

Page 24: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

FIȘA UNITĂȚII DE CURS

TITLU: JAVASCRIPT CA LIMBAJ PENTRU SERVERE. DETALII DESPRE NODEJS

DOMENIUL DE LICENŢĂ: INFORMATICĂ (MATEMATICĂ)

SPECIALIZAREA: INFORMATICĂ (MATEMATICĂ-INFORMATICĂ)

STATUTUL: OPȚIONAL

NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1)

SEMESTRUL: 6 / anul III de studiu

FORMA DE EXAMINARE: VERIFICARE

CREDITE: 5 (3)

INSTRUCTORI: Specialiști din cadrul Arnia Software

OBIECTIVE:

Cursul își propune să ofere studenților o introducere în mediul de dezvoltare JavaScript

pentru server-side cu o aprofundare mai detaliată a platformei NodeJS apărută nou în aceasta

direcţie.

În cadrul cursului va fi introdus, în primă fază, limbajul JavaScript, concepte de bază şi

concept avansate necesare dezvoltării de aplicaţii web atât client-side cât şi server-side. A doua

parte a cursului se va concetra pe aprofundarea platformei NodeJS urmând ca la final, accentual

să fie pus pe un framework cum ar fi ExpressJS.

La finalul cursului, studenții vor avea abilităţile necesare pentru a putea proiecta şi

dezvolta o aplicaţie full-stack JavaScript.

PROGRAMĂ:

1. JavaScript ca limbaj de programare: fundamente, concepte, pattern-uri

2. Arhitectura aplicaţiilor web: concepte, n-tier, DDD (Domain Driven Design) etc.

3. Concepte de bază NodeJS

4. Concepte avansate NodeJS

5. Introducere ExpertJS

BILBIOGRAFIE:

[1] Documentatia online: https://nodejs.org/api/

[2] Documentatia online: https://github.com/vndmtrx/awesome-nodejs

NOTĂ: Numărul maxim de studenți participanţi este de 30.

Page 25: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

FISA UNITATII DE CURS

TITLU: PARADIGME DE PROGRAMARE ÎN CLOUD COMPUTING

DOMENIUL DE LICENŢĂ: INFORMATICĂ (MATEMATICĂ)

SPECIALIZAREA: INFORMATICĂ (MATEMATICĂ-INFORMATICĂ)

STATUTUL: OPȚIONAL

NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1)

SEMESTRUL: 6 / anul III de studiu

FORMA DE EXAMINARE: VERIFICARE

CREDITE: 5 (3)

INSTRUCTORI: Conf. dr. Cristian Kevorchian (profesor asociat FMI)

OBIECTIVE:

Cloud computing este o modalitate inovatoare de programare și utilizare a

calculatoarelor. Se deschid importante oportunități tehnologice pentru dezvoltatorii de produse

software în sensul că sunt disponibilizate platforme complexe destinate dezvoltării de noi tipuri

de aplicații. Contextul tehnologic generat de cloud computing va aduce în perioada următoare

schimbari majore în livrarea soluțiilor IT în sensul livrarii acestora ca servicii(IT-as-a-Service).

Este important pentru absolvenții noștri de a înțelege această transformare a IT-ului care se

bazează pe trei tendințe importante: mobilitate, cloud computing și big data. . Categoriile de

aplicații care operează în cloud și care fac obiectul cursului nostru, aliniate fiind tendințelor

menționate anterior sunt:

1. Aplicațiile colaborative

2. Serviciile

3. Procesele de calcul distribuit de dimensiuni mari.

În programa propusă ne-am orientat către HDInsight, care este un serviciu bazat pe

Hadoop și care se impune ca fiind 100 la sută Apache Hadoop în cloud. Platforma de date se

bazează pe cloud și permite gestiunea datelor de orice tip, fie structurate sau nestructurate,

precum și de orice dimensiune. HDInsight permite o exploatare la un nivel de complexitate

superior a datelor furnizate la nivel global.

HDInsight și limbajul funcțional F# împreună cu Hive, Pig și Mahout furnizează un

complex computational deschis operațional în cloud. Puterea de analiza a datelor oferită de

Hadoop pune la dispozitia dezvoltatorilor de solutii BI, instrumente extrem de puternice care sa

fie utilizate de viitorii data scientists, ale căror competențe trebuie să îmbine cunoștințe de

tehnologia informației, matematică și business.

PROGRAMA:

1. Interacțiunea dintre WCF si Azure Service Bus ca serviciu al AppFabric.

2. API-uri REST pentru lucrul cu servicii BLOB

3. Utilizarea serviciului BLOB Storage in C#.

4. Mutarea datelor in/din serviciile de baze de date din cloud cu JDBC and ODBC.

5. Incarcarea datelor în SQL Services din Hadoop prin intermediul YARN.

6. Hadoop și paradigma de programare MapReduce.

7. Implementarea paradigmei MapReduce cu F# .

8. Utilizarea serviciului HDInsight(Hadoop în Azure) și F# pentru serializarea/deserializarea

obiectelor. Utilizare Apache AVRO.

9. Lucrul cu partiții Hive. Sesiuni Hive în Azure Power Shell.

10. Utilizarea HDInsight si Apache Mahout în clustering(k-mean clustering, fuzzy k-mean și

spectral clustering - o masina/MapReduce).

Page 26: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

11. Utilizare Apache Mahout în machine learning(Latent Dirichlet Allocation-o

masina/MapReduce)

12. Utilizarea HiveQL si HDInside pentru interogarea unor volume mari de date.

13. Utilizarea ”Pig latin”, ca limbaj de scripting si HDInsight în operații ETL si aplicatii in

business intelligence.

14. Utilizarea bibliotecilor matematice ”Cloud Numerics” în C# și F#.

15. Hadoop-Sharp interfață CLR pentru HADOOP.

BIBLIOGRAFIE:

[1] R. Buyya, J. Broberg, A. Goscinski CLOUD COMPUTING. Principles and Paradigms,

Wiley, Inc., Hoboken, New Jersey, 2011

[2] T.Velte, J. Velte, R. Elsenpeter CLOUD COMPUTING: A Practical Approach, MacGrow

Hill, 2010

[3] Mark C. Chu-Carroll Code in the Cloud - Programming Google AppEngine Raleigh, North

Carolina Dallas, Texas, 2011

[4] Sriram Krishnan Programming Windows Azure Programming O’Reilly Media, 2010

[5] Scott Densmore, Alex Homer,,Masashi Narumoto, John Sharp, Hanz Zhang Building

Hybrid Applications in the Cloud Microsoft Press, 2012

Page 27: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

FIȘA UNITĂȚII DE CURS

TITLU: PROGRAMARE WEB UTILIZAND LIMBAJUL JAVA – JSP

DOMENIUL DE LICENŢĂ: INFORMATICĂ (MATEMATICĂ)

SPECIALIZAREA: INFORMATICĂ (MATEMATICĂ-INFORMATICĂ)

STATUTUL: OPȚIONAL

NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1)

SEMESTRUL: 6 / anul III de studiu

FORMA DE EXAMINARE: VERIFICARE

CREDITE: 5 (3)

INSTRUCTORI: Conf. dr. Andrei Baranga

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 28: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

FIȘA UNITĂȚII DE CURS

TITLU: TEHNICI DE PROGRAMARE A APLICATIILOR GRAFICE

DOMENIUL DE LICENŢĂ: INFORMATICĂ (MATEMATICĂ)

SPECIALIZAREA: INFORMATICĂ (MATEMATICĂ-INFORMATICĂ)

STATUTUL: OPȚIONAL

NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1)

SEMESTRUL: 6 / anul III de studiu

FORMA DE EXAMINARE: VERIFICARE

CREDITE: 5 (3)

INSTRUCTORI: Lect. dr. Sorin Stupariu

OBIECTIVE:

Grafica pe calculator este omniprezenta, avand aplicatii in domenii variate, cum ar fi medicina,

ingineria asistata de calculator, dezvoltarea jocurilor, realizarea filmelor, etc. Pentru a obtine

efecte cat mai realiste, este utilizata o gama extrem de variata de tehnici si metode. Obiectivul

cursului este de a prezenta cateva tehnici fundamentale de programare grafica, atat la nivelul

graficii bidimensionale de tip raster, cat si la nivelul modelarii geometrice 3D. Expunerea

fundamentelor teoretice ale acestor metode de lucru este insotita de prezentarea si utilizarea unor

aplicatii software dedicate. 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. Procesarea imaginilor. Utilizarea unui editor de grafica rasteriala (GIMP - GNU Image

Manipulation Program).

2. Convolutie si aplicatii: efecte vizuale, detectarea contururilor, compresia imaginilor.

3. Modelare 3D in grafica – principii generale.

4. Retele poligonale (polygon meshes) si modelarea obiectelor in context 3D. Formate specifice.

Utilizarea unui mediu de modelare 3D (Blender) pentru scene si animatii tridimensionale.

5. Metodele Ray Casting si Ray Tracing.

6. Simularea unor modele fizice. Sisteme de particule in grafica pe calculator.

BIBLIOGRAFIE:

[1] J. Hughes, A. van Dam, M. McGuire, D. Sklar, J. Foley, S. Feiner, K. Akeley, Computer

Graphics: Principles and Practice (3rd edition), Addison Wesley, 2013.

[2] P. Schneider, D. Eberly, Geometric Tools for Computer Graphics, Morgan Kaufmann, 2003.

[3] P. Shirley, M. Ashikhmin, M. Gleicher, S. Marschner, E. Reinhard, K. Sung, W. Thompson,

P. Willemsen, Fundamentals of Computer Graphics (3rd edition), AK Peters, Wellesley,

2009.

[4] A. Watt, M. Watt, Advanced Animation and Rendering Techniques: Theory and Practice,

Addison-Wesley, 1992.

Page 29: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

FIȘA UNITĂȚII DE CURS

TITLU: TESTARE SISTEMELOR SOFTWARE

DOMENIUL DE LICENŢĂ: INFORMATICĂ (MATEMATICĂ)

SPECIALIZAREA: INFORMATICĂ (MATEMATICĂ-INFORMATICĂ)

STATUTUL: OPȚIONAL

NR.ORE/SAPTAMANA: 3 (Curs = 2; Laborator = 1)

SEMESTRUL: 6 / anul III de studiu

FORMA DE EXAMINARE: VERIFICARE

CREDITE: 5 (3)

INSTRUCTORI: Prof. dr. Florentin Ipate

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 30: CURSURI OPŢIONALE DE INFORMATICĂ - fmi.unibuc.rofmi.unibuc.ro/ro/pdf/2015/secretariat/optionale/CURSURI_OPTIONALE... · AppFabric, SQL Azure. Interconectarea serviciilor cu .NET

[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


Recommended