/js-course

Репозиторій з курсу "JavaScript" проекту Masters Academy

JS Course

Masters Academy JavaScript courses project for season 2016/2017

Join the chat at https://gitter.im/Masters-Academy/js-course-2016

Terms and conditions

  • Цей документ визначає та декларує чим є курси з JavaScript які проводить Masters Academy в 2016-2017 рр.
  • Курси проводяться Masters Academy, на безоплатній добровільній основі.
  • Метою проведення курсів є допомога зацікавленим особам у вивченні основ frontend розробки та мови програмування JavaScript.
  • Курси є добровільною освітньою ініціативою, метою якої є донесення корисної інформації у зручний для обох сторін спосіб, із орієнтацією на самомотивованість відвідувачів, обопільну цікавість процессу та взаємне збагачення та обмін досвідом.
  • Курси не є засобом отримання сертифікату будь-якого вигляду, студентам які особливо відзначились можуть бути виписані рекомендаційні листи від викладачів, за підписом викладача.
  • На курсах особа, яка їх проводить, по окремих питаннях подає суб’єктивно забарвлену інформацію на власний розсуд, користуючись здоровим глуздом та власним досвідом.
  • Кінцевою метою курсів є максимально можлива передача досвіду студентам для їх подальшого професійного зростання та розвитку. У якості втілення досвіду приймається проект, програмний код якого написаний студентом, самостійно чи в групі, дозволить будь-кому скласти враження про опанування студентом мови програмування JavaScript та відпоівідного інструментарія.
  • Курси не передбачають проведення заліків, іспитів та вручення дипломів. Нашою метою є не виконання студентом формальних процедур, а досягнення ними певного рівня професійності.
  • Доступ до курсів можуть отримати всі бажаючі, адекватні та розсудливі особи, із мінімальними навичками програмування. Від студентів очікується мотивованість, готовність задавати питання та самостійно визначати яка саме допомога може бути надана викладачами.
  • Ми не дитячий садочок та не школа, викладачам не цікаво чути відмовки, чому студент не зробив домашнє завдання, і тому метою студента є зацікавити викладача у передачі досвіду, ми всі дорослі люди )
  • Заняття проводитимуться згідно із графіком, про зміни в графіку повідомлятимемо ASAP, але можливі перенесення занять через об’єктивні обставини.
  • Студент має з самого початку усвідомити, що все, що він отримає від курсів на 99% залежить від нього.
  • Приходьте налаштовані конструктивно, невимушено та зацікавлено. Вчитися - весело.
  • Для отримання оновлень кожен слухач має слідкувати за даним репозиторієм, через розсилку будуть повідомлятися тільки найбільш загальні речі.
  • Завдання мають надаватися на перевірку:
    • в кодуванні UTF-8
    • мова коментарів - виключно англійська
    • символ табуляції - два пробіли
    • перевід строки - Unix (LF)
  • Всі запитання, які стосуються курсів, задавати у гіттері.

Project structure

  • homeworks - Папка із результатами виконання домашніх завдань. В цій папці у кожного відвідувача має бути створена своя папка, із результатами. папка має бути створена за допомогою засилання в цей проект pull request не пізніше 06.11.2016. Ім'я папки має бути створене за шаблоном типу name.surname_githubUsername.

Projects for teams(це загальні теми, вони будуть уточнюватися та доповнюватися, можна помінятися темами довільно)

  1. Агрегатор соціальних медіа , якому ти задаєш для моніторингу ключові слова, а від через апі видає результати. Бекенд із інтерфейсом + для тесту джаваскріпт. Підключатися до Twitter, Youtube, VImeo. Використати не менше 2 з 3 сервісів.
  2. Генератор купонів, із бекендом, в якому задаються обмеження для формату купонів - які літери можна і неможна, контроль образливих слів, образливих із цифрами, купони генеруються по компаніях, купонів в компанії має бути багато 100к+ без дуплікатів.
  3. Бот та бекенд для трігерів для замовлення їжі. Він замовляє їжу по події у гугл календарі або трігеру з іншого серверу. Їжу замовляє в місцевих закладах. Після замовлення результати зберігаються у GDrive. Щоб дивитись куди скільки грошей було витрачено.
  4. Блог платформа через Git. Робота із різними гілками, пуш у мастер = публікація поста. Інтерфейс мінімальний і оснований на Bootstrap або Foundation.
  5. Бекенд та АПІ для замовлення їжі, ресторан імпортує список їжі, а потім АПІ може прийняти замовлення, а на бекенді можна менеджерити замовлення. При цьому АПі не має бути прив'язаний до фронтенд сайту.
  6. Агрегатор погоди, із бекендом який дозволяє додавати нові джерела, а потім через АПІ віддає агреговані результати погоди для певного місця + зображення із будь-якого серверу релевантні місцю та погоді. Тіпа "Черкаси.Літо.Сонце".

Authors

Useful links

Course structure

Intro.

  1. Основы GitHub/GIT. Инструменты для фронтенд разработки.

Введение в JavaScript.

  1. Синтаксис языка. Объявление переменных, массивы, объекты и функции. Условные операторы. Циклы и итераторы.

  2. Замыкания, рекурсия и функции высшего порядка.

  3. Функциональное программирование в JS.

  4. ООП в JavaScript. Prototype(ES5) vs Class(ES6).

Работа с DOM, jQuery.

  1. Основы HTML5

  2. Основы CSS3

  3. DOM. Работа с HTML-элементами через объект document. jQuery для работы с DOM.

  4. Обмен данными с сервером. XMLHTTPRequest vs jQuery.ajax().

Введение в TypeScript. Angular 2.