Călătoria în lumea programării înseamnă curiozitate, răbdare și practică multă pentru a fixa erori aproape inevitabile atunci când gândim programatic și construim soluții software.
Cursul de programare în Python este modul în care îți vei dezvolta abilitatea de a comunica unui calculator cum să rezolve probleme. Pe măsură ce înveți regulile, modelele mentale sau tiparele specifice Python, comunicarea va fi din ce în ce mai ușoară încât să reușești să dezvolți soluții pentru probleme din ce în ce mai complexe.
Cursul este structurat astfel încât să pună în valoare simplitatea și flexibilitatea limbajului de programare Python precum și oportunitatea pe care acesta o reprezintă pentru oricine vrea să devină developer.
Limbajul de programare Python este folosit la scară largă în prezent, fiind foarte popular, simplu de învățat și de utilizat. Totul a pornit ca un hobby de Crăciun pentru Guido van Rossum în anul 1989. Fiind programator, el a dorit să dezvolte un interpretor de cod pentru limbajul la care visa: simplu, intuitiv, open source, accesibil pe orice platformă.
Python este un limbaj multifuncțional folosit, de exemplu, de către companii precum Google sau Yahoo! pentru programarea aplicațiilor web. Popularitatea și puterea limbajului de programare Python au dus la adoptarea sa ca limbaj principal de dezvoltare de către programatori specializați, dar și la predarea limbajului în unele medii universitare.
• Vei instala un mediu de dezvoltare (ex: Visual Studio Code) și vei scrie programe
• Vei lucra cu șiruri de date, mulțimi, dicționare și liste care permit dezvoltarea rapidă de aplicații web
• Vei dezvolta scripturi care pot automatiza procese repetitive, care pot analiza pachete de date, care pot accesa selectiv informații din baze de date SQL și, de asemenea, pot testa aplicații automat
• Vei face code management – vei lucra cu Git, software de urmărire a schimbărilor în seturi de fișiere (Version Control și Github)
• Vei structura codul urmând modelul OOP (programare orientată pe obiecte) sau modelul programării procedurale
• Vei realiza conversii de date dintr-un standard de reprezentare în altul (JSON și YAML)
• Vei construi site-uri și aplicații web integrând librăriile Flask și Django
• Vei scrie Clean Code și vei aplica principiile DRY, KISS și YAGNI
Avantajul participării la acest curs online constă în faptul că poți parcurge lecțiile în ritm propriu. Sesiunile înregistrate îți oferă posibilitatea de a relua materialele de câte ori simți că informația mai trebuie sedimentată, astfel încât, la finalul programului de reconversie profesională să apeși butonul #CTRL+N(ew) și să dai startul carierei tale în IT!
Conceput din 14 lecții a câte 4 ore fiecare, recomandăm parcurgerea unei lecții pe săptămână. Programa analitică are rolul de a pune bazele cursanților în domeniul IT și de a-i pregăti pe aceștia pentru piața muncii în calitate de Developeri ai limbajului de programare Python.
La finalul cursului, vei înțelege conceptele de bază până la cele de nivel mediu ale limbajului de programare Python și, de asemenea, vei învăța cum poți folosi Python pentru a dezvolta diferite tipuri de aplicații.
Examenul final va consta într-o evaluare practică ce poate fi susținută de pe un calculator cu acces la internet.
Vei avea acces la un grup comun de sprijin cu instructorul, unde vei putea adresa întrebări despre ceea ce ai învățat și nu numai.
Suplimentar, instructorul pune la dispoziție materiale și conținut extra, care explică mai în detaliu anumite concepte (acolo unde este necesar).
Lesson 1 – Introduction
1. Introducere. What is a program? What’s the purpose of programming? What can we do with python?
2. Instalare mediu de dezvoltare. What is an IDE? How they make programmers’ life easier. (A lot of useful shortcuts will be presented along the course).
3. Configurare IDE pentru Python
4. Primul program in Python .Our first program in python run from the IDE
5. Python as a compiled and interpreted language (command line reproduction of the steps our IDE did for us in order to run the showed program)
6. Variables. What is a variable?
7. Literals: Integer, Floating Point, Boolean, Character and String
8. Python Shell
9. Operators (What is an operator, an expression in programming L1S9 Operators1.mkv)
10. Casting in Python
11. String concatenation
12. Ternary if-else operator
13. Controlling execution (decision instructions, iteration loops, break and continue statements)
14. Examples & exercises
Lesson 2 – Lists and strings
1. What are they?
2. List length, indexing and slicing
3. List update
4. Delete list items
5. List concatenation
6. Nested lists, multidimensional arrays
7. Built-in List Functions
8. Lists comprehensions
9. Manipulating strings (substring, comparing strings)
10. Splitting and joining strings
11. String formatting, f-Strings
12. Examples and exercises
Lesson 3 – Functions
1. What is a function and what is its general purpose
2. Writing functions guidelines
3. Positional and keyword arguments, default values
4. Python keywords. None explained
5. Variable lifecycle explained
6. Global and nonlocal in nested functions
7. Passing primitive variables to functions
8. Functions with a variable number of arguments
9. Passing arguments by assignment
10. Examples and exercises
Lesson 4 – Code management
1. Formatting code and linting
2. Version control
3. Git setup
4. Git workflow, track changes in local repository
5. Visual Studio Code source control (git) interface
6. Github, push your first code into Github
7. Comments – Write inline comments
8. Comments – Write documentation comments
9. Modules and packages – Modules
10. Modules and packages – Packages
11. Run a python program – debugging mode
12. Run a python program – with special arguments
13. Examples and exercises
Lesson 5 – Introduction to OOP
1. What is OOP, OOP vs Procedural
2. What is a class
3. What is an object
4. Constructor, self keyword
5. Polymorphism
6. Declaring and initializing a class instance
7. Memory allocation and the garbage collector
8. Instance variables vs static variables
9. Instance methods vs static methods
10. Access modifiers
11. Examples and exercises
Lesson 6 – Inheritance, abstract classes, interfaces
1. Inheritance explained
2. Overriding methods
3. Super keyword
4. Protected explained
5. Private explained
6. Abstract classes
7. Interfaces
8. Interfaces vs abstract classes
9. Property decorators, setter
10. Abstract property
11. Class methods
12. Magic methods
13. Examples and Exercises
Lesson 7 – Generators, Tuples, Collections, Set, Dictionaries
1. What is a generator
2. What is a tuple
3. What is a set
4. What is a dictionary
5. Set and dictionaries comprehensions
6. Examples & Exercises
Lesson 8 – Enums, Exception Handling
1. Enum class explained
2. Exceptions hierarchy
3. Try-except-else-finally explained
4. Raising exceptions (raise command)
5. Treated exceptions locally or delegating them
6. Defining our own exceptions
7. Examples & Exercises
Lesson 9 – File Handling, Serialization
1. Python file handling
2. Read files
3. Write/Create files
4. Delete Files
5. Flat vs. Nested data
6. JSON file
7. YAML
8. XML
9. Binary
10. Pickle
11. Examples & Exercises
Lesson 10 – Map, Filter, Reduce, NumPy
1. What is Map
2. What is Filter
3. What is Reduce
4. What is NumPy
5. NumPy usability in math operations
6. How python is used in data science
7. Python-specific data science libraries
8. Examples & Exercises
Lesson 11 – PIP, Python database connectivity
1. What is PIP
2. Setting up a connection to SQL Server from Python
3. Calling SQL code from Python
4. Closing python connection to SQL Server
5. Reading results from SQL queries into objects
6. Examples & Exercises
Lesson 12 – Web Frameworks
1. MVC in Python
2. What is Flask
3. What is Django
4. Introduction into Django
5. Examples and Exercises
Lesson 13 – Unit testing & Clean Code
1. Clean Code
1.1. Why is Clean Code Important
1.2. General code writing guidelines
1.3. DRY Principle
1.4. KISS principle
1.5. Yagni Principle
1.6. Unit Testing
2. Unit testing
2.1. Unit tests vs Integration Tests
2.2. unittest package
2.3. mockito in python
3. Examples & Exercises
Lesson 14 – Project
1. Preparing a project
2. Consulting and Checking the Project
3. Project finishing up and presentation
Cursurile se desfășoară exclusiv online, în limba română, pe o platformă de învățare dedicată și vor fi urmate în ritmul propriu; nu ești condiționat(ă) de o zi și o oră anume pentru prezența la curs, ci studiezi de oriunde dorești și oricând poți. Noi recomandăm studierea unei lecții pe saptămână.
După promovarea examenului final primești o diplomă de finalizare curs care atestă competențele dobândite. Aceasta poate fi trecută în CV. Diploma este recunoscută de companiile și industria IT. Programul CTRL+N este un program independent de programele inițiate de Ministerul Educației.
De asemenea vei primi și un link pentru activarea unei insigne digitale. Aceasta reprezintă o dovadă oficială a pregătirii tale și poate fi încărcată în profilul de LinkedIn sau distribuită pe alte platforme social media.
Periodic se organizează întâlniri live cu trainerii, de tip Meetup Q&A, pe platforma Cisco Webex; acestea vor fi publicate în calendarul din platforma de învățare în momentul în care, împreună cu trainerul, stabilim data și ora la care vor avea loc. Prezența la aceste întâlniri este opțională.
Toate cursurile CTRL+N sunt construite de la zero și nu necesită cunoștințe anterioare nici din domeniul IT, nici de matematică. De asemenea, nu există limită minimă de studii.
Unul din cele mai importante criterii în recrutare este proiectul pe care îl lucrezi în cadrul cursului. De asemenea și exercițiile propuse de instructor au un rol. Toate acestea vor reprezenta potofoliul tău, având astfel baza pe care vei începe să construiești și să te dezvolți.
Chiar dacă noi nu te vom ajuta activ în găsirea unui job, dacă urmezi sfaturile instructorilor noștri și realizezi proiectul din curs, vei avea șanse mai mari să fii selectat/ă pentru interviu deoarece angajatorul va putea valida cunoștințele dobândite de tine pe parcursul programului.
Curs de reconversie profesională în IT
Călătoria în lumea programării înseamnă curiozitate, răbdare și practică multă pentru a fixa erori aproape inevitabile atunci când gândim programatic și construim soluții software.
Cursul de programare în Python este modul în care îți vei dezvolta abilitatea de a comunica unui calculator cum să rezolve probleme. Pe măsură ce înveți regulile, modelele mentale sau tiparele specifice Python, comunicarea va fi din ce în ce mai ușoară încât să reușești să dezvolți soluții pentru probleme din ce în ce mai complexe.
Cursul este structurat astfel încât să pună în valoare simplitatea și flexibilitatea limbajului de programare Python precum și oportunitatea pe care acesta o reprezintă pentru oricine vrea să devină developer.
Limbajul de programare Python este folosit la scară largă în prezent, fiind foarte popular, simplu de învățat și de utilizat. Totul a pornit ca un hobby de Crăciun pentru Guido van Rossum în anul 1989. Fiind programator, el a dorit să dezvolte un interpretor de cod pentru limbajul la care visa: simplu, intuitiv, open source, accesibil pe orice platformă.
Python este un limbaj multifuncțional folosit, de exemplu, de către companii precum Google sau Yahoo! pentru programarea aplicațiilor web. Popularitatea și puterea limbajului de programare Python au dus la adoptarea sa ca limbaj principal de dezvoltare de către programatori specializați, dar și la predarea limbajului în unele medii universitare.
• Vei instala un mediu de dezvoltare (ex: Visual Studio Code) și vei scrie programe
• Vei lucra cu șiruri de date, mulțimi, dicționare și liste care permit dezvoltarea rapidă de aplicații web
• Vei dezvolta scripturi care pot automatiza procese repetitive, care pot analiza pachete de date, care pot accesa selectiv informații din baze de date SQL și, de asemenea, pot testa aplicații automat
• Vei face code management – vei lucra cu Git, software de urmărire a schimbărilor în seturi de fișiere (Version Control și Github)
• Vei structura codul urmând modelul OOP (programare orientată pe obiecte) sau modelul programării procedurale
• Vei realiza conversii de date dintr-un standard de reprezentare în altul (JSON și YAML)
• Vei construi site-uri și aplicații web integrând librăriile Flask și Django
• Vei scrie Clean Code și vei aplica principiile DRY, KISS și YAGNI
Avantajul participării la acest curs online constă în faptul că poți parcurge lecțiile în ritm propriu. Sesiunile înregistrate îți oferă posibilitatea de a relua materialele de câte ori simți că informația mai trebuie sedimentată, astfel încât, la finalul programului de reconversie profesională să apeși butonul #CTRL+N(ew) și să dai startul carierei tale în IT!
Conceput din 14 lecții a câte 4 ore fiecare, recomandăm parcurgerea unei lecții pe săptămână. Programa analitică are rolul de a pune bazele cursanților în domeniul IT și de a-i pregăti pe aceștia pentru piața muncii în calitate de Developeri ai limbajului de programare Python.
La finalul cursului, vei înțelege conceptele de bază până la cele de nivel mediu ale limbajului de programare Python și, de asemenea, vei învăța cum poți folosi Python pentru a dezvolta diferite tipuri de aplicații.
Examenul final va consta într-o evaluare practică ce poate fi susținută de pe un calculator cu acces la internet.
Vei avea acces la un grup comun de sprijin cu instructorul, unde vei putea adresa întrebări despre ceea ce ai învățat și nu numai.
Suplimentar, instructorul pune la dispoziție materiale și conținut extra, care explică mai în detaliu anumite concepte (acolo unde este necesar).
Lesson 1 – Introduction
1. Introducere. What is a program? What’s the purpose of programming? What can we do with python?
2. Instalare mediu de dezvoltare. What is an IDE? How they make programmers’ life easier. (A lot of useful shortcuts will be presented along the course).
3. Configurare IDE pentru Python
4. Primul program in Python. Our first program in python run from the IDE
5. Python as a compiled and interpreted language (command line reproduction of the steps our IDE did for us in order to run the showed program)
6. Variables. What is a variable?
7. Literals: Integer, Floating Point, Boolean, Character and String
8. Python Shell
9. Operators (What is an operator, an expression in programming L1S9 Operators1.mkv)
10. Casting in Python
11. String concatenation
12. Ternary if-else operator
13. Controlling execution (decision instructions, iteration loops, break and continue statements)
14. Examples & exercises
Lesson 2 – Lists and strings
1. What are they?
2. List length, indexing and slicing
3. List update
4. Delete list items
5. List concatenation
6. Nested lists, multidimensional arrays
7. Built-in List Functions
8. Lists comprehensions
9. Manipulating strings (substring, comparing strings)
10. Splitting and joining strings
11. String formatting, f-Strings
12. Examples and exercises
Lesson 3 – Functions
1. What is a function and what is its general purpose
2. Writing functions guidelines
3. Positional and keyword arguments, default values
4. Python keywords. None explained
5. Variable lifecycle explained
6. Global and nonlocal in nested functions
7. Passing primitive variables to functions
8. Functions with a variable number of arguments
9. Passing arguments by assignment
10. Examples and exercises
Lesson 4 – Code management
1. Formatting code and linting
2. Version control
3. Git setup
4. Git workflow, track changes in local repository
5. Visual Studio Code source control (git) interface
6. Github, push your first code into Github
7. Comments – Write inline comments
8. Comments – Write documentation comments
9. Modules and packages – Modules
10. Modules and packages – Packages
11. Run a python program – debugging mode
12. Run a python program – with special arguments
13. Examples and exercises
Lesson 5 – Introduction to OOP
1. What is OOP, OOP vs Procedural
2. What is a class
3. What is an object
4. Constructor, self keyword
5. Polymorphism
6. Declaring and initializing a class instance
7. Memory allocation and the garbage collector
8. Instance variables vs static variables
9. Instance methods vs static methods
10. Access modifiers
11. Examples and exercises
Lesson 6 – Inheritance, abstract classes, interfaces
1. Inheritance explained
2. Overriding methods
3. Super keyword
4. Protected explained
5. Private explained
6. Abstract classes
7. Interfaces
8. Interfaces vs abstract classes
9. Property decorators, setter
10. Abstract property
11. Class methods
12. Magic methods
13. Examples and Exercises
Lesson 7 – Generators, Tuples, Collections, Set, Dictionaries
1. What is a generator
2. What is a tuple
3. What is a set
4. What is a dictionary
5. Set and dictionaries comprehensions
6. Examples & Exercises
Lesson 8 – Enums, Exception Handling
1. Enum class explained
2. Exceptions hierarchy
3. Try-except-else-finally explained
4. Raising exceptions (raise command)
5. Treated exceptions locally or delegating them
6. Defining our own exceptions
7. Examples & Exercises
Lesson 9 – File Handling, Serialization
1. Python file handling
2. Read files
3. Write/Create files
4. Delete Files
5. Flat vs. Nested data
6. JSON file
7. YAML
8. XML
9. Binary
10. Pickle
11. Examples & Exercises
Lesson 10 – Map, Filter, Reduce, NumPy
1. What is Map
2. What is Filter
3. What is Reduce
4. What is NumPy
5. NumPy usability in math operations
6. How python is used in data science
7. Python-specific data science libraries
8. Examples & Exercises
Lesson 11 – PIP, Python database connectivity
1. What is PIP
2. Setting up a connection to SQL Server from Python
3. Calling SQL code from Python
4. Closing python connection to SQL Server
5. Reading results from SQL queries into objects
6. Examples & Exercises
Lesson 12 – Web Frameworks
1. MVC in Python
2. What is Flask
3. What is Django
4. Introduction into Django
5. Examples and Exercises
Lesson 13 – Unit testing & Clean Code
1. Clean Code
1.1. Why is Clean Code Important
1.2. General code writing guidelines
1.3. DRY Principle
1.4. KISS principle
1.5. Yagni Principle
1.6. Unit Testing
2. Unit testing
2.1. Unit tests vs Integration Tests
2.2. unittest package
2.3. mockito in python
3. Examples & Exercises
Lesson 14 – Project
1. Preparing a project
2. Consulting and Checking the Project
3. Project finishing up and presentation
Cursurile se desfășoară exclusiv online, în limba română, pe o platformă de învățare dedicată și vor fi urmate în ritmul propriu; nu ești condiționat(ă) de o zi și o oră anume pentru prezența la curs, ci studiezi de oriunde dorești și oricând poți. Noi recomandăm studierea unei lecții pe saptămână.
După promovarea examenului final primești o diplomă de finalizare curs care atestă competențele dobândite. Aceasta poate fi trecută în CV.
Periodic se organizează întâlniri live cu trainerii, de tip Meetup Q&A, pe platforma Cisco Webex; acestea vor fi publicate în calendarul din platforma de învățare în momentul în care, împreună cu trainerul, stabilim data și ora la care vor avea loc. Prezența la aceste întâlniri este opțională.
Toate cursurile CTRL+N sunt construite de la zero și nu necesită cunoștințe anterioare nici din domeniul IT, nici de matematică. De asemenea, nu există limită minimă de studii.
Criteriile de recomandare după finalizarea cursului sunt promovarea examenului final cu minim nota 8 precum și realizarea proiectului aferent cursului ales și a exercițiilor propuse de instructor. Acestea vor reprezenta potofoliul tău, având astfel baza pe care vei începe să construiești și să te dezvolți. În acest fel, angajatorul va putea valida cunoștințele dobândite de tine pe parcursul programului și vei avea șanse mai mari să fii selectat pentru interviu. În plus, îți vom putea face recomandări de joburi deschise din piață, atât de la parteneri și nu numai, ca tu să ai opțiuni multiple la care să poți aplica.