Професионална програма
Loading...
+ Нов въпрос
a_rusenov avatar a_rusenov 1103 Точки

Advanced JavaScript - Примерен изпит

Здравейте,

В страницата на курса е качена примерна тема за изпита по Advanced JS (скелет, условие и авторско решение):

1
JavaScript Advanced 18/03/2015 10:17:15
a_rusenov avatar a_rusenov 1103 Точки
Best Answer

Няколко неща:

Примерната тема наистина съдържа неупражнявани неща (като fade-in/fade-out ефекти в JS). Но да се твърди, че работа с DOM (или изобщо графичен JS) е нововъведение в обучението е абсурдно. Още в JS Basics имахме лекция за DOM, макар и базова, както и първия лаб, който включваше задача в/у DOM дървото + самите екипните проекти (а там няма как да не се е наложило на всеки един от вас да ползва UI - бил той DOM или Canvas). Отделно от това, домашни от този курс като Geometry Canvas и TODO list също упражняват работа по графичната част в браузъра.

В крайна сметка излиза, че е останала дупка в знанията за DOM. В никакъв случай нямаме желание да късаме хора на истинския изпит заради това и дори се радваме, че пролича с тази примерна тема, за да можем да реагираме адекватно за следващия курс (където това ще е основна тема). За този изпит, както Владо вече каза, основно ще се набляга на взетия от този курс материал. Отделно, ако има работа по DOM дървото, тя ще бъде максималко спестена (както в случая с примерния цялата логика по рисуването е изнесена в модул, който не се налага да пипате) или ще е съвсем базова (добавяне/премахване на елементи).

Това, което ще е полезно за подготовката, са миналите изпити + TODO листа от домашното + този примерен изпит.

1
21/03/2015 18:10:12
quickben avatar quickben 974 Точки

HTML & CSS трябва ли да пишем на изпита по Advanced JS, че има доста CSS и HTML в авторското решение, даже e респонсив? (javascript-a не съм го гледал:)  

1
17/03/2015 19:29:26
Filkolev avatar Filkolev 4485 Точки

Нека такива неща да са дадени в скелета. Web Fundamentals не сме карали втори път и няма причина да ни изпитват на него.

3
quickben avatar quickben 974 Точки

Е той Владо каза, че би трябвало да е в Скелета даден, но ще е добре да има някакво официално инфо, най-малко за хората онлайн или тези които не са тук в залата в момента да питат.

4
a_rusenov avatar a_rusenov 1103 Точки

HTML & CSS-а е даден и в скелета, в никакъв случай няма си го пишете вие.

1
RosenKrumov avatar RosenKrumov 203 Точки

Защо не виждам нищо общо с това, което сме учили по време на курса? Това някаква шега ли е с нашия випуск и с труда, който полагаме и сме полагали до сега? Съветвам ви да погледнете материала, който ни е преподаван, още веднъж и да прецените дали наистина това трябва да е изпитната задача... 

14
18/03/2015 10:58:12
quickben avatar quickben 974 Точки

аз вече си мисля, че и те незнаят какво ни препродават, това е по-скоро за лаб по MVC отколкото за изпитна задача, а на изпита ще бъде по-трудна, абе взе да става все по-зле и по-зле положението тука...

Dachev come back

3
18/03/2015 11:42:18
RosenKrumov avatar RosenKrumov 203 Точки

Дано да не си прав... Макар че така изглежда и се набива яко на очи...

1
quickben avatar quickben 974 Точки

var Person = function() {

//todo create library :)

}

4
quickben avatar quickben 974 Точки

Защо не дадете тази задача на един ЛАБ за да се види колко човека могат да я направят дори и с помощ? И после да прецените дали е удачно да давате такива задачи за изпит, освен ако целта не ви е да минат 30 човека в 3-то ниво, незнам вие ще кажете...

самата задача не е непосилна стига да си учил това което трябва, а не Human(name, age)..... 

просто съм потресен какви неща взеха да се случват, а началото беше толкова хубаво.....

15
18/03/2015 12:09:15
quickben avatar quickben 974 Точки

fun fact: първи ред от toaster библиотеката -> (function (define) { define(['jquery']

условието на задачата(което отново има много пропуски) -> 

You are not allowed to use external libraries such as jQuery, only native JavaScript.

3
Filkolev avatar Filkolev 4485 Точки

Само че на лаба ще дойдат 10-15 човека, няма да е показателно за грандиозния крах който би настъпил ако се даде това на изпит със сегашните ни знания.

5
mihdimitrov avatar mihdimitrov 45 Точки

Здравейте,

Знам, че не е по темата, но датата за изпита само една ли ще бъде(27.03) и защо е в работен ден, ако е само една ?

1
ibakyrdjiev avatar ibakyrdjiev 172 Точки

Да, само една е.

0
quickben avatar quickben 974 Точки

колега едвам си извоювахме 7 дена ти сега искаш да го направят по-рано, първоначално датата беше на 20-ти(след 2 дена)

2
ibakyrdjiev avatar ibakyrdjiev 172 Точки

Файда не виждам. Само едни Person-и са ми в главата. 

3
quickben avatar quickben 974 Точки

Желая да се обърне внимание, че не ги пишем тези неща защото така ни харесва, а поради простия факт, че ако незнаеш, че си е оакал няма как да се обършеш, мисля, че повечето колеги са на това мнение, аз(и повечето други хора) съм вложил много пари, време, усилия и надежди в СофтУни и много ми харесва тук, но такива изпълнения немисля, че трябва да се толерират, неказвам да дадете лесен изпит казвам(за пореден път) че изпита трябва да е съобразен с изучаваното.

12
18/03/2015 13:22:48
Filkolev avatar Filkolev 4485 Точки

Проблемът, големият проблем, е не самата задача, а материалът, който взимаме в този курс и почти пълната липса на практическа стойност в лекциите и задачите за домашно. Почти приключихме с курса, а аз все още не мога да разбера какво точно учим. 

За момента съм научил следните неща (друго не се сещам):

  • Как се ползват call(), apply()
  • Един куп грешни начини за наследяване, без идея кой е правилният
  • Какво е this - не мога да го обясня съвсем, но го разбирам
  • Какво е модул и как да покажа само определена функционалност - това е най-същественото, но знанията са ми повече абстрактни и теоретични и при една по-смислена задача като тази просто няма нищо да направя
  • Че трябва да слагаме 'use strict' и сами да си хойстваме променливите и декларациите на функции - супер несъществени неща откъм практическа гледна точка

В този смисъл е нормално ако на изпита ни се даде някаква по-практична задача целият випуск катастрофира. Само да не ни обвинявате после, че сме мързеливи и каквото ни е трябвало сте ни го дали. Това е като да ни обясните как да завъртим един цикъл и после да ни дадете примерно задачата Magic Car Numbers - еми да, реално погледнато в нея се ползват цикли, а ние знаем какво е цикъл. Ама хората не са дошли тук да им се обяснят и дадат за упражнение най-базовите неща и после сами да се оправят вкъщи.

16
VGeorgiev avatar VGeorgiev 1385 Точки

Основните неща от курса които трябва да се разберат са.

  • Как работят функциите,
  • За какво са ни call и apply, какво правят и как да ги използваме.
  • Scoping в JS. Кое откъде е достъпно.
  • IIFE,
  • closures,
  • modules,
  • Как да си правим ООП, как работи това ООП.
  • Какво са прототипите и prototype обекта.
  • Как да си закачаме методите при classical oop.
  • Как да правим наследяванне и как да извикваме неща от parent-a. Как работи всичко това.
  • Какво е this в различните ситуации.
  • Prototype chain.

Опитах се да покажа и допълнителни работи, отдолу как работят нещата, понеже малко хора са наясно с това. Ако искате да се занимавате сериозно с JavaScript ще са ви полезни.

Може да пропускам нещо, но мисля че това са повечето от основните неща.

 

1
Filkolev avatar Filkolev 4485 Точки

Влади, ти (поне според мен) добре ги показа и обясни нещата, но едно е да знаем какво е модул, IIFE и т.н., съвсем различно е да знаем как да ги ползваме в контекста на подобни задачи като предоставената.

11
quickben avatar quickben 974 Точки

Именно.

2
VGeorgiev avatar VGeorgiev 1385 Точки

Какво ще представлява изпита?

Изпита ще бъде да се направи нещо от сорта на някакви контроли, като ще ви бъдат дадени HTML + CSS.

Идеята на изпита е да се упражнят нещата около структурата и комуникацията с модули. Най-вероятно ще има няколко различни типа обекти, които ще са навързани помежду си. Ще трябва да ги имплементирате.  Най-вероятно ще ви бъде даден темплейт с празни модули/функции, които трябва да дописвате. Евентуално е възможно да има и малко логика, която да трябва да се дописва.

Ако има работа с DOM, която преценим, че е сложна най-вероятно ще ви дадем код. Ще е хубаво нещата да са разделени в модули, които да си комуникират помежду си.

Най-хубав пример за това е TODO list-a.

Ще се опитаме в изпита да има всички важни неща, които трябва да се знаят от курса.

-3
18/03/2015 16:14:27
ibakyrdjiev avatar ibakyrdjiev 172 Точки

Добре. Това беше добре обяснено, факт. НО това е ПОРЕДНИЯ курс с необновени материали и неща които ще се изискват от нас. "Качествен курс по JS Advanced". После feedback-a ще е ясен!

а ние контроли от къде да знаем !?

P.S. Май има и дежавю от миналия курс... така че май никой не си вади изводи

7
18/03/2015 15:29:28
VGeorgiev avatar VGeorgiev 1385 Точки

Ще се опитам да покажа всичко необходимо за да успеете да си вземете изпита. Разбира се и с малко мислене.

5
Filkolev avatar Filkolev 4485 Точки

След като сме взели (почти) целия материал тепърва да трябва да ни се обясява какво да направим, за да си вземем изпита, не говори добре.

Само с обяснения и показване не става номера. Трябва практика, а такава ни липсва. Желанието на лекторите да предадат материала просто не е достатъчно, трябва по начало материалите да са качествени и в достатъчно количество. Нали винаги си говорим как лекциите са само 10% от ученето; в тези 10% няма как да станат чудеса. Курса по ООП беше доказателство за това - лекторите обясняваха, обясняваха, но като не се даде възможност (време) на хората да усвоят материята, резултатите бяха повече от логични.

6
18/03/2015 16:25:31
quickben avatar quickben 974 Точки

За да не остават хората с грешно впечатление, аз лично мисля, че курса се води много добре и Владо и Наско ми харесват как водят(затова идвам на лекции) просто има някакво разминаване, и както написах по-горе целта на темата е да се покажат някакви грешки които всеки човек прави за да се подобри СофтУни като цяло!

Ако на места е имало малко по-емоционални коментари от моя страна се извинявам, но повечето са място.

7
Achev avatar Achev 53 Точки

Някой може ли да ми обясни защо точно на нашия випуск трябва да правите тези промени с изпитите и да 'експериментирате' с нас ? Може би защото сме най-добрите ? :))

0
Filkolev avatar Filkolev 4485 Точки

А какво ли ще е мнението на колегите от първия випуск :) 

Много грешки са направени при тях и те трябва да се коригират. Ние, като втори випуск, носим тежестта на реформите така да се каже - правят се промени, но някои не са съвсем домислени, не са тествани и т.н. Няма как от една недобра система да се премине веднага към добра система, има период на преход. А поради малкия екип на СофтУни промените се правят в движение и на парче - и мен не ме кефи много, но засега това е положението.

След 1-2 години всичко ще си дойде на мястото, дотогава - даваме си мнението, както в тази тема, и продължаваме да настояваме грешки, които са били допускани преди, да не се допускат отново. По-лошо от допускането на грешки е липсата на желание те да са отстранят; криволичим бавно напред, което е по-добре отколкото да стоим на едно място.

2
Achev avatar Achev 53 Точки

Разбирам го това, не завиждам на първия випуск. Идеята ми е, че като вече има качен материал с примерни задачи и доста полезни теми по форума от предишния випуск защо просто не се подобрят, а ги правят коренно различни?

2