Go to Top

JavaScript – Advanced

Кратко представяне на езика за програмиране JavaScript:

JavaScript е интерпретиран език за програмиране, разпространяван с повечето Уеб браузъри. Поддържа обектно-ориентиран и функционален стил на програмиране.Най-често се прилага към HTML-а на Интернет страница с цел добавяне на функционалност изареждане на данни. Може да се ползва също за писане на сървърни скриптове NodeJS, както и за много други приложения.

Цел на курса:

Курсът по JavaScript – Advanced е продължение на JavaScript – Basic курса, като засяга по-задълбочени материaли. Курсистите ще бъдат запознати с по-напреднали техники, технологии и инструменти за автоматизация. Голяма част от занятията ще включват практически задачи, в които курсистите ще трябва да разработят сами (с помощ от лектора) приложения по предварително поставено задание.

За кого е предназначен курсът:

Препоръчително е курсистите да имат завършен курса по JavaScript – Basic, или да имат основни познания по HTML, CSS и JavaScript – синтаксис, типове данни, функции, DOM манипулации и AJAX.

Лектор на курса: Мартин Маринов. Повече информация – тук.
Какво е необходимо за участие в курса:

Необходимо е курсистите желаещи да вземат участие в курса да се запишат до 3 дни преди началната дата на обучението, като направят това на място в административния офис на компютърно образователния център „Progress”( пл. Славейков №11) заплащайки минимум първа вноска за обучението. Възможно е и заплащане по банков път.

Ползване на личен или служебен лаптоп:

Тези, които нямат възможност да ползват собствен лаптоп, трябва да заявят за това по email или телефон, за да им бъде осигурен служебен лаптоп/настолен компютър от центъра.

Мащаб на групата:

С цел по-ефективно обучение, групите са ограничени до 8 курсиста.

Издаване на Сертификат:

Степента на справяне с практичните задачи по време на обучението, домашните работи, както и финалния тест са основание за издаване на Сертификат.Разбирането на поставените задачи и справянето на курсистите с тях е от изключително значение за по-добрата им реализация след обучението.

Хостинг план:

Безлатен хостинг за всеки един курсист за целите на курса, предоставен от нашите партньори от Суперхостинг, чрез план – “СуперПро” . Повече информация – тук.

Продължителност на курса:

Курса е с обем от 100 учебни часа и ще продължи три месеца. Занятията, ще се провеждат два пъти в седмицата.

Цена и заплащане на курса:

Цена: 750лв.
Има възможност за разсрочено заплащане на курсa на две вноски. Първата вноска от 400 лева се внася при записването, а втората(350 лева) в началото на втория месец от обучението.

Учебна програма:

I. Introduction
1. Introduction & Overview
2. About the course and on-line resources being used.
3. JavaScript Overview
4. Historical overview in 20 minutes (or how the history repeats itself)
5. JavaScript standards: ES5, ES6 and ES.Next?
6. The difference between JavaScript and other OOP languages
7. JavaScript data types: „is everything an object“?
II. JavaScript Essentials
1. Functions and Function Expressions
2. First-class citizens
3. Defining Functions
4. Function declarations
5. Function expressions
6. Expression vs. declaration
7. Why not to use the Function constructor
8. Immediately-invoked function expressions (IIFE)
9. Scope
10. Closures
11. Recursion
12. Factorial example
13. Traversing the DOM
14. Recursion with expressions
15. Function as object2
16. The Function object
17. The Function prototype object
18. The arguments object
19. OOP in JavaScript4
20. OOP in a nutshell
21. OOP in JavaScript
22. Object creation
23. Object Literal (object initializer)
24. Constructor Function
25. Object properties (including ES2015 syntax)
26. Inheritance with Classical OOP4
27. Classical (class-based) Inheritance vs. Prototypal Inheritance
28. Classical (class-based) Inheritance in JavaScript
29. Prototypal Inheritance in JavaScript
30. Prototypal Inheritance – How it works?
31. The „this“ context 4
32. „this“ in global context
33. „this“ in function invocation context (strict or non-strict)
34. „this“ in method invocation context
35. „this“ in constructor invocation context
36. „this“ in call(), apply() and bind() methods
37. JavaScript Exceptions 4
38. Exceptions
39. Exception handling
40. Try-catch block
41. Throwing exceptions
42. Custom exceptions
43. Arrow Functions and other ES6 syntactic sugars 6
44. Arrow functions
45. Basic syntax
46. Usage
47. the missing „arguments“
48. Spread operator
49. Regular Expressions in JavaScript8
50. Regular Expressions basis
51. Regex Syntax
52. Create RegExp in JavaScript
53. Use RegExp in JavaScript
54. Concise review of JavaScript Good Practices 2
55. Naming in JavaScript
56. Scoping
57. Global and function
58. Fake block scope
59. Duplicated Object Identifiers
60. Variables
61. Strict mode
III. JavaScript Patterns
1. Object creation patterns2
2. Object Literal Pattern
3. the Constructor Pattern
4. The Factory Pattern
5. Object prototype
6. The Object.create() method
7. Let’s got deep – what’s in a object?
8. Member patterns2
9. Public/Private/Privileged – clarify the concepts.
10. Private and Privileged Members – the Crockford Pattern.
11. Private and Privileged Members in object prototype.
12. Creational Design Patterns in JavaScript4
13. What and Why?
14. The Factory Pattern
15. The Singleton Pattern
16. The Module Pattern
17. The Builder Pattern
18. Structural Patterns8
19. Mixins
20. Decorator
21. Facade
22. Iterator
23. Observer
IV. HTTP Basics
1. Client-Server Communications on HTTP2
2. HTTP protocol overview: Request and Responde Message Formats
3. HTTP Request Methods.
4. The „GET“ Request Method
5. The „POST“ Request Method
6. Other HTTP Request Methods
7. The concepts: IP, Port, host, DNS.
8. Setting up a node.js localhost server. Look at conf and hosts file.
9. Let’s code – The guts of Simple User Registration App
10. Web Storages2
11. Cookies
12. SessionStorage
13. LocalStorage
V. Web Services and AJAX
1. WebServices Intro2
2. XML2
3. JSON2
4. AJAX: consuming Remote Data with JavaScript4
5. XMLHttpRequest object
6. History and meaning
7. Browser compatibility
8. Building a http request with XMLHttpRequest
9. onreadystatechange event
10. Status code
11. Making requests
12. Making a cross-browser requests
13. Creating HTTP request through XMLHttpRequest
14. Callback-oriented
15. jQuery Ajax
16. jQuery.ajax()
17. jQuery.getJSON() and jQuery.postJSON()
18. jQuery.load()
19. jQuery.load()
20. Third Party APIs4
21. What is API?
22. Backend Services REST API
23. Examples
24. GitHub API
25. Google Maps API
26. YouTube API
VI. SPA and Angular
1. Single-Page Applications and Patterns2
2. What is a SPA app?
3. Building SPA apps with mustache.js
4. JavaScript Patterns and Single-page Applications
5. Architectural Design Patterns
6. MV* patterns – MVC, MVVM and MVP
7. Sample implementation in JavaScript
8. Angular Introduction2
9. How it started?
10. AngularJS ≠ Angular: Versions and time-line
11. Set up the environment: git, node, angular CLI, completions, typescript
12. Build the HowdyWorld project in 5 minutes
13. The project structure
14. Run it
15. The Basics of Angular Platform4
16. Architecture Overview
17. The building blocks
18. Module
19. Component
20. Metadata
21. Template
22. Data Binding
23. Directives
24. Services
25. Angular Components and Templates2
26. Angular Data Binding2
27. Angular Directives2
28. Angular Services and Dependency Injection2
29. Angular Routing2
30. Handling Forms in Angular2

Вижте график на следващите обучения по „JavaScript – Advanced” – тук!