Кратко представяне на езика за програмиране JavaScript:
JavaScript е интерпретиран език за програмиране, разпространяван с повечето Уеб браузъри. Поддържа обектно-ориентиран и функционален стил на програмиране.Най-често се прилага към HTML-а на Интернет страница с цел добавяне на функционалност изареждане на данни. Може да се ползва също за писане на сървърни скриптове NodeJS, както и за много други приложения.
Цел на курса по JavaScript- Advanced with React:
Курсът по JavaScript – Advanced е продължение на JavaScript – Basic курса, като засяга по-задълбочени материaли. Курсистите ще бъдат запознати с по-напреднали техники, технологии и инструменти за автоматизация. Голяма част от занятията ще включват практически задачи, в които курсистите ще трябва да разработят сами (с помощ от лектора) приложения по предварително поставено задание.
За кого е предназначен курсът:
Препоръчително е курсистите да имат завършен курса по JavaScript – Basic, или да имат основни познания по HTML, CSS и JavaScript – синтаксис, типове данни, функции, DOM манипулации и AJAX.
Мащаб на групата:
С цел по-ефективно обучение, групите са ограничени до 8 курсиста.
Хостинг план:
Безлатен хостинг за всеки един курсист за целите на курса, предоставен от нашите партньори от Суперхостинг, чрез план – “СуперПро” . Повече информация – тук.
Издаване на Сертификат:
В края на обучението се държи тест или се предава практически проект, според преценка на преподавателя. Всеки курсист, който успешно се справи с поставената финална задача, може да заяви на office@progressbg.net да му бъде издаден Сертификат. Таксата за издаване е 60 лева.
Учебна програма на курса по JavaScript with ReactJS
Хорариум ( 100 уч. часа ) :
Theme 1: Introduction
-Course intro
-About the course
-What you’ll learn
-Course github repos (slides and labs)JavaScript (and DOM)
-Historical overview in 10 minutes (or how the history repeats itself)
-JavaScript standards: ES5, ES6, …ES2018 and ES.Next?
-The difference between JavaScript and other OOP languages
-JavaScript data types: “is everything an object”?
-DOM – overview, elements, eventsTheme 2: JavaScript Essentials
-Functions and Function Expressions8
-Defining Functions
-Function Declaration vs. Function Expression vs. Function Constructor
-Scope
-Immediately-invoked function expressions (IIFE)
-Closures
-Recursion
-Factorial example
-Traversing the DOM
-Recursion with expressions
-Functional-based programming with JavaScriptOOP in JavaScript
-OOP in a nutshell
-OOP in JavaScript
-Object creation
-Object Literal (object initializer)
-Constructor Function
-The Object.create() method
-Object properties (including ES6 syntax)Go deep into the “this” context
-“this” in global context
-“this” in function invocation context (strict or non-strict)
-“this” in method invocation context
-“this” in constructor invocation context
-“this” in call(), apply() and bind() methodsOOP – Inheritance in JavaScript6
-Classical (class-based) Inheritance vs. Prototypal Inheritance
-Classical (class-based) Inheritance in JavaScript
-Prototypal Inheritance in JavaScript
-Prototypal Inheritance – How it works?Function as object
-The Function object
-The Function prototype object
-The arguments object
-bind(), apply(), and call() methodsOther ES6 Features
-Template literals
-New string methods
-The Arrow function syntax
-Default parameter values
-The spread operator
-Rest parameters
-Destructuring
-New object literal features
-Object.assign() method
-The Class Syntax
-The for-of loop
-New data structures (Maps, Sets, Typed Arrays)JavaScript Exceptions
-Exceptions
-Exception handling
-Try-catch block
-Throwing exceptions
-Custom exceptionsPromises and Asynchronous Programming
-Asynchrony in JavaScript
-Callback-oriented programming?
-JS Promises
-Async/AwaitRegular Expressions in JavaScript8
-Regular Expressions basis
-Regex Syntax
-Create RegExp in JavaScript
-Use RegExp in JavaScriptTheme 3:Design Patterns and Best PracticesTotal
Concise review of JavaScript Good Practices
-Naming in JavaScript
-Scoping
-Global and function
-Fake block scope
-Duplicated Object Identifiers
-Variables
-Strict modeDesign Patterns Overview. Creational Patterns
-What are design patterns?
-the Constructor Pattern
-The Factory Pattern
-The Singleton Pattern
-The Module PatternMember patterns
-Public/Private/Privileged – clarify the concepts.
-Private and Privileged Members – the Crockford Pattern.
-Private and Privileged Members in object prototype.Structural Patterns
-Mixins
-Decorator
-Iterator
-ObserverTheme 4: HTTP Basics
Client-Server Communications on HTTP
-HTTP protocol overview: Request and Responde Message Formats
-HTTP Request Methods.
-The “GET” Request Method
-The “POST” Request Method
-Other HTTP Request Methods
-The concepts: IP, Port, host, DNS.
-Setting up a node.js localhost server. Look at conf and hosts file.
-Let’s code – The guts of Simple User Registration AppWeb Storages
-Cookies
-SessionStorage
-LocalStorageTheme 5: Web Services, AJAX and SPA
WebServices
-Overview
-XML vs JSON
-JSON syntax and toolingAJAX: consuming Remote Data with JavaScript2
-XMLHttpRequest object
-A historical overview
-Creating Pure JS HTTP request through XMLHttpRequest
-Demo with jQuery Ajax
-Demo with promises
-The callback hell
-The modern way – Fetch APIThird Party APIs
-What is API?
-Backend Services REST API
-Examples
-GitHub API
-Google Maps API
-YouTube APISingle-Page Applications and Patterns2
-What is a SPA app?
-Architectural Design Patterns
-MV* patterns – MVC, MVVM and MVP
-Sample implementation in JavaScript
-An overview of the “big three” for SPA: Vue, React and AngularTheme 6: react.js
Introduction to React
-Overview
-Setup the environment. Tooling.
-Write your first react app
-Get familiar with create-react-app cli
-Design notes on the DemoApp we’re going to build.
-Splitting our DemoApp on ComponentsJSX
-What is JSX and why you’d want to use it
-Embed Expressions in JSX (and JSX into JSX)
-Define Attributes with JSX
-JSX transpilitaion
-Hands on DemmoAppReact Elements
-What’s in an element
-React Elements vs DOM Elements
-React Virtual DOM
-How React updates the DOM Elements
-Hands on DemmoAppReact Components and Props
-Function and Class Components
-How a component is rendered?
-Components composition
-Props and props types
-Hands on DemmoAppState and Lifecycle in a React component
-State in react.js
-Components Lifecycle
-Hands on DemmoAppEvents handling in React
-DOM Events and Event Bubbling
-The Event Loop
-React Event Handlers
-Async Event Handlers
-Hands on DemmoAppLists in react
-Arrays and lists of elements
-Basic List Component
-Keys
-Embedding map() in JSX
-Hands on DemmoAppForms and Authentication
-Forms management in React
-Token-based Authentication (JWT)
-Authorization, public and private pages
-Hands on DemmoAppState Management. Flux. Redux.4
-Manage the state outside of React
-Get familiar with Flux
-Level up with Redux
-Hands on DemmoAppCourse projects discussion
График на курса по “JavaScript – Advanced with React”:
Курсът е с обем от 100 учебни часа и ще продължи три месеца.Следващите начални дати са:
08-ми февруари 2025г. (съботно-неделна форма на обучение от 14:30 до 17:30 часа, което са 4 учебни часа с 20 минути почивка). Занятията ще се провеждат всяка събота и неделя. Край на курса: 10-ти май 2025г.
Обучението се провежда в малка бутикова група, като всеки от тях може да избира между:
- присъствена форма – на място в учебна зала на пл. Славейков.
- или да се включи онлайн от вкъщи през нашия Zoom business account.
Цена и заплащане на курса:
Има възможност за разсрочено заплащане на курсa на две вноски. Първата вноска от 600 лева се внася при записването, а втората (480 лева) в началото на втория месец от обучението.
Видео представяне на курса “JavaScript Advanced with React”
Полезни статии относно JavaScript:
8 ПОПУЛЯРНИ ПРИЛОЖЕНИЯ, РАЗБРАБОТЕНИ НА REACTJS
ТОП 9 ПРИЛОЖЕНИЯ НА JAVASCRIPT
КАКВО Е JAVASCRIPT И ТРЯБВА ЛИ ДА ГО УЧИМ?Запиши се сега!
Допълнителни условия:
- Записването се извършва единствено по банков път, моля погледнете номера на банковата сметка по-долу.
Номер на банкова сметка:
IBAN:BG49CECB979010E2257300
BIC:CECBBGSF
Получател: Прогрес 2013 ЕООД
Основание за плащане: наименованието на записания курс и началната дата на обучението
(например – Курс по Java от 15.10.22г. )Изпратете ни платежното нареждане ( снимано/сканирано ) на email: office@progressbg.net или на Viber. След това ще получите допълнителна информация от екипа.
Преподаватели
Ива Емилова Попова
Компютърните технологии и софтуерното инженерство съпътстват целия живот на Ива Попова. Сблъсква се с тях още в началото на 90-те години, когато завършва средното си образование в единствената за България тогава специализирана професионална гимназия в областта на Компютърните Системи ‐ УКТЦ в гр. Правец. След това продължава в ТУ‐София като магистър‐инженер по Компютърни Системи и Технологии.
През последната година от магистратурата й, в далечната 2002ра година, се поражда интереса й към областта на Изкуствения Интелект и продължава с 4 годишно обучение като докторант по Системи с Изкуствен Интелект, имайки възможността да работи с един от пионерите на ИИ в България ‐ проф. Людмил Даковски. Фокусът на дисертацията й е върху приложението на Машинно обучение и Обработка на Естествен Език при персонализирани търсещи системи в Уеб
пространството.
Именно като докторант в ТУ‐София Ива започва, а след това и продължава, преподавателската си кариера като асистент по дисциплините “Изкуствен Интелект и Експертни Системи”, “Програмиране в Интернет”, “Програмни Езици”.
Интересът й към Уеб технологиите още през 2008-ма я отвежда като програмист в един от първите електронни магазини в България ‐ store.bg. Продължава професионалното си развитие в корпоративния свят, работи като софтуерен инженер и Уеб програмист в множество международни компании ‐ Comp‐tel, Internet Securities, Datamax, Experian. След няколко години като старши програмист и ръководител на софтуерен екип, Ива започва freelance практика, което й позволява всеобхватно да прилага и обогатява уменията си в най‐модерните аспекти на Уеб Технологиите и Изкуствения Интелект.
Въпреки че се радва на признанието от доволни клиенти, истинско удовлетворение в работата получава от споделянето на знания и опит. Твърдата й увереност, че Компютърните Технологии са за всеки и трябва да бъдат разбираеми за всеки я отвежда през 2016-та година в Компютърно образователен център Progress, където и до днес подготвя и провежда множество курсове по Front‐End Development, Python, JavaScript и Machine Learning.Програмни езици: JavaScript, TypeScript, Python, Perl, PHP, C++
Бази Данни: MySQL, PostgreSQl, MongoDB, Neo4j Graph Database
Уеб Технологии: HTML5, CSS3, React, Angular, Node.js
Машинно обучение: pandas, scikit‐learn, NLTK, tensorflow, …
Изкуствен Интелект: Natural Language Processing, LLMs, Information Retrieval, Ontologies, Expert Systems,
Neural Networks.
Доволен съм както от курсът, така и от служителите на “Progress”. Преподавателите са професионалисти и хора които обичат сферата, в която се занимават. Наистина имат желанието да предадат знанията си и мотивацията си на теб. Много добро и приятелско отношение от тях.
Напълно подкрепям коментара на Любомир Шивачев! Три години по-късно мога да заявя същото като новозавършил курсист. Препоръчвам на 100% 🙂