Informacje wstępne dla poziomu Advanced

Materiały do warsztatów technologii webowych prowadzonych na Wydziale Matematyki i Informatyki Uniwersytetu im. Adama Mickiewicza w Poznaniu.
Wróć do spisu materiałów

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?