Curs Python Advanced

Lista de clase la care te poți înscrie:

Cursul Python Advanced începe marți, 20 Noiembrie, la ora 18:00. Cursul se desfășoară în fiecare zi de marți, în intervalul 18:00-22:00, timp de 10 săptămâni.
Cursul cuprinde 10 sedinte de curs, 4 ore/săptămână.

Cursul se adreseaza cursantilor care au promovat cusul Python Fundamentals sau care detin cunostintele predate la cursul Python Fundamentals.

Tarif: 500 lei -studenți la licența / 550 lei – persoane fizice

Instructor: George Pandele

Înscrie-te acum
Nivel

Advanced

Nr. Ședințe

10

Durata ședinței

4 ore

Studiu individual

6 ore/săptămână

Limba de predare

Română

Metoda de evaluare
  • examene de capitol
  • examen parțial
  • examen final
Tarife
500 lei - student
550 lei - pers. fizică
840 lei - pers. juridică

Despre curs

Python Advanced este cel de-al doilea modul de Python și se adresează celor care au experiență în Python.

Cursul poate fi privit ca fiind format din trei părți:

  1. Concepte noi în programarea Python
  2. Django web framework
  3. Shopping cart – proiect final

1. Concepte noi în programare Python

În această parte vom vorbi de Funcțional Programing, Threading, Multiprocessing, Async Programming și Reactive Programming. Tot în această parte vom învăța Pandas care este librăria folosită în Data Science, Modelare financiară și în Stock Modeling. Referitor la stock modeling o să luăm primele date de pe yahoo finance și vom observa cum variază Apple cu S&P500.

 

2. Django web framework

În această parte o să învățăm componenetele framework-ului Django.

 

3. Shopping cart

În această parte vom scrie primul shopping cart.

 

La finalul acestui curs veți avea primul proiect un basic shopping cart care include recommended system (o parte din artificial intelligence) in Django care poate fi dat ca referință la CV-ul dumneavoastră.

Desfășurarea cursului Python Fundamentals la Telecom Academy

Cursul Python Fundamentals are 10 ședințe de curs, 9 ședințe de laborator și ședința de examinare și explicații.

Cursul Python Fundamentals este integral dezvoltat de către Telecom Academy. Ne bazăm pe experiență cursurilor deja dezvoltate de noi în ultimii 10 ani (Java, PHP, Baze de Date, Linux, IOS Swift, JavaScript).

Telecom Academy a dezvoltat un material de studiu bine structurat, accesibil inclusiv cursanților care nu au mai avut tangențe cu programarea până în acest moment.

Materialul de curs este online și pus la dispoziția cursanților pe site-ul Telecom Academy, imediat după ce cursantul a efectuat înscrierea la curs. Fiecărui cursant i se pune la dispoziție un user și o parolă cu care să se poată înregistra pentru a citi materialul de curs.

Contul Online pentru acces la distanță

După procesarea plății de către echipa Telecom Academy, cursantului i se creează cont pe platforma cursuri.telacad.ro, iar acesta va primi un mail cu pașii pe care trebuie să îi urmeze pentru configurare.

Telecom Academy creează cont pe platforma de e-learning pentru fiecare cursant. Pe contul personal vor fi accesibile următoarele:

  • materialul de studiu online
  • catalogul cu notele obținute la fiecare examen
  • linkul pentru susținerea examenelor

Examene și evaluări – Criterii de promovare

Examenele reprezintă o parte importantă din criteriile de promovare a cursului.

Există două tipuri de examene: testele pentru capitole și examenul final. Examenul final se susține la sala de curs sub supravegherea instructorului și este format din două părți – teoretică și practică). Partea teoretică constă în teste grilă, iar partea practică se susține pe calculator și constă în realizarea unei aplicații cu 3-4 cerințe.

Pentru a fi promovat la un examen cursantul trebuie să obțină un punctaj minim de 70%.

În cazul examenului final, cursantul trebuie să obțină minimum 70% atât la partea teoretică, cât și la partea practică.

Examenele teoretice de capitol au între 10 și 30 de întrebări. Examenul final teoretic are între 40 și 60 de întrebări.

Programa

  1. Recapitulare Obiecte si structuri de date
  2. Clase in Python, Metode in Python, Atribute in Python
  3. Obiecte si instantierea claselor
  4. __init__ care joaca rol de constructor
  5. Structuri de date: lista, tuple, dictionare si seturi
  6. Lucru avansat cu obiecte

Callable instance

  1. Callable classes
  2. Detecting callable object
  3. Closure and Decorator

i.Local Functions

ii.Returning functions from Functions

iii.Closure and Nested Scopes

iv.Function Decorators

v.A first Decorator Example

vi.What can be a Decorator?

vii.Instances as Decorators

viii.Instances as Decorators

ix.Multiple Decorators

x.Decorating Method

xi.functools.wraps()

  1. Tratarea erorilor in detaliu

.             Try -> except

  1. ValueError except
  2. IOError except
  3. Raise Exception
  4. User defined exception
  1. PEP8 – standard de scriere python code
  2. Lungimea maxima a unei linii
  3. Blank Lines (linii albe)
  4. Spatii albe in expresii si statementuri
  5. Documentatie claselor, pachetelor (modulelor) si codului in Python
  6. Conventia de nume pentru clase, functii, variabile, metode
  7. Git basic
  8. Mai multe despre Obiecte si deep copies (copierea adanca)

.             Ce-nseamna egalitatea obiectelor

  1. Cum rescriem operatorul egal intre obiecte
  2. Ce-nseamna deep copies si exemple
  3. Compararea a doua seturi de date din surse diferite yahoo finance si sqlite database si actualizare datelor in sqllite.
  4. Lucrul cu Vagrant si cygwin

.             Ce este vagrant? Install vagrant?

  1. Ce este cygwin? Install cygwin?
  2. Configurare Pycharm sa lucreze cu cygwin?
  3. Threading si multiprocessing in Python
  4. Ce sunt Threadurile si cum sunt tratate in Python?
  5. Ce sunt Multiprocesele si cum sunt tratate in Python?
  6. Cand utilizez Threaduri? Cand utilizez Multiprocese?
  7. Threduri si Multiprocese exemple utilizand map si queues? Comparatie intre timpi de rulare?
  8. Threduri utilizand semafoare? Avantajele semafoarelor in threduri?
  1. Functional programming
  2. First class function
  3. Lambda
  4. Map
  5. Reduce
  6. Filter
  7. Lazy evaluation
  8. Generator si liste comprehension
  9. Modulele: Itertools si functools. Alte operatii de functional programming cu ajutorul acestor module

 

  1. Bazele Async Programing Python
  2. Ce este async Programming? Libraria asyncio in python3.
  3. Event Loop
  4. Coroutines, Futures, and Tasks
  5. Transports, Protocols and Streams
  6. Working with Sub-Processes
  7. Mai multe despre stream programming utilizand generator, iterator and iterables
  8. Cand utilizam Async, cand utilizam threading cand utilizam multiprocessing
  9. Python Testing

.             Tipuri de testare in programare: Unit Testing, Integration Testing, Functional Testing, System Testing, Stress Testing, Performance Testing, Usability Testing, Acceptance Testing, Regression Testing, Beta Testing si cateva cuvinte despre fiecare

  1. Unittest in Python
  2. TLD – test last development
  3. TDD – test driven development
  4. BDD – behavior driven development
  5. Tipuri de Assert
  6. setUp and tearDown
  7. Alte tipuri de teste Test Stub, Test Spy, Mock Object, Fake Object
  8. Coverage Testing
  9. Continuous integration ce-nseamna unde se foloseste?

1. Pandas si Data Frame
k. Ce este Pandas si unde se poate folosi
l. Data Frame
m. Operatii cu multiple data frames in Python
n. Pandas Indexing
o. Pandas Filtering
p. Pandas grouping and aggregating/splitting
q. Pandas time-series
r. Pandas moving windows
s. Pandas apply, map si applymap
t. Cum pot calcula mean, abaterea medie, standard variance, covariance utilizand Pandas
u. Pandas Plotting
v. Exemple reale cu Pandas avand ca input yahoo finance
2. Stream programming using python reactive programming (PyRx)
a. De ce Reactive Programming?
b. Observable
c. Operators

w. Combining Observables

x. Reading and Analyzing Data

y. Hot Observables – Multicast

z. Concurrency

Examen Parțial

1. Django Basic
a. Ce este Django?
b. Django install
c. Explorare Django
d. Crearea primului proiect in Django
e. Rularea primului proiect in Django din command line si Pycharm
f. Crearea unei noi aplicatii in Django
g. Django create migration
h. Django apply migration
i. Sqllite – Ce este? Cum este folosit de Django?
j. Django admin
k. Django urls
l. Django debugging
2. HTML si CSS basic
. Ce este Html
a. Ce este CSS
b. Html forms
c. Html table
d. Html input
e. Html radio
f. Html checkbox
g. Html textarea
h. Html image
i. Css basic – style, color, text type, text font, background color
j. Crearea de pagini html/css
3. Mysql and Django
. Mysql install
a. Interogari de baza in mysql
b. Migrarea Django de la sqllite la mysql

 

1. Modele in Django (ORM)
a. Ce este ORM (Object relational mapping)
b. Cum mapam obiectele/atributele din Django la tabelele/coloanele din baza de date
c. Cum acesam baza de date prin intermediul lui Django shell dupa ce obiectele sunt mapate cu baza de date

2. Django view & forms
a. Django view – ce este?
b. Django forms – ce este?
c. Crearea primului web forms in Django

3. Django template
a. Ce este un Django template?
b. Ce este Jinja2? Cum se utilizeaza Jinja2 in Django?
c. Cum cream un template custom in Django?

1. Django shopping cart
a. Users creation
b. Users loggin
c. Crearea si cautarea de produse
d. Adaugare in cos de produse
e. Trimite si-nregistrare comanda
2. LDD la shopping cartul creat
3. Adaugare recommendation system la shopping cart
4. Django and Jquery pentru a imbunatati interactiunea utilizatorului cu shopping cart
5. Incheiere primului dumneavoastra site publicat pe github si care poate fi dat ca referinta la CV

Examen – Adaugare functionalitate noua la shopping cart existent

Sponsori și parteneri