Semestrul I
Digital Microsystems Design
Această materie acoperă proiectarea hardware a unui sistem bazat pe microprocesoare. Scopul este de a oferi o imagine de ansamblu asupra componentelor microprocesorului, comportamentul acestora și interfețele lor externe către sistem. Studenții vor dobândi capacitatea de a analiza și proiecta sisteme bazate pe microprocesoare, precum și abilitatea de a implementa și testa aplicații la nivel scăzut pentru procesoarele x86.
În timpul laboratorului, studenții vor avea acces la Development board-ul Z3/EV și modulele de extensie E16/EV, F11/EV, F12/EV, pe care îi vor utiliza pentru a programa procesoare x86 în limbajul assembly. De asemenea, vor fi prezentate și ciclurile procesorului x86, iar studenții vor învăța să le vizualizeze. În plus, se vor discuta specificațiile de proiectare a unui sistem bazat pe microprocesor, astfel încât studenții să poată înțelege și aplica principiile de proiectare pentru a crea sisteme eficiente și funcționale.
Discipline preliminare: CA, PT
Software Systems Design
Software System Design se adresează tuturor studenților cu cunoștințe în programarea orientată pe obiecte (OOP). Această materie este necesară în orice tip de programare, datorită scopului său general de a-i învăța pe studenți să proiecteze un program flexibil, care poate fi actualizat ulterior în mod ușor la noi versiuni. Pentru a atinge acest obiectiv, se acordă o importanță deosebită modelelor și principiilor de proiectare. Obiectivul specific al SSD este de a-i învăța pe studenți să înțeleagă cerințele de programare și să codifice corect în conformitate cu modelele și principiile de proiectare, obținând un program flexibil, modularizat și bine proiectat.
În cadrul laboratoarelor, accentul se pune pe cunoștințele practice legate de conceptele discutate, precum și pe capacitatea de a aborda și rezolva aplicații cu conținut predefinit. Laboratoarele constau în aplicații și teme de casă, care sunt trimise și verificate săptămânal.
Discipline preliminare: CP, PT, SEF, OOP
Mechanical Engineering and Robotics
Această materie oferă o cunoaștere fundamentală în domeniul ingineriei mecanice, cu noțiuni și concepte de bază în statică, mecanica materialelor, cinematică și robotică. Scopul este de a dobândi abilități și competențe pentru a comunica mai eficient cu inginerii mecanici în vederea rezolvării aplicațiilor inter- și multidisciplinare în proiectarea, optimizarea și automatizarea sistemelor mecanice. Studenții vor învăța să rezolve probleme practice de mecanică și rezistență a materialelor utilizând metode analitice și experimentale.
În timpul seminarului, studenții vor învăța despre ecuațiile de echilibru și proprietățile secțiunilor, precum și despre metoda secțiunii pentru determinarea diagramei eforturilor. Vor fi prezentate și teste de tracțiune și compresiune pentru materiale metalice, iar studenții vor învăța să calculeze membrii încărcați axial și încovoiați. De asemenea, vor fi prezentate și calculele articulațiilor.
Discipline preliminare: Physics, Mathematics at college level
Fundamental Concepts of Programming Languages
Obiectivul acestei materii este să dezvolte competențe și abilități esențiale în domeniul limbajelor de programare.
Studenții vor învăța să înțeleagă și să utilizeze conceptele fundamentale încorporate în limbajele de programare, precum și să facă o trecere în revistă a întregului domeniu de limbaje de programare, prin examinarea taxonomiei limbajelor de programare și a avantajelor și dezavantajelor fiecărui limbaj. Ei vor învăța cum să învețe cu ușurință un nou limbaj de programare și să utilizeze eficient fiecare limbaj în parte, precum și să selecteze corect un limbaj de programare pentru o anumită aplicație. În plus, vor fi prezentate conceptele de bază pentru programarea funcțională și vor fi dezvoltate abilități practice în acest sens. În plus, studenții vor dobândi competențele necesare pentru proiectarea unui nou limbaj de programare sau a unui subset al unui limbaj existent.
În cadrul laboratoarelor, accentul se pune pe cunoștințele practice legate de conceptele discutate, precum și pe capacitatea de a aborda și rezolva aplicații cu conținut predefinit.
Discipline preliminare: CP, PT, OOP
Large Scale Integrated Circuits
Acest curs urmărește să ofere cunoștințe detaliate despre tehnicile de proiectare și verificare a circuitelor VLSI. În cadrul cursului se vor învăța tehnicile de bază utilizate în proiectarea la nivel arhitectural și de sistem, precum și metodologia RTL pentru proiectarea de circuite digitale. De asemenea, se vor dezvolta abilități practice pentru utilizarea nucleelor IP specializate în crearea de sisteme-pe-cip. Aceste cunoștințe sunt esențiale pentru a putea proiecta și verifica circuite VLSI complexe și eficiente din punct de vedere al costurilor.
În timpul laboratorului, studenții vor avea ocazia să se familiarizeze cu prototipizarea unui mic sistem de procesare pe FPGA, precum și cu utilizarea memoriei FPGA BRAM. Vor învăța despre Managerul de clock digital și PLL și despre Sistemul digital de magistrală Wishbone. Proiectele practice includ crearea unui Controler VGA FPGA sau a unui Cronometru digital FPGA.
Discipline preliminare: DL, DCS
Computer Engineering
În cadrul acestei discipline, studenții vor învăța elementele de bază necesare pentru descrierea, proiectarea și evaluarea sistemelor de calcul cu multi – procesoare. Se va construi o perspectivă generală asupra proiectării la nivel de sistem și se vor transmite principiile și tehnicile de bază pentru evaluarea precisă a performanțelor sistemelor de calcul. Vor fi predate, de asemenea, principiile de bază pentru proiectarea și testarea sistemelor multiprocesor.
În cadrul laboratorului, participanții vor învăța să proiecteze, să simuleze și să implementeze un Element de Procesare (Arithmetic Logic Unit) folosind FPGA, prin intermediul platformei ModelSim. Vor fi familiarizați, de asemenea, cu procesul de proiectare, simulare și implementare pe FPGA a unui CPU de 4 biți, precum și a unei memorii distribuite. Vor învăța să proiecteze, să simuleze și să implementeze o ierarhie de magistrale, folosind FPGA Altera DE2 și platforma ModelSim.
Discipline preliminare: CA, CO
Web Application Design
În cadrul acestui curs se urmărește furnizarea de cunoștințe detaliate despre tehnicile de bază utilizate în standardele Web și programarea Web, precum și dobândirea abilităților necesare pentru aplicarea acestor tehnici în diverse domenii. Participanții vor învăța tehnicile de bază utilizate în programarea Web și vor dobândi abilitățile necesare pentru utilizarea diverselor baze de date în mediul Web. De asemenea, vor fi dezvoltate abilitățile necesare pentru proiectarea, implementarea, testarea, depanarea și îmbunătățirea performanțelor aplicațiilor Web, indiferent dacă acestea sunt noi sau create cu ajutorul unor cadre existente de programare Web.
În cadrul laboratorului se vor aborda următoarele subiecte: editarea paginilor HTML, aplicarea stilurilor prin utilizarea fișierelor de tip stylesheet, dezvoltarea aplicațiilor Javascript, utilizarea bazelor de date, programarea PHP, dezvoltarea aplicațiilor MySQL și utilizarea cadrului de programare web.
Discipline preliminare: PT, Databases
Computer Security
Acest curs își propune să ofere cunoștințe detaliate despre fundamentele conceptuale, problemele, mecanismele și instrumentele utilizate pentru a asigura securitatea sistemelor informatice, software-urilor și rețelelor de comunicații. Astfel, la finalul acestuia, vei putea înțelege principiile teoretice ale securității, în special ale criptografiei, precum și principiile de proiectare care asigură securitatea sistemelor. De asemenea, vei învăța despre mecanismele de securitate utilizate în sistemele de operare, software-uri și rețele și despre vulnerabilitățile și atacurile de securitate, precum și mecanismele de prevenire a acestora.
În cadrul laboratorului, studenții vor învăța despre autentificarea bazată pe parole în Unix, atacurile asupra autentificării bazate pe parole și vor exersa utilizarea funcțiilor de criptare simetrice în .NET, cum ar fi DES, 3DES și AES. Vor fi prezentate și tehnici de criptare cu chei publice și semnături digitale în .NET, inclusiv RSA și DSA. De asemenea, studenții vor învăța despre manipularea numerelor mari în Java și funcțiile de criptare disponibile în Java. În plus, vor fi prezentate și concepte legate de atacurile de tip buffer-overflow.
Discipline preliminare: CP, OS, CN
Semestrul II
Digital Signal Processing
Acest curs are ca scop oferirea de cunoștințe detaliate despre tehnicile de bază utilizate în procesarea semnalelor digitale și construirea abilităților necesare pentru a aplica aceste tehnici în diverse domenii. Se vor învăța tehnicile de bază folosite în conversia, analiza și procesarea semnalelor și sistemelor digitale în domeniile timp și frecvență. Totodată, se vor dezvolta abilitățile necesare pentru utilizarea sistemelor de calcul și a echipamentelor specializate (procesoare de semnal digital – DSP-uri) în aplicații de procesare a semnalelor. De asemenea, se vor dezvolta abilități pentru proiectarea, implementarea, testarea, depanarea și îmbunătățirea performanțelor sistemelor hardware și software utilizate în aplicații de procesare a semnalelor digitale.
În cadrul laboratorului, studenții vor fi introduși în arhitectura și programarea DSP-urilor Motorola/Freescale și Analog Devices. Vor fi prezentate mediile de dezvoltare a aplicațiilor și instrumentele software corespunzătoare. Vor fi abordate conceptele de bază ale programării DSP și testarea lor. De asemenea, se va discuta despre programarea Audio CODEC și aplicațiile sale. Studenții vor fi îndrumați în programarea operațiunilor autonome ale DSP-urilor.
Discipline preliminare: Calculus, CAM
Compilation Techniques
Acest curs are ca obiectiv să învețe studenții să proiecteze și să implementeze un compilator pentru o gramatică dată, precum și să poată să-și proiecteze propria gramatică. Deși tehnicile de compilare sunt utilizate în mod obișnuit pentru a scrie programe traductoare, ele sunt aplicabile și pentru realizarea unei varietăți de programe similare traductoarelor: sisteme de operare, sisteme de gestionare a bazelor de date, editoare de text și programele folosite pentru interfața cu utilizatorul care necesită un limbaj de comunicare (comandă). Prin urmare, studenții vor fi capabili să înțeleagă conceptele și tehnicile de bază din spatele compilatoarelor și să le aplice în diferite proiecte de programare.
În cadrul laboratoarelor, accentul se pune pe cunoștințele practice legate de conceptele discutate, precum și pe capacitatea de a aborda și rezolva aplicații cu conținut predefinit.
Discipline preliminare: CP, PT, SEF
Introduction to IoT and Cloud Architectures
Acest curs se concentrează pe utilizarea instrumentelor specifice pentru a explica funcționarea sistemelor IoT și pentru a construi proiecte specifice de IoT și cloud. În cadrul acestui curs, studenții vor fi familiarizați cu componentele și instrumentele specifice utilizate în proiectarea aplicațiilor de IoT și cloud. De asemenea, se vor analiza aplicații tipice pentru a înțelege cum funcționează sistemele IoT în practică. Prin finalul cursului, studenții vor dobândi cunoștințe esențiale pentru proiectarea unui sistem IoT și vor fi capabili să utilizeze instrumentele specifice pentru a construi și implementa proiecte IoT și cloud. De asemenea, vor fi capabili să înțeleagă și să analizeze aplicații IoT existente și să adapteze tehnologiile de IoT pentru proiectele lor individuale.
Laboratorul se va concentra pe introducerea studenților în utilizarea platformei Node-Red și a limbajului de programare JavaScript pentru dezvoltarea de soluții IoT. În cadrul acestui laborator, se vor explora funcțiile specifice ale platformei Node-Red și se vor analiza diferite modalități de utilizare a acestora pentru a crea soluții IoT eficiente. De asemenea, se va utiliza un simulator de temperatură și se vor explora bazele de date pentru a crea soluții IoT care să poată fi implementate într-un mediu real. Studenții vor învăța, de asemenea, să programeze în rețea Raspberry PI și să creeze soluții IoT adaptate nevoilor lor specifice. De asemenea, se vor analiza diferite platforme IoT Cloud și se vor explora avantajele și dezavantajele acestora.
Discipline preliminare: CP, DL, DMD
Database Design
Acest curs se va concentra pe dezvoltarea cunoștințelor și abilităților necesare pentru a proiecta și gestiona baze de date complexe, incluzând învățarea limbajului Oracle PL/SQL și a arhitecturii și principiilor bazelor de date orientate pe obiecte și NoSQL. Prin finalul cursului, studenții vor fi capabili să își îmbunătățească abilitățile de gestionare a datelor în contextul organizatiilor și afacerilor moderne.
Acest laborator se va concentra pe utilizarea Oracle SQL+ și a conceptelor aferente, cum ar fi variabilele și setările SQL+, rapoartele și funcțiile PL/SQL de bază. De asemenea, se va explora utilizarea cursurilor și a declanșatoarelor (triggers) în Oracle SQL+ și modul de gestionare a excepțiilor. Studenții vor avea ocazia să pună în practică cunoștințele dobândite prin intermediul unor proiecte și exerciții practice.
Discipline preliminare: Databases
Computer Graphics
În cadrul acestui curs de Grafică pe calculator, studenții vor fi inițiați în elementele introductive ale domeniului și vor dobândi o imagine de ansamblu asupra Graficii pe calculator. Cursul se va concentra pe cunoașterea metodelor de implementare a diferitelor algoritmi, astfel încât studenții să fie capabili să aplice aceste cunoștințe în proiectarea și dezvoltarea de programe grafice. În plus, se va acorda o atenție specială analizei performanței algoritmilor în Grafica pe calculator și testării programelor de calculator. Studenții vor avea oportunitatea de a aplica cunoștințele dobândite în cadrul laboratoarelor și prin intermediul proiectelor practice.
În cadrul acestui laborator, studenții vor învăța despre formatul de grafică XPM și modul de utilizare a acestuia. De asemenea, se va explora modul de desenare a liniilor și a operațiilor de decupare (clipping), precum și tehnici de decupare a poligoanelor și umplerea acestora. Laboratorul va include, de asemenea, concepte de bază privind obiectele tridimensionale (3D), precum și transformările 3D și modul de gestionare a acestora în cadrul programelor de grafică. Studenții vor avea oportunitatea de a-și pune în practică cunoștințele prin intermediul exercițiilor și proiectelor practice.
Discipline preliminare: PT, CP
Data Mining
Scopul acestui curs este de a oferi studenților cunoștințe de bază în domeniul mining-ului de date. Mining-ul de date este un domeniu interdisciplinar care dezvoltă algoritmi pentru descoperirea cunoștințelor (categorii, modele, concepte, relații și tendințe), construirea de modele și efectuarea de predicții din date structurate, semi-structurate sau nestucturate. De asemenea, acesta extrage informații din baze de date mari. Mining-ul de date este un proces care utilizează o varietate de instrumente pentru a descoperi modele și relații în date. Aceste modele și relații sunt utilizate pentru a defini un model de date. Cursul se va concentra pe introducerea conceptelor și tehnicilor utilizate în mining-ul de date, precum și pe aplicarea acestora în proiecte practice.
Laboratorul se va concentra pe utilizarea mediului de data mining Weka și pe dobândirea de cunoștințe și abilități practice în explorarea, preprocesarea și analiza datelor. Acestea includ construirea de clasificatori tip 1R și J48, utilizarea tehnicilor de clusterizare pentru data mining, găsirea de reguli de asociație și construirea de clasificatori tip Naive Bayes. De asemenea, studenții vor explora și vizualiza datele, vor efectua experimente de data mining și vor învăța cum să prezinte și să interpreteze rezultatele.
Discipline preliminare: None
Embedded Systems
Cursul se va concentra pe utilizarea unor instrumente specifice pentru a explica funcționarea sistemelor încorporate (Embedded Systems), dar și pentru a construi proiecte specifice de sisteme încorporate. Studenții vor învăța definiția, caracteristicile, structura și funcționarea unui sistem încorporat (ES), problemele tipice care apar în proiectarea unui ES bazat pe microcontroller, studiul componentelor și instrumentelor specifice utilizate în proiectarea de ES, studiul unor aplicații tipice și dobândirea de cunoștințe pentru proiectarea unui ES bazat pe microcontroller cu o funcționalitate prestabilită.
Acest laborator se va concentra pe echipamentele utilizate în aplicațiile cu microcontrolere, cu accent pe porturile microcontrollerului MC9S12DJ256, conversia analog-digitală (ADC), modularea lățimii de impuls (PWM), sistemul de întreruperi și implementarea protocolului CAN 2.0 pe familia de microcontrolere HCS12. Studenții vor învăța despre funcționalitățile acestor echipamente și cum să le utilizeze în proiectarea și implementarea de aplicații cu microcontrolere.
Discipline preliminare: DL, DCS, DMD
Design and Architecture of Complex Software Systems
În cadrul acestui curs se va oferi o introducere în proiectarea și arhitectura sistemelor software. Studenții vor învăța să înțeleagă și să folosească modele și stiluri arhitecturale fundamentale, aplicându-le în proiectarea de software. Vor fi abordate modelele arhitecturale comune pentru diferite categorii de aplicații.
În cadrul laboratorului, se vor explora stilurile arhitecturale fundamentale utilizate în proiectarea sistemelor software, precum și diverse tipare arhitecturale aplicabile în domeniul sistemelor adaptative și distribuite. De asemenea, se va aborda utilizarea tiparelor arhitecturale pentru accesul la date, în vederea înțelegerii modului în care acestea pot fi utilizate pentru a optimiza performanța și scalabilitatea sistemelor software. În urma acestui laborator, studenții vor dobândi competențe practice în proiectarea și implementarea sistemelor software bazate pe stiluri și tipare arhitecturale consacrate în domeniu.
Discipline preliminare: CP, OOP, PT, DSA, SEF