Informacje wstępne dla poziomu Advanced
Sprawy organizacyjne
Terminy zajęć:
Zajęcia dla grupy zaawansowanej w semestrze letnim 2017/2018 odbywają się w każdy wtorek o 11:45 w sali A1-14.
Prowadzący:
Zajęcia prowadzi Marcin Szczepański.
Kontakt: marcin.szczepanski@sealcode.org
Zagadnienia poruszane w trakcie warsztatów:
- standard ECMAScript 6;
- podstawowe problemy języka JavaScript;
- obsługa błędów i debugowanie kodu języka JavaScript;
- Node.js;
- MongoDB;
- Angular 2;
- Bootstrap;
- SASS/LESS.
Każdy uczestnik, który będzie aktywnie uczestniczyć w warsztatach otrzyma na końcu imienny certyfikat :)
Testy:
W czasie warsztatów zostaną przeprowadzone co najmniej 2 testy, których celem jest sprawdzenie czy uczestnicy mają przyswojone treści związane z front-endem.
Zakres i terminy testów:
- Test wstępny - będzie przeprowadzony na pierwszych zajęciach w formie pisemnej (zadania zamknięte jednokrotnego i wielokrotnego wyboru oraz zadania polegające na napisaniu/uzupełnieniu kodu). Zakres materiału: podstawy składni języka JavaScript, obiekty w języku JavaScript, obiektowy model dokumentu, zdarzenia języka JavaScript, podstawowe informacje o REST-owym API na przykładzie biblioteki qwest. Na podstawie wyników testu odpowiednio zostanie dopasowany materiał zajęć do grupy. Czas trwania testu: ok. 45 minut.
-
Test końcowy - będzie przeprowadzony na przedostatnich zajęciach w formie rozmowy. Rozmowa będzie przypominać rozmowę kwalifikacyjną do pracy jako FrontEnd Developer. Test zostanie przeprowadzony z każdym uczestnikiem oddzielnie. Każdy uczestnik dostanie jedno pytanie teoretyczne (być może dotyczące pewnego kodu) i dwa krótkie pytania dotyczące pewnego kodu HTML/CSS/JavaScript. Jedno ze wszystkich trzech pytań będzie dotyczyć HTML5, jedno CSS3 i jedno języka JavaScript. Poza tym jedno pytanie “miękkie” w języku polskim i jedno w języku angielskim. Czas trwania testu: ok. 10 minut na jedną osobę. Zakres materiału do pytań dotyczących kodu to cały materiał ze wszystkich trzech poziomów zaawansowania (Beginner, Intermediate, Advanced) z wyłączeniem tematyki związanej z Angularem, Node.js, MongoDB, Bootstrap, SASS/LESS. Pytania te są krótkie, mniej więcej ok. 90 sekund na każde pytanie (reszta czasu na pytanie teoretyczne).
Lista pytań teoretycznych:
HTML_1 Do czego służy znacznik <meta> w HTML? Wymień wybrane 3 atrybuty tego znacznika i omów je.
HTML_2 Omów jak stworzyłbyś tabelę o podanej budowie (uczestnik dostaje kartkę z wyglądem tabeli i opowiada jak tworzyłby dane elementy - tabela będzie z nagłówkiem/stopką i z łączeniem komórek).
HTML_3 Omów jak stworzyłbyś formularz o podanej budowie (uczestnik dostaje kartkę z wyglądem formularza).
HTML_4 Jakich znaczników byś użył, tworząc stronę o podanym wyglądzie (uczestnik dostaje kartkę z wyglądem strony i omawia po kolei jak by ją zakodował w HTML5)?
CSS_1 Omów hierarchię selektorów w CSS3. Jak działa atrybut <style> w HTML5? Jak nadpisać dowolny styl niezależnie od hierarchii selektorów?
CSS_2 Na przykładzie podanej (na kartce) listy omów działanie selektorów pseudoklas :first-child(), :last-child(), :nth-child(), :nth-last-child().
CSS_4 Omów różnicę pomiędzy display: none i visibility: hidden. Jakie inne wartości może przyjmować właściwość display? Omów je krótko.
CSS_5 Jakie wartości może przyjmować właściwość position? Omów je.
JS_1 Co to jest “hoisting”?
JS_2 Co to jest closure (domknięcie)?
JS_3 Co to jest funkcja natychmiastowa i po co jej używamy?
JS_4 Jaki jest scope (zakres) zmiennych w standardzie ECMAScript 6 (chodzi o omówienie słów kluczowych var, let, const)?
JS_5 Czym są arrow functions?