Софтуерно Инженерство
Loading...
+ Нов въпрос
Plami avatar Plami 376 Точки

[Exam] JavaScript Basics - July 2014 - Впечатления, резултати, инфо срокове за домашни и т.н.

Тъй като още никой не е отворил тема относно изпитите по JavaScript, които текат в момента, реших да отворя една такава. Аз бях на вчерашната дата и мога да споделя нещо. Задачите поне за мен бяха доста трудни, като се започне още от първата. Когато Наков я обясняваше ми се стори направо нерешима, а когато каза, че това е най-лесната задача, доста голяма част от препълнената зала съжалиха, че са дошли :D

Но мисля, че за тези 20 дена, които имахме, някои от нас, въпреки че започнаха от нулата, постигнаха доста добри резултати. Аз лично се подготвях доста стабилно този път с нашите лекции и с тези от Телерик. Мисля, че трябваше още една подготовка за изпита освен тази на Яна и Кико, която между другото за пореден път ми беше доста полезна и искам още веднъж да ги поздравя. Но сигурно със следващия випуск такива проблеми ще се изчистят :)

А вие какво мислите относно провеждането на курса и самия изпит?

Тагове:
16
JavaScript Fundamentals
nakov avatar nakov SoftUni Team Trainer 5456 Точки
Best Answer

Колеги, качил съм на сайта на курса всички задачи + авторските решения + тестове от JavaScript Basics изпита:

Задачите са с оправени бъгове, както и тестовете. Знаете, че на изпитите не всичко беше перфектно, сменяхме тестове по време на работа, поправяхме грешки, внасяхме пояснения и т.н. На сайта съм качил задачите с корекциите по тях, за да се ползват безпроблемно за подготовка за бъдещи изпити по JS Basics.

Задачите от трите изпитни дни са отворени за практика в judge системата, където е възможно да са останали старите тестове (каквите бяха по време на изпитите):

Извинявам се на всички за допуснатите грешки в условията, както и за непредвидените проблеми със закръгляването на реални числа в JavaScript. Надявам се, че успяхме да реагираме адекватно на момента.

Ще изнесем дати за поправителни изпити до няколко дни. Ще бъдат в периода 1-7 септември.

Курсът PHP Basics започва на 11 август (след ваканцията).

Срок за проверка на домашните по JavaScript Basics: 10 август. Класирането ще излезе след това.

Вече можете да коментирате и обсъждате свободно всички задачи от трите изпитни дати.

Трябва да призная, че задачите на изпита бяха по-трудни от домашните, за което съм основния виновник, както и че нямаше достатъчно време за подготовка (защото изместихме изпита преди екипните проекти --> това май няма да го правим повече). За следващото издания на курса ще направим тренировки по задачите от миналите изпити. За съжаление за този изпит нямахме такива.

Задачите бяха еднакво трудни за всички, така че като правим класирането, ще вземем предвид средното ниво (което е около 190 точки /без да броим чистите нули/). Дефакто вместо с 3.5+ задачи да имаш шестица, ще имаш шестица да кажем с 2.5+ задачи. Ще ви получите оценките след 11 август.

24
hkdobrev avatar hkdobrev 48 Точки

Можете да погледнете и моите решения: https://github.com/hkdobrev/softuni-javascript-exam

 

Мисля, че на всички задачи имам по-прости (или поне по-оптимални) или поне равностойни решения решения спрямо авторските.

 

На първата задача използвам математическа формула, за да определя дали дадено число е в редицата на Фибоначи вместо цикъл.

 

На втората логиката в решението ни е същата, но съм показал, че няма защо да се разделят стринговете на масив от знаци в JavaScript.

 

На третата регулярният израз няма нужда да е толкова сложен, колкото в авторското решение. Също така излишните групи добавят допънителни проверки в авторското решение, които не са нужни.

 

На четвъртата задача съм използвал вградените Array.prototype.sort() и Array.prototype.forEach(). Също така избягвам вложените цикли. Освен това доста си приличат решенията.

 

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

 

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

И на C# изпита и на Java изпитите, задачите бяха от същия тип. Алгоритмични задачи от най-простия тип. Дори никога да не сте работели с JavaScript преди изпита трябва да можете да решите задачите.

 

Наистина замислете се за собственото си развитие и как можете да напреднете по-бързо отколкото сте си представяли. Няма как човек да се развие много без да прави скокове. С постепенни малки стъпки до никъде няма да стигнете.

5
oconne avatar oconne 113 Точки

Напълно съм съгласен с Добрев. Изящен коментар, а предложените решения наистина са готини, съветвам ви да ги разгледате!

Наистина съм много против тези хленчения, че задачите били такива или унакива. Моята скромна теза е че Наков отново доказа че е истински професионалист и подържа едно високо ниво, което наистина върши работа и е ефективно.  Това че той разгърна JavaScripta в цялостният му усложнен и многообразен спектър всъщност много ми помогна да осъзнаня някои понятия които ми обягват или за пръв път виждам. Всички задачи които той разработи (съзнателно или несъзнателно)  бяха изключително свързани с основни специфични проблематики на този език. Ако не беше направил това аз лично трудно щях да се докосна до проблема и наистина щях да си свиркам. 

 

 

-1
lostm1nd avatar lostm1nd 121 Точки

Задачите са супер. Браво. Останалата част от коментара - mehh, not so much.

Това е поглед върху нещата от едното гнездо. Явно не си започнал да пишеш на JS в деня на изпита. 

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

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

Няма спор, че е трудно да се направят задачи, които отговарят на тези критерии, но тези задачи за JS бяха overkill за много хора. Къде в C#/Java някой е подавал функция на функция или пък е връщал функция от функция. Няма място за сравнения, които много хора правят.

2
Aleksiev avatar Aleksiev 133 Точки

На мен лично задачата от изпита по Java с маповете ми беше доста по-трудна от четвъртата задача от този изпит.. може би защото не ги разбирах (маповете) и ги научих на самия изпит, но това е друга тема. Като цяло изпита не беше по-труден от тези на C# и Java. Относно първа и втора задача.. Наков ни ги реши още докато ги обясняваше.. междо другото искам да го поздравя за бързата и адекватна реакция относно 3та задача, евала !

3
ttitto avatar ttitto 1155 Точки

Какво се е случило с 3 задача, че се е наложило бърза реакция?

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

0
Aleksiev avatar Aleksiev 133 Точки

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

0
dentia avatar dentia 362 Точки

Нека напомня, че изнасянето на информация относно задачите е забранено и не бива да се практикува до края на последния изпит, който ще се проведе утре (29,07).

1
RoYaL avatar RoYaL SoftUni Team Trainer 6883 Точки

Надцених 2ра задача и я оставих за по-късно. Първа ми се стори елементарна и беше такава - реших я от раз. После се заех с 4та, защото ми беше позната от вече друг изпит по друг език, където я бях направил за 10 минути с класове и обекти. Тук обаче срещнах препъни камък - в операции, които далеч не са същите в JS. Докато си реша проблема, направих кода си толкова unmaintainable, че ми отне 1 час да изкарам желания резултат. И така се сдобих със 100 точки на 1ва и 4та. 2ра задача, която мислех за по-трудна, се оказа също доста лесна и нямаше особени препъни камъци при нея - с 1вия събмит взех 100 точки. Вече имах 300. Тук дойде ред на 3та задача където изключенията бяха толкова много, че още от начало я бях отписал. С 1вия си опит взех 16 точки, както повечето до колкото виждам резултатите. Пробвах няколко други варианта - нищо. Бях изчерпан от към идеи и спрях да се занимавам. Просто чаках да свърши времето на изпита. Ама то се точеше толкова бавно, че в един момент отново реших да ръчкам задачата и отново половин час в безуспешни опити да мръдна от 16те точки. Накрая един от събмитите ми даде 66 точки, някъде 20 минути преди края на изпита. С този събмит и с 366 точки приключих изпита.

 

В заключение ще кажа, че курсът по джаваскрипт въобще не беше съвместим с изпита. Оттренирването на задачи от други изпити и езици може би беше в най-голяма помощ. Курсът беше изключително кратък, а трудността на задачите не беше по-малка от останалите изпити (3та и 4та).

15
Yulia avatar Yulia 1343 Точки

Аз малко ще похейтя тук: Изпитът наистина въобще не беше съвместим с нивото на курса. Задачите - гадни, а тестовете за тях още по-недоизмислени. А последната задача е "или всичко, или нищо", което е много много кофти. That's it. По-конкретен коментар мога да дам едва след като свършат всички изпити. Пожелавам здрави нерви на тези, на които им предстои да се явят...

47
ivaylo.yanchev.5 avatar ivaylo.yanchev.5 79 Точки

Подкрепям мнението на колежката. За мен този език е доста объркващ и просто не виждам как можеш да научиш преподадения материал за 2 седмици. Изобщо не знам как би се справил начинаещ... Задачите си бяха трудни за нивото. На този изпит успях да реша само 2 задачи и пак бях доста над средата в класирането... Ако и за напред графикът е толкова стегнат най-вероятно ще се откажа от платеното обучение и ще уча нивата с по-малко натоварване.

7
Stoyan.Stoyanov avatar Stoyan.Stoyanov 96 Точки

Аз се явих на 28-ми, и за мен също задачите бяха много, много трудни. Най-трудните до момента.

Разбира се, може и да е в мен проблема.

2
XmUrF avatar XmUrF 362 Точки

На мен това ми звучи като задачите от Java :). И там беше горе долу същото.

2
tsv.georgieva avatar tsv.georgieva 35 Точки

За мен изпита беше средна сложност - не прекалено лесен, но и не непостижимо труден. При това за първи път се сблъсквам с JavaScript, но пък много хора ми казват, че не бива да се сравнявате с мен.

Първа задача изглеждаше доста лесна, алгоритъма си го съставих още докато Наков обясняваше условието. Обаче като събмитнах в Judge даде само 80 точки. Около половин-един час загубих да се чудя откъде идва този проблем - търсих нови алгоритми в интернет, все по-замотани формули, а после се оказа, че не е в мен проблема, а в judge системата. За щастие оправиха проблема и дадоха допълнително време за забавянето. 

Реших да продължа с трета, въпреки че Наков предупреди, че много ще псуваме на нея laughing След около час получих 66 точки, още 15 минути мъки не успях да подобря този резултат и реших да започна четвъртата задача. За около 40 минути я направих и получих 100 точки от първия събмит smile

Втора задача ми се струваше много сложна и я оставих за накрая. Дотук с 266 точки, заех се най-накрая и с нея, но изглежда я бях надценила и се оказа не много по-трудна от 1ва и 4та.

На 4тия час от началото на изпита вече бях с 366 точки и нямах друга възможност освен да се захвана отново с трета задача. Знаех, че не ми достига нещо малко, но не можех да се сетя какво е, защото и нулевите тестове работеха коректно, не можах да открия и някакви особени ограничения в условието, които да не съм спазила. Променях мънички неща по кода, но точките все оставаха 66, докато след около час ръчкане, ровене из интернет и 10тина събмита не получих заветните 100 точки.

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

Поуките, които си извадих от този изпит са:

  • да не си губя времето да докарам пълния брой точки (както с първа задача), а да направя първо всички задачи и след това да изчиствам проблемите;
  • да избирам първо най-лесните за себе си задачи, но и да не отписвам някоя задача като невъзможна, само защото ми се струва прекалено сложна;
  • когато мисля, че задачата ми е вярна, да не започвам отначало, а да търся малките проблеми, които не съм открила на първо време;
  • да не изключвам възможността, че в тестовете и авторското решение може да има грешки - задачата Odd/Even Sequence ми е черна точка в паметта още от Java изпита (дори след над 100 реда код не успях да докарам пълния брой точки), а сега се оказа, че авторското решение е грешно.

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

4
vdoynov avatar vdoynov 37 Точки
Ето го и моето мнение: Не бях учил много за изпита, подготовката ми се състоеше в гледане на 2 видеота + видеото от пробния изпит+ повтаряне на кода докато го пишат. Малко закъснях и не можах да си намеря място за лаптопа и трябваше да ползвам стационарните компютри. Всъщност, те не са никак лоши - като се замисля са по-добри от моя лаптоп, което приятно ме изненада. В началото мислех, че ще трябва да решавам през Visual Studio, но после намерих WebStorm. Първата задача я решавах дълго време, защото не можах да разбера къде бъркам в третата колона. Накрая стана и имах заветните 100 т. Втората тръгнах да я решавам горе-долу на майтап, аз такива задачи ги избягвам, но другите ми се видяха по-трудни. Като по чудо на 30тата минута видях че изкарвам нещо добро като резултат и бях сигурен, че ще я реша. Третата задача даже не я опитвах, което беше грешка. Можеше да открадна 20-30 точки от някои по-лесени тестове. Четвъртата задача беше нещо странно. Половината код не беше мой, а го пейстнах от подготовката за изпита. И то подпали! :) След 15 минутно нагласяне на Output формата ми даде 20 точки. Бях оцелил някакъв доста непретенциозен тест (както и останалите от изпита, които имат по 20 точки). Последния час пробвах да изменя кода и да я докарам до 100, но бях уморен, а и целия ми програмистски късмет явно беше използван на задача 2. Та толкова. Аз по принцип дойдох за 200 точки на този изпит и си изпълних целта! :D
5
XmUrF avatar XmUrF 362 Точки

Аз искам да вмъкна едно важно според мен уточнение. Това, че задачите на изпита са трудни, не значи, че материалът за решаването им не е преподаван! Изпитите се решават с преподаваните неща, а именно цикли, масиви, обекти, стрингове функции/методи (и особеностите на всички тия неща за конкретния език) и т.н.

 

Колкото за поправката, като човек, който е бил на една поправка, моето мнение е, че поправките се правят така, че да си изкараш изпита, но не и да си повишиш оценката.

0
ttitto avatar ttitto 1155 Точки

"че да си изкараш изпита, но не и да си повишиш оценката." - какво имаш предвид с това? Искаш да кажеш, че поправителните изпити са с по-лесни лесни задачи и с по-трудни трудни задачи?

1
XmUrF avatar XmUrF 362 Точки

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

-4
Plami avatar Plami 376 Точки
Мога да ви кажа, че на поправките са по-трудни задачите. Поне така беше на Java-ta :)
7
aslv1 avatar aslv1 304 Точки

Здравейте и от мен!

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

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

Успех!
laughing

11