Skip to content

Latest commit

 

History

History
367 lines (332 loc) · 14 KB

index.org

File metadata and controls

367 lines (332 loc) · 14 KB

Tehnici Avansate de Programare

Prezentare

Cursul Tehnici Avansate de Programare își propune să faciliteze să ofere pregătirea necesară pentru studenții Facultății de Matematică în vederea urmării unei cariere în domeniul IT.

Pe parcursul cursului studenții vor acumula un set de bune practici pentru dezvoltarea produselor software pe care le vor aplica lucrând în echipe la dezvoltarea unei aplicații Web. Aplicația va fi propusă de către membrii echipei.

Fișa disciplinei

Date despre program

Instituția de învățământUniversitatea „Alexandru Ioan Cuza” din Iași
FacultateaFacultatea de Matematică
DepartamentulMatematică
Domeniul de studiiMatematică
Ciclul de studiiLicență
Programul de studii/CalificareaMatematică-Informatică

Date despre disciplină

Denumirea disciplineiTehnici avansate de programare
Titularul activităților de cursLect. Dr. Marius Apetrii/Drd. Petru Rebeja
Titularul activităților de seminarLect. Dr. Marius Apetrii/Drd. Petru Rebeja
An de studiuIII
SemestruIV
Regimul disciplineiOpțional

Evaluare

Tip activitateCriterii de evaluareMetode de evaluarePondere în nota finală
CursCunoașterea și utilizarea corectă a noțiunilor și rezultatelor fundamentale2 teste (S3 şi S9)(TS)60%
LaboratorImplementarea corectă a rezultatelor teoreticeEvaluarea portofoliului (teme+proiect)(P)40%

Standard minim de performanță:

\begin{equation} TS ≥ 5 \end{equation} \begin{equation} P ≥ 5 \end{equation}

Referințe bibliografice

  1. Liviu Negrescu, Lavinia Negrescu, Limbajul C# pentru începători, Editura Albastră, 2011
  2. Joseph Albahari, Ben Albahari, C# 7.0 in a Nutshell: The Definitive Reference, O’Reilly, 2017
  3. Adam Freeman, Pro ASP.NET Core MVC, Apress, 2016
  4. Adam Freeman, Pro Entity Framework Core 2 for ASP.NET Core MVC, Apress, 2018
  5. https://docs.microsoft.com/en-us/visualstudio/releasenotes/tfs2017-relnotes
  6. https://git-scm.com/
  7. Robert C. Martin, Design Principles and Design Patterns, 2000
  8. Martin Fowler, Refactoring. Improving the Design of Existing Code, Addison-Wesley, 2018
  9. https://www.martinfowler.com/microservices/

Date de contact

Petru Rebeja

Email

(concat "petru" "." "rebeja" "@gmail.com")

Twitter

@petrurebeja

Anunțurile legate de curs/laborator vor fi marcate cu #TAP2020.

Marius Apetrii

Email

(concat "mapetrii" "@uaic.ro")

Săptămâna 01

Curs

Infrastructură și unelte

La curs discutăm despre infrastructura și uneltele necesare pentru dezvoltarea aplicațiilor pe platforma .net core.

Prezentarea de la curs poate fi descărcată în format pdf.

Laborator

Pregătirea mediului de lucru

Săptămâna 02

Curs

Recapitulare și noțiuni de bază

La curs discutăm despre tipurile de date în .net și exemplificăm principiile programării orientate-obiect pe o mini-aplicație. Discuția continuă cu diferența dintre clasele abstracte și interfețe iar spre sfârșit discutăm despre acuplare și coeziune.

Prezentarea de la curs poate fi descărcată în format pdf.

Laborator

La laborator aplicăm conceptele discutate la curs în dezvoltare unei mini-aplicații.

Cerințele pentru temă sunt pe pagina dedicată temei pe GitHub.

O parte din noțiunile discutate se regăsesc și în acest articol.

Săptămâna 03

Curs

Gestionarea resurselor și evaluare

La curs discutăm despre gestionarea eficientă a resurselor în .net și un șablon de implementare pentru IDisposable.

Prezentarea de la curs poate fi descărcată în format pdf.

Laborator

La laborator avem prima evaluare din acest semestru.

Pagina cu cerințele pentru evaluare este pe GitHub.

Săptămâna 04

Curs

Fluxul de lucru Git și principiile SOLID

La curs discutăm despre cum aplicăm fluxul de lucru Git în contextul unui anumit proiect (cu sau fără drepturi de a crea modificări) și enunțăm și exemplificăm principiile SOLID. Printre altele, discutăm și despre cum este indicat să adăugăm biblioteci din surse terțe la aplicația noastră.

Prezentarea la curs poate fi descărcat în format pdf.

Laborator

La laborator aplicăm conceptele SOLID și fluxul de lucru discutate la curs asupra exercițiului de la tema 1.

Săptămâna 05

Curs

Modularizarea codului-sursă

La curs discutăm despre cât este de important să modularizăm codul-sursă.

Prezentarea la curs poate fi descărcat în format pdf.

Laborator

La laborator modularizăm aplicația implementată la tema 1.

Săptămâna 06

Curs

Delegates, Attributes, Lambda Expressionis & Extension Methods

La curs discutăm despre Delegates, Attributes, Lambda Expressionis și Extension Methods.

Prezentarea la curs poate fi descărcat în format pdf.

Laborator

La laborator extindem aplicația implementată la tema 1 și începem să discutăm despre proiectele de curs.

Săptămâna 07

Curs

LINQ & Entity Framework

La curs discutăm despre LINQ, Entity Framework și cum abstractizăm accesul la date cu Repository Pattern.

Prezentarea la curs poate fi descărcat în format pdf.

Laborator

La laborator începem să definim schema de baze de date pentru proiectul de curs.

Săptămâna 08

Curs

Unit of Work pattern, Dependency Injection & Test-Driven Development

La curs discutăm despre cum putem încapsula operațiile asupra bazei de date într-o tranzacție cu Unit of Work pattern apoi discutăm despre Dependency Injection și Test-Driven Development.

Prezentarea la curs poate fi descărcat în format pdf.

Laborator

La laborator analizăm propunerile pentru proiectele de curs.

Săptămâna 09

Curs

Baze de date și Gestiunea sarcinilor de lucru

La curs discutăm despre cum păstrăm istoricul bazei alături de istoricul codului-sursă și fluxul de lucru pentru dezvoltarea proiectului de curs.

Prezentarea la curs poate fi descărcat în format pdf.

Laborator

La laborator avem a doua evaluare din acest semestru.

Pagina cu cerințele pentru evaluare este pe GitHub.

Săptămâna 10

Curs

ASP.NET Core MVC — Introducere

La curs discutăm despre şablonul Model-View-Controller şi facem introducerea platformei ASP.NET Core MVC.

Prezentarea la curs poate fi descărcat în format pdf.

Laborator

La laborator lucrăm la proiectul de la finalul semestrului.

Săptămâna 11

Curs

=Task Parallel Library= şi securitatea în ASP.NET Core MVC

La curs discutăm despre Task Parallel Library şi cum async şi await ne ajută în implementarea proprie a modulelor care se ocupă de autorizare şi autentificare în ASP.NET Core MVC.

Prezentarea la curs poate fi descărcat în format pdf.

Laborator

La laborator lucrăm la proiectul de la finalul semestrului.

Săptămâna 12

Curs

Database design & Introducere în DevOps

La curs discutăm despre proiectarea bazelor de date şi facem o scurtă introducere în practicile şi nomenclatura DevOps.

Prezentarea la curs poate fi descărcat în format pdf.

Laborator

La laborator lucrăm la proiectul de la finalul semestrului.

Săptămâna 13

Curs

De la modularizare la arhitectură

Începem cursul cu o discuţie asupra unui studiu de caz — de ce este indicat să adăugăm un ViewModel pentru fiecare entitate, apoi discutăm despre arhitectura sistemelor software. La sfârșit implementăm o conductă pentru Continuous Integration.

Prezentarea la curs poate fi descărcat în format pdf.

Laborator

La laborator lucrăm la proiectul de la finalul semestrului şi ne pregătim pentru prezentarea proiectelor.

Săptămâna 14

Prezentare proiecte

La curs şi laborator prezentăm proiectele.

Legături utile