Loading...
Filkolev avatar Filkolev 4482 Точки

[Exam Preparation] Advanced C# - Информация за предвидените подготовки за изпита

Здравейте колеги,

Както може би знаете, към курса са предвидени две подготовки за изпит, на 26 май (вторник) и на 27 май (сряда).

На тях ще се решават по всяка вероятност задачи, които са били давани на предишни изпити в СофтУни (на курсовете по Java Basics, JavaScript Basics и PHP Basics). Смятаме, че те са напълно подходящи за подготовка, като по-скоро задачите на вашия изпит ще бъдат малко по-лесни от тези, които ще решаваме и ще ви даваме за подготовка към домашните. Ще вземем предвид факта, че времето ви за подготовка е 1 месец, докато колегите, които са решавали тези задачи на изпитите от ниво 1, са имали 2 или 3 месеца за целта. 

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

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

21-ти май (четвъртък), 10:00-14:00 - Фил

  1. Labyrinth Dash - Java Basics Exam 11 May 2015
  2. Clearing Commands - PHP Basics Exam 15 May 2015
  3. Little John​ - PHP Basics Exam 03 May 2015
  4. Couples Frequency - Java Basics Exam 26 May 2014

26-ти май (вторник), 14:00-18:00 - Иво Котов

  1. Stuck Numbers - Java Basics Exam 1 June 2014
  2. X-Removal - JavaScript Basics Exam - 22 November 2014
  3. Semantic HTML - PHP Basics Exam 31 August 2014
  4. School System - Java Basics Exam - 7 January 2015

27-ми май (сряда), 18:00-22:00 - Наско

  1. Pyramid
  2. Uppercase Words
  3. Text Gravity
  4. Vladko's Notebook

8-ми юни (понеделник)?, 14:00-18:00

  1. Решаване на практическия изпит от 31-ви май

Някои от задачите ще дадем (или вече сме дали) като задачи със звезда към домашните. Ако имате въпроси по тях, моля пишете в темите за съответните домашни. В настоящата тема може да обсъждаме задачите, които не са дадени към никое домашно, както и въпроси по самите подготовки или по решенията, които ще ви покажем с Наско.

Хубава вечер!

13
C# Advanced 26/05/2015 19:40:31
peterborisov avatar peterborisov 123 Точки

А 4-те задачи в какви категории са.И за подготовка просто си четем условието от judge за джава изпитите и си ги решаваме на c# така ли да разбирам?

0
Filkolev avatar Filkolev 4482 Точки

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

Останалите задачи просто ще бъдат отворени малко по малко за тренировка със C# код в състезанията, на които са били давани, например задачите от изпитите по Java, където корекции едва ли биха били нужни.

От въвеждащата лекция - задачите ще са 4, общо взето в следните категории:

  1. масиви - лесна, но не колкото 1-ва задача от Programming Basics
  2. многомерни масиви/матрици (има изобилие от подобни задачи от JavaScript Basics изпитите)
  3. стрингообработка/регулярни изрази (отново богат избор от изпитите по JS и PHP)
  4. речници/множества (много сходна с 4-тите задачи от изпитите по Java Basics)
0
peterborisov avatar peterborisov 123 Точки

Матриците са обемна тема.Аз сега изучавам regex което е също много обемна тема.За 2 седмици 400 точки са просто мираж.Ще се радвам да има много хора с 400 но при мен няма да се получи.По 12 часа съм във visual studio но за това време няма как да успея:)

1
Filkolev avatar Filkolev 4482 Точки

С утрешните лекции покриваме всичко, което ще ви е нужно като материал за изпита. Оттам нататък имате 20 дни за подготовка. Ще продължаваме да даваме задачи, които да ви помогнат да упражните матриците, регулярните изрази и речниците. Стремежът е който си решава домашните (със задачите със звезда) да може да се справи на изпита, при това с лекота.

За файлове и стриймове, както и асинхронно програмиране няма как да ви изпитаме, дори да искаме. Функционалното програмиране може да помогне за някои задачи, но като цяло то е като методите - който го умее ще му е по-лесно, но и без него може да се мине. Трудно ще измислим задача, в която да ви принудим да ползвате LINQ.

1
Filkolev avatar Filkolev 4482 Точки

Здравейте,

Добавям нов отговор към темата, тък като решихме да обновим графика по следния начин:

  • Добавяме още една подготовка за изпита, която ще се проведе този четвъртък от 10 до 14 ч. преди лекцията ви по TWPS. Искаше ни се да я направим в по-удобен слот, но няма такъв свободен тази седмица, а другата седмица програмата ви е и без това претоварена. Поне за хората, които ще дойдат за лекцията след това, надявам се ще бъде удобен часа. За останалите - видео ще бъде качено още същия ден. Добавих инфо за задачите, които ще решавам в оригиналния пост по-горе. Две от тях все още не са преработени за C#, ще гледам до утре да ги кача и тях в състезанието в джъдж, за да може който желае да ги пробва преди това.
  • Предвиждаме след изпита на 31-ви да решим задачите, които ще ви дадем. Седмицата след това е запълнена с поправителни изпити, затова засега плана е да изнесем това решаване за 8-ми юни (втората седмица след изпита).

Приканвам ви да се борите с домашните и задачите със звезди, защото изпита наближава, а задачите няма да са особено лесни; нужния материал вече сме го взели. Трябва да упражните работа с масиви/списъци, матрици, речници и стрингообработка (с малко регекс). Даваме ви възможно най-много задачи и ще се постараем на подготовките да изясним ако има нещо неясно, но оттам нататък трябва и вие да сте активни. Оставайте след лекции, помагайте си взаимно във форума/фейсбук/скайп или където намерите. На изпита няма да има нещо, което не сме учили, но задачите ще са предизвикателни.

3
KatyaMarincheva avatar KatyaMarincheva 572 Точки

Чудя се дали е уместно да си отворим тема, за обмяна на решения и идеи по задачите за подготовка за изпита по Advanced C# .

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

0
Filkolev avatar Filkolev 4482 Точки

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

0
KatyaMarincheva avatar KatyaMarincheva 572 Точки

И аз това имах предвид :)

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

0
NikolayUzunov avatar NikolayUzunov 7 Точки

В Judge няма условията на Java Basics 11 May 2015 . Само нулевите тестове са качени . От къде да свалим условията ? 

Java Basics Exam 1 June 2014 ги има качени условията в Judge.

1
Filkolev avatar Filkolev 4482 Точки

Има забавяния с качването на условията от най-новите изпити, не е ясно дали материалите ще се качат близките дни. Решавайте засега по-старите изпити; специално за джава е нужно само да отключим състезанията в джъдж за C# код, ако искате да решавате някой конкретен изпит, който не е отключен, кажете да го отключим.

Ако някой държи да решава точно този изпит, ще опитаме да ускорим нещата с качването на условията. Задачата Labyrinth Dash ще я имате в домашно, мисля че е предвидена към темата за функционално програмиране. Нейното условие го имам, мога да го кача в дропбокс примерно и да дам линк.

0
19/05/2015 18:06:34
Filkolev avatar Filkolev 4482 Точки

Видеото и решенията от вчера са качени в страницата на курса. В архива е целият solution с оригиналните решения от подготовката (21 май), като съм оправил някои дребни пропуски.

За задачата Little John, опитах по време на подготовката да я направя по по-умен начин с Count() метода от LINQ, но не ми се получи, защото метода не можеше да разбере с какви обекти боравя. В крайна сметка го преборих като използвах метода Cast() и посочих изрично, че MatchCollection-a ще съдържа обекти от тип Match. По този начин успях да пусна Count() метода, като на него подавам да брои стрелите. За големите стрели, викам Count() и му казвам да преброи колко от Match обектите в колекцията имат в група 1 нещо различно от празен стринг; аналогично за останалите видове стрели. Спестявам си форийчването и директно пресмятам бройките стрели по този начин. Ето и кода на който му е интересно да види малко по-функционален подход: ЛИНК.

0
22/05/2015 03:54:02
n4wn4w avatar n4wn4w 4 Точки

Фил плс кажи кво може да е първа задача ясно че е масив или лист но какво може да е като сложност даи няква примерна задача

0
Filkolev avatar Filkolev 4482 Точки

https://judge.softuni.bg/Contests/Practice/Index/12#2

https://judge.softuni.bg/Contests/Practice/Index/14#2

https://judge.softuni.bg/Contests/Practice/Index/30#2

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

0
kotow avatar kotow 34 Точки

Здравейте колеги. Както ви обещах оправих задачката Semantic-HTML. В регекса добавих атирбута който махаме от таг-а да го взима с празното мчясто преди него.

Ето решението което дава 100/100

http://pastebin.com/ZNQDrP0E

4
DiyanTonchev92 avatar DiyanTonchev92 231 Точки

Здравейте колеги,
Бих отправил едно предложение, не съвсем по темата, мисля че по-удобно би било, ако видеата от подготовките се правят по отделно за всяка задача, вместо едно дълго 3+ часово видео. smiley
Поздрави! 

2
Filkolev avatar Filkolev 4482 Точки

Има логика, от днешната подготовка ще бъдат качени видеа за всяка задача поотделно :)

2
DiyanTonchev92 avatar DiyanTonchev92 231 Точки

Вместо Text Gravity, по погрешка е качено отново Uppercase Words :)

0
Filkolev avatar Filkolev 4482 Точки

Оправен е линкът.

2
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.