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 лева) в началото на втория месец от обучението.

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

1. TypeScript Overview

a. What & Why?

b. Basic Types

c. Basic Types

d. Classes

e. Modules

f.Functions

g. Generics

2. CoffeeScript Overview

a. JavaScript-like languages

  • TypeScript & CoffeeScript

b. CoffeeScript Overview

  • Installation & Compilation

c. CoffeeScript Features

  • Variables and functions, string interpolation
  • Conditionals, Loops and Comprehensions
  • Conditionals, Loops and Comprehensions
  • Classes & Inheritance

3. JavaScript Patterns

a. Public/Private fields in JavaScript

b. Module pattern

c. Revealing module pattern

d. Revealing prototype pattern

e. Singleton pattern

4. AMD and RequireJS

a. AMD Overview

b. RequireJS Overview

  • Installation and configuration

c. Defining modules with RequireJS

d. Defining Dependent modules

5. JavaScript Exceptions

a. Exceptions

b. Exception handling

  • Try-catch block

c. Throwing exceptions

d. Custom exceptions

6. Functions and Function Expressions

a. Functions in JavaScript

b. Function object

c. Defining Functions

  • Function declarations
  • Function expressions
  • Function constructor
  • Expression vs. declaration

d. Function properties

e. Function methods

f.Recursion

  • Factorial example
  • Traversing the DOM
  • Recursion with expressions

g. Scope

  • Global and function

h. Nested functions

i.Immediately-invoked function expressions (IIFE)
j.Closures

7. Classical OOP in JavaScript

a. Objects in JavaScript

  • Object-oriented Design
  • OOP in JavaScript

b. Classical OOP

c. Prototypes

d. Object Properties

e. Function Constructors

f.The value of the this object

8. Inheritance with Classical OOP

a. Implementing classical inheritance

b. The prototype chain

c. Using parent methods

d. OOP frameworks

  • John Resig simple inheritance

9. JavaScript: Good Practices

a. Naming in JavaScript

b.Scoping

  • Global and function
  • Fake block scope

c. Duplicated Object Identifiers

d.The this object

  • In global, function and object scope
  • In event handler

e.Variables

f.Strict mode

10. Dive into Underscore.js

a. Underscore.js is a JavaScript library, that extends regular JavaScript functionality

  • Provides extensions to object, arrays, selection, etc..
  • Usable is client JavaScript (web and mobile) and server JavaScript (Node.js)

11. Web Storages

a. Cookies

b.SessionStorage

c. LocalStorage

d.Shims for localStorage and sessionStorage

12. Promises and Asynchronous Programming

a. Asynchrony in JavaScript

b.Callback-oriented programming

  • Simple callbacks
  • „Passing values“ in callbacks
  • Example: Geolocation

c. Promises

  • Overview
  • CommonJS Promise/A and A+

d.Using the Q Promise Library

e.Promises in jQuery

13. HTTP and AJAX

a. WWW and URL

b.HTML, XML, JSON, RSS, JSONP

c. The HTTP Protocol

  • HTTP Request
  • HTTP Response

d.AJAX Requests

e.Same-Origin Policy

  • Workarounds

f.JSONP

g. Web Developer Tools

14. Consuming Remote Data with JavaScript

a. XMLHttpRequest object (xhr)

  • History and meaning
  • Browser compatibility

b.Building a http request with xhr

  • onreadystatechange event
  • Status code

c. Making requests with xhr

  • Making a cross-browser requests

d.Creating HTTP request through xhr

  • Callback-oriented

e.jQuery Ajax

  • jQuery.ajax()
  • jQuery.getJSON() and jQuery.postJSON()
  • jQuery.load()
  • jQuery.load()

15. Backend Services

a. Backend Services Overview

b.Backend Services REST API

c. JavaScript SDK

16. Unit Testing in JavaScript

a. Unit Testing

  • Overview
  • Test-driven & behavior-driven development

b.Mocha & Chai

  • Overview and installation
  • Running simple tests

c. Mocha HTML Reporter and Karma

d.Creating a test suites and specs

17. JavaScript Patterns and Single-page Applications

a. JavaScript Patterns and Single-page Applications

  • What is a SPA app?
  • Building SPA apps with Sammy.js and mustache.js

b.Architectural Design Patterns

  • MV* patterns – MVC, MVVM and MVP
  • Sample implementation in JavaScript

18. HTML5 Everywhere

a. HTML5 and the Web today

  • What is HTML5?
  • Browser support

b. Backward and mobile

  • Support for older browsers and mobile
  1. c. Shivs and Shims

d.Polyfills

e. Modernizr

f.CSS boiler plates

19. Third Party APIs

a. What is API?

b.Google API

  • Google Maps API
  • YouTube API

20. Introduction to AngularJS

a. What, why, who and how?

b. Resources

c. Hello World application

d. Where to start –Angular Seed

e. Modules and ngApp

21. Controllers and Markup

a. Controllers and $scope object

b.Markup & Binding

c. Filters

d. Validation

22. Services

a. What is a service

b. Why using services

c. Custom services

d.Built-in services

23. Routing

a. What is a route in SPA application

b. What is a template / partial view

c. Creating routes

d.Using route parameters

24. Directives

a. What is a directive and why we need it

b. How to create directives

c. Directive specifics for attributes

d.jQuery plugins directives

25. AngularJS Best Practices

a. File & Folder Organization

b.Organizing Modules

c. Naming Conventions

d.Controllers, Services, Directives Roles

e.Dealing with Scope

f. Communication between components

g. Breaking page into components

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