February 14, 2012
Излезе дългоочакваното класиране от първи кръг в конкурса по програмиране на списание PC Magazine / Bulgaria и Телерик. В първи кръг на конкурса по задачата “Игра 1-2-3” участваха 16 отбора и общо 25 състезателя.
Задачата се оказа не много лесна, но състезателите измислиха доста оригинални алгоритми за решаването й. Никой от алгоритмите не стана абсолютен победител на всички размери дъски, но измежду всичките се откроиха няколко, които играят силно на почти повечето игрални дъски.
Визуализацията на битките между състезателите също се оказа предизвикателство и много от участниците разработиха оригинални подходи и интересни концепции за визуализация, включително и 3D графика. Бяха използвани различни технологии: WPF, Windows Forms, Delphi, C++ с OpenGL и други.
Класиране от първи кръг на конкурса на PC Magazine
Общото класиране за първата задача от конкурса е по точки, спечелени в двата компонента на задачата: алгоритмична част и приложна част.
| Място | Отбор (членове) | Общо точки | Алгоритмична част (точки) | Приложна част (точки) |
| 1 | Антон Богданов, Станислава Богданова | 16.5 | 8.5 | 8 |
| 2 | Марио Стоилов, Ивайло Кирилов | 16.0 | 8 | 8 |
| 3 | Лазар Сестримски, Георги Билюков, Танер Мехмед | 15.5 | 9.5 | 6 |
| 3 | Станислав Гатев, Георги Ангелов | 15.5 | 6.5 | 9 |
| 5 | Лъчезар Цонов, Йордан Стоянов | 15.0 | 9 | 6 |
| 5 | Кристиан Ташков | 15.0 | 8 | 7 |
| 7 | Александър Георгиев | 14.5 | 6.5 | 8 |
| 8 | Кольо Данков, Стефан Чонов | 14.0 | 7 | 7 |
| 9 | Боян Желязков | 11.0 | 8 | 3 |
| 9 | Михаил Минков | 11.0 | 7 | 4 |
| 11 | Радослав Тодоров | 10.5 | 8.5 | 2 |
| 12 | Марин Драганов | 7.5 | 7.5 | 0 |
| 13 | Николай Лазаров, Иван Захариев | 6.5 | 6.5 | 0 |
| 14 | Кристиян Николов | 6.0 | 6 | 0 |
| 15 | Стоян Буланов, Ирник Дионисиев | 5.5 | 3.5 | 2 |
| 15 | Георги Йоловски | 5.5 | 1.5 | 4 |
Предадени решения в конкурса по програмиране
Всички предадени решения от участниците в конкурса са публикувани за свободно изтегляне във вида, в който са предадени и съдържат пълен сорс код съгласно регламента на конкурса. Това позволява на състезателите да сравнят своето решение, идеи, алгоритми и технологии с разработките на техните конкуренти: решения, предадени от участниците в конкурса по програмиране на PC Magazine и Телерик. Организаторите на конкурса не носят отговорност за съдържанието на предадените решения.
Награди за шампионите
Първенците в първи кръг от конкурса печелят скромни награди от Академията на Телерик и дънна платка от MOST Computers могат да си ги получат в удобно за тях време от офиса на Телерик (за контакти academy@telerik.com). Напомняме, че големите награди в конкурса (лаптопи, таблети, телефони и други) ще бъдат раздадени на финала, когато най-добре представилите се състезатели от всички кръгове ще премерят сили на живо в София.
Tags: PC Magazine, telerik, задачи, класиране, конкурс по програмиране, награди, решения, състезание по програмиране, състезание по програмиране и технологии
February 6, 2012
Дойде време за поредната задача от конкурса по програмиране на PC Magazine и Телерик. Този път сме ви приговили една задача от практиката, свързана с нашумелите напоследък закони за контрол над интернет потребителите (SOPA, АКТА и подобни).
Китайска торент система
Група китайски хакери решили да си направят нова торент система. Вместо да съхраняват не съвсем позволено видео-съдържание по своите компютри те решили да пазят криптирани четните битове на съхраняваните файлове на група сървъри обявени за “четни” и криптирани нечетните битове на друга група сървъри, обявени за “нечетни”. Крайните потребители могат да гледат видео-съдържанието от Китайската торент система без да го теглят като дърпат малки порции от четни и нечетни битове от видеото и ги сглобяват и възпроизвеждат локално. Така нито доставчиците на съдържание, нито крайните потребители съхраняват при себе си видеоматериалите (някои от които могат да за забранени от официалните власти), но системата може ефективно да разпространява всякакво видео съдържание. Ако някой ден властите конфискуват компютри от участници в системата (сървъри, стопанисващи криптирани четни или нечетни битове или лаптопи от крайни потребители), те няма да открият на тях нищо от споделените видео файлове. Така китайците решили да надхитрят системата и съответно поемат всички рискове на начинанието.
Вашата задача: сървъри и клиенти за китайската торент система
Първата част на задачата в конкурса изисква да се разработи сървърна инфраструктура (софтуер, алгоритми, протоколи за комуникация и т.н.) за обслужване на китайската торент система, която да поддържа споделяне и гледане на видео съдържание.
Втората част на задачата в конкурса изисква да се разработи клиент, който позволява гледане на видео от Китайската торент система.
За комуникация се използват стандартни за съвременния свят REST-базирани уеб услуги, които работят по стандартен HTTP протокол с JSON сериализация на данните.
Задачата може да е много лесна (ако се имплементира тривиално) и много трудна, ако се реализира пълнофункционална peer-to-peer система, подобна на Skype, така че всеки екип може сам да прецени до къде му стигат силите и да реализира част от заданието или цялото заание, дори с обогатена функционалност и по оригинален начин.
Пълното условие на задачата може да прочетете на сайта на конкурса: “Конкурс по рпограмиране на PC Magazine и Телерик – Задача #3 / 2012 г. – Китайска торент система”.
Boris Simandoff,
Ivo Hristov,
Vladimir Stanev,
Aleksandar Bonev,
Владислав Валентинов,
Svetoslav Stefanov,
Zdravko Genov,
Martin Nenov,
Vladimir Korichkov,
Desi Lesi,
Sunny Beach,
Silviya Georgieva-Hristova,
Pavel Nikolov,
Angel Kirilov,
Виктор Иванов,
Благовест Клисарски,
Димитър Георгиев,
Borislav Borisov liked this post Tags: HTTP, JSON, peer-to-peer, REST, SOPA, torents, китайска торент система, конкурс на PC Magazine и Telerik, конкурс по програмиране, торент, торент система
January 18, 2012
Дойде времето и за втората задача от конкурса на PC Magazine и Телерик за сезон 2011/2012 г. Споделям ви накратко нейното условие. Даден е текст и списък от думи. Трябва да разработите алгоритъм и GUI към него за намиране на максимален брой от тези думи, записани като “Библейски код”. Библейският код се разкодира като записваме буквите от текста, започвайки от определена позиция, в крадратна матрица и в нея търсим думите като поредица от букви, разположени на една линия в матрицата през фиксирана дистанция по редове и колони. Следва пример за такава матрица с думи:

В примера по-горе търсим думите “бира”, “Наков”, “пак”, “пие” и “ще” в следния текст:
| Математици доказаха, че тайните кодове от Библията могат да се получат случайно като се изпробват твърде многото варианти за думи и букви. Ако рядка буква не се среща, сменяме думата със синоним. Пробвайте сами и ще се убедите! |
Матрицата се получава като буквите от дадени текст се запишат в матрица със 25 колони и 7 реда, започвайки от 10-тата буква в текста (пропускаме всичката пунктуация и празно пространство и ползваме само буквите). Както се вижда от матрицата, в посоченият по-горе текст можем да намерим скритото тайно съобщение “Наков пак ще пие бира”.
Пълното условие на конкурсната задача е публикувано на сайта на конкурса по програмиране на PC Magazine и Телерик.
Крайният срок за изпращане на решение е 18 февруари 2012 г.
Вдъхновение за задачата “Библейски код”
Условието на задачата е вдъхновено от филма “The Bible Code: Predicting Armageddon”, в който експерти “софтуерни инженери” явно ни боламосват как виждате ли в свещеното писание имало скрити тайни съобщения. Истината е, че в Библията пише всичко, което искаш да намериш и една от целите на задачата в конкурса е да докажем това изготвяйки софтуер, който намира каквото си искаме в достатъчно обемен текст.
За любопитните оставане един линк към сайт, който описва доста интересни примери какви скрити съобщения могат да се намерят мистериозно скрити в “светото писание” по рецептата от филма: http://www.nmsr.org/biblecod.htm.
Tags: bible code, библейски код, Библия, конкурс, конкурс на PC Magazine и Telerik, конкурс по разработка на софтуер, конкурс програмиране, конкурсът по програмиране на PC Magazine, телерик
December 29, 2011
Стартира национален конкурс по програмиране и разработка на софтуер, организиран от PC Magazine Bulgaria и софтуерната академия на Телерик. В състезанието могат да участват единични състезатели и отбори до трима души. Състезанието се провежда в 6 кръга задочно, от които се излъчват най-добре представилите се 20 участници, които се явяват на финален присъствен кръг и се борят за големите награди (лаптопи, таблети, телефони и други технологични джаджи).
Конкурсът се организира за 17-та поредна година, но този път с обновени правила. Той комбинира класическото състезателно програмиране (решаване на алгоритмични проблеми) и практическа разработка на софтуер със съвременните технологии и платформи за Web, desktop и мобилни приложения. Състезанието е напълно отворено: няма ограничение за възраст на състезателите, както и за езици за програмиране, платформи и технологии за разработка.

Правила на конкурса по алгоритми и разработка на софтуер на PC Magazine и Telerik
Конкурсът по програмиране развива алгоритмичното мислене на състезателите и техните способности да разработват решения на практически проблеми от разработката на софтуер, да построяват технологични решения базирани на съвременни софтуерни платформи, езици за програмиране и технологии, да работят в екип, да си разделят задачите по проекта и да постигат съвместно по-добри резултати. Той обединява уменията на добрите състезатели по алгоритми с уменията на добрите софтуерни инженери, които разработват приложен софтуер и в крайна сметка подготвя състезателите за живота и за реална работа в софтуерната индустрия, където се изискват проучване, дизайн, разработка, тестване, внедряване и поддръжка на цялостни продукти и софтуерни решения. Това прави конкурса много ценен за младите хора, които искат да станат кадърни софтуерни инженери, и дава възможност за развитие на практически умения, които един ден състезателите ще използват в професията си.
Задочни кръгове и финал на конкурса по програмиране
Конкурсът по програмиране се провежда в 6 кръга задочно. Във всеки кръг състезателите и отборите решават конкурсните задачи вкъщи и ги изпращат на организаторите на конкурса в определения по условие срок (около 1 месец). Журито тества и оценява всички изпратени решения според предварително обявени критерии за всяка от задачите и обявява класиране на участниците в срок до 1 месец след крайния срок за всяка задача. Оценяват се както алгоритмичната част на задачите чрез тестове или директен двубой между програмите на отделните участници, така и технологичната част на изпратените решения, където са важни удобството и ползваемостта на потребителския интерфейс, стабилността на приложението, оригиналност на подхода и други качества.
Журито прави отделно класиране за всеки кръг и шампионите получават дребни награди. Успоредно с това участниците трупат точки за крайното класиране от всички кръгове. Двайсетте отбора с най-високи резултати сумарно от всички кръгове на конкурса участват във финала. Той се провежда присъствено в София, в Академията на Телерик за софтуерни инженери, където отборите се състезават на живо в реално време за по-сериозни награди (лаптопи, таблети и подобни). На финала отново могат да участват отбори и индивидуални състезатели, които са събрали достатъчно точки, за да попаднат сред 20-те най-силни участника. Задачите на финала се решават за един ден и се оценяват веднага след това. Награждаването на победителите във финалния кръг на конкурса се извършва на следващия ден.
За участие във финала не е задължително да участвате във всички кръгове на конкурса. Важно е представянето ви да е достатъчно добро и отборът ви да попаднете сред 20-те най-силни състезатели. Един състезател може да участва в най-много един отбор за даден кръг. Ако на финала даден състезател се класира с повече от един отбор, той сам преценява към кой отбор да се състезава.
Софтуерни технологии и алгоритмично мислене
Конкурсът комбинира технологични и алгоритмични задачи. Във всеки кръг ще има алгоритмична част, в която трябва да се измисли алгоритъм или стратегия за решаване на определен проблем, и практическа технологична част, в която трябва да се разработи потребителски интерфейс (UI) и цялостно софтуерно приложение или система. Примери за такива технологични елементи от задачите в конкурса са създаването на уеб приложения, RIA приложения, desktop приложения с графичен потребителски интерфейс (GUI), уеб услуги, приложение за мобилни телефони и таблети и други.
В конкурса могат да участват единични състезатели, както и екипи до трима души. Това дава възможност добър състезател по алгоритми да се състезава заедно с добър състезател по приложно програмиране и заедно да допълват знанията и уменията си. Така конкурсът по практическо програмиране на PC Magazine и Telerik е прекрасен път към натрупването на опит за работа в екип – нещо, което особено много се цени от работодателите в софтуерната индустрия.
Кой може да участва в конкурса по програмиране?
В конкурса може да участва всеки, който има желание – ученици, студенти, работещи, програмисти, софтуерни инженери, учители, преподаватели, професионалисти от ИТ индустрията, безработни и други. Няма възрастови или други ограничения. Всички участници трябва да спазват правилата на конкурса и сроковете за всяка от задачите.
Състезателите могат да участват самостоятелно или в отбор, което е за препоръчване. При създаването на отбор състезателите се идентифицират с e-mail адрес на отбора или неговия капитан. Точките натрупани отборно се броят само за отбора и не могат да се прехвърлят на други отбори, дори ако даден състезател си смени отбора между кръговете в конкурса.
Езици за програмиране и технологии
Участниците могат да използват език за програмиране и технология по свой избор, освен ако за съответния кръг на конкурса не е изрично посочен език или платформа за разработка. Могат да се използват например съвременни езици като C#, Java, Python, PHP и C++ и платформи като .NET, Java SE, Java EE, WAMP, Django, CakePHP, iOS, Android и други (според конкретната задача). Могат да се използват всякакви некомерсиални софтуерни библиотеки и инструменти, както и лицензирани платени библиотеки и инструменти. Всички задачи ще бъдат тествани в Windows 7 среда (64-bit), така че изпълнимите файлове или сорс кодът трябва да работят под Windows.
Жури на конкурса по програмиране
Журито на конкурса по програмирането е съставено от софтуерни инженери и състезатели по програмиране с дългогодишен опит, шампиони от олимпиади по алгоритмично програмиране и разработка на софтуер. Конкурсните задачи се предлагат и проверяват от екипа на софтуерната академия на Телерик, но в отделните кръгове могат да бъдат канени и външни експерти.
Председател на журито е д-р Светлин Наков, дългогодишен състезател по програмиране и разработка на софтуер, медалист от многобройни национални и международни олимпиади и състезания по програмиране.
История на конкурса по програмиране на PC Magazine
Конкурсът по програмиране на PC Magazine е един от най-старите в България. Той се провежда вече за 17-та поредна година! През годините конкурсът е организиран съвместно с различни фирми от софтуерната индустрия (Musala Soft, Microsoft Bulgaria, CNSys, Fadata, БАРС, Stemo, NetIsSat, Asbis, Американска фондация за България и много други).
Конкурсът на PC Magazine и Musala Soft е вече минало
В периода 2000-2011 г. конкурсът се провежда съвместно между Мусала Софт и PC Magazine и натрупва сериозен авторитет. Наградите на финалния кръг през последните няколко години са връчени лично от Президента на България Георги Първанов. През 2011 г. Мусала Софт се оттеглят от съвместната организация на конкурса и PC Magazine намират нов партньор в лицето на софтуерната корпорация Телерик за да продължат 16-годишната традиция на това авторитетно състезание по програмиране.
Информация за последните 10 кръга от конкурса по програмиране на PC Magazine и Мусала Софт все още са достъпни от стария сайт на състезанието: http://konkurs.musala.com.
Конкурсът на PC Magazine се организира съвместно с Телерик
От края на 2011 г. софтуерната академия на Телерик се включва като съорганизатор на най-старото и най-престижното частно състезание по програмиране в България – конкурсът по програмиране на PC Magazine Bulgaria. Мусала Софт се оттеглят и създават свой собствен конкурс по алгоритмично програмиране (codeit.bg), а PC Magazine продължават 16-годишната традиция на конкурса.
С цел доближаване на конкурса до практиката и нуждите на софтуерната индустрия, правилата на състезанието по програмиране се осъвременяват и по-конкретно се въвеждат следните промени:
- позволява се не само индивидуално, но и отборно участие
- задачите комбинират алгоритми и приложно програмиране, не само алгоритми
- позволява се използване на всякакви езици за програмиране, платформи и технологии
Новият уеб сайт на конкурса по програмиране на PC Magazine и Telerik е: http://www.pcmagbg.net/konkurs/.
Награди в конкурса по практическо програмиране
Във всеки от отделните кръгове на конкурса на победителите ще се раздават грамоти и дребни награди, различни за всеки кръг – тениски, книги и други.
За финалния кръг ще бъдат осигурени по-сериозни награди: лаптопи, таблети, телефони и други полезни хардуерни придобивки.
Първата задача от конкурса по програмиране
На сайта на конкурса по програмиране на PC Magazine и Telerik е обявена задачата от първия кръг в 17-тото издание на конкурса – Игра “1-2-3″. В нея двама играчи поставят последователно плочки с размер {1 x 1}, {1 x 2} или {1 x 3} върху правоъгълно игрално поле, разграфено на кутийки и се стремят да завладеят възможно повече територия:

Задачата има алгоритмична част (измисляне и имплементиране на алгоритъм-стратегия за играта “1-2-3”) и технологична част (разработка на симулатор за играта с приятен и удобен графичен потребителски интерфейс с технология по избор – уеб или десктоп приложение). Повече за първата задача от конкурса по програмиране може да прочетете на неговия сайт: http://www.pcmagbg.net/konkurs/2012/1.
Срокът за изпращане на решения за първия кръг е до 22 януари 2012 г.
Как да се включим в конкурса на PC Magazine и Телерик?
Участието в конкурса по програмиране на PC Magazine и Telerik изисква следните стъпки:
- Да се запознаете с правилата на конкурса по програмиране на PC Magazine и Telerik.
- Да организирате отбор до трима състезатели или да решите да участвате самостоятелно.
- Да изготвите решение на задачата от текущия кръг на състезанието. Може да решите само алгоритмичната или само практическата част на задачата (не е задължително да реализирате и двете, за да участвате).
- Да изпратите вашето решение от сайта на конкурса. Има специална форма за качване на решения.
Успех на всички състезатели!
Tags: алгоритми, алгоритмично мислене, конкурс на PC Magazine и Telerik, конкурс по алгоритми и технологии, конкурс по програмиране, конкурс по разработка на софтуер, конкурс програмиране, конкурс технологично програмиране, конкурсът по програмиране на PC Magazine, надпревара програмиране, отборно състезание по програмиране, приложно програмиране, софтуерни технологии, състезание по програмиране и технологии, състезание програмиране
November 29, 2011
За феновете на приложното програмиране е обявено първото по рода си национално състезание по практическа разработка на софтуер за студенти “WEBLOZ Students’12”.
Категории – уеб, мобайл и десктоп
Участницит в състезанието WEBLOZ за студенти могат да мерят сили в три категории:
- Уеб приложения
- Мобилни приложения
- Настолни приложения
За всяка категория има отделно жури и отделни критерии за оценяване. Състезанието е отборно и могат да участват екипи от до 5 души (студенти-бакалаври от всички български университети).
Кръговете са два – задочен и присъствен
Състезанието WEBLOZ за студенти ще се проведе в два кръга: виртуален и присъствен. Във виртуалния кръг може да участват отбори до 5 души. Най-добрите 30 проекта от всяка категория достигат до втория (финален) кръг, който е присъствен и се провежда в София в периода 25-26 февруари.
Ще има и награди (естествено)
Предвиден е награден фонд от над 3 000 лв.
Наков и този път в журито
Журито във всяка категория се състои от 5 души. И този път тази работа няма да се мине без мен. Бях поканен за жури в категория “настолни (desktop) приложения”. Надявам се да е силна конкуренцията и да има добри проекти, макар и десктоп приложенията да не са твърде на мода.
Срокове и дати
- Регистрация на проектите – до 9.01.2012 г.
- Класиране на първи кръг – 23.01.2012 г.
- Втори кръг (финал) – 25-26.02.2012 г.
WEBLOZ Students – още информация
Ако състезанието “WEBLOZ Students” ви е хванало интереса, прочетете още за него на неговия сайт: http://webloz.net/students/.
Tags: WEBLOZ, WEBLOZ Students, мобилни приложения, настолни приложения, състезание, състезание по разработка на софтуер, състезания по програмиране, уеб приложения
November 23, 2011
За всички, които се интересуват от роботика, електроника, програмиране и обучение по информационни технологии, отправяме покана да посети безплатно финалите на най-голямото за България състезание по роботика “FIRST LEGO League”.
Кога и къде?
Събитието ще се проведе на 26 ноември 2011 г. от 9:00 часа в Интер Експо Център, гр. София. Вход: свободен, без предварителна регистрация.
За състезанието FIRST LEGO League
FIRST Lego League (FLL) е най-голямото международно състезание по роботика за ученици. Организира се с участието на десетки хиляди ученици от целия свят, състезаващи се на локално, а при успех и на международно ниво. Провежда се всяка година като задачите са свързани с важни за света проблеми. В рамките на няколко месеца под напътствията на ръководител ученици на възраст между 10 и 16 години се подготвят в отбор, за участие в състезанието. Подготовката включва конструиране и програмиране на реални роботи LEGO Mindstorms NTX.
Как се програмират роботчетата?
Програмирането на роботчетата “LEGO Mindstorms” се извършва на специален графичен език за програмиране “Mindstorms NXT-G”, който съчетава стандартни програмни примитиви (променливи, конструкции за управление, цикли, паралелност и други) с API за вход от сензорите на робота (разпознаване на цветове, разстояние, звукови сигнали и други) и управление на изходната периферия (звук, светлини и други).
За българското издание на състезанието по роботика

През тази година от България ще участват на 80 ученици, водени от 19 ментора. В деня на събитието над 20 съдии, членове на журито и асистенти ще помагат за правилното му провеждане. Два от отборите се подготвят под менторството на специалисти от Телерик. В последните 3 месеца те имаха възможност да се подготвят. На 26 ноември предстои да премерят сили в директен сблъсък, на живо в София.
Програма на състезанието
- 09:00 – Откриване
- 09:30 – 12:00 – Състезание в дисциплините, представяне на проект, отборна игра, техническо интервю
- 12:00 – 13:00 – Обяд
- 13:00 – 15:00 – Състезание в дисциплината “Игра с робота”
- 15:00 – 16:00 – Финали
- 16:00 – 17:00 – Награждаване и закриване
Организаторите
FLL в България се организира от „ИКТ Училище“ и Училище по роботика „Robopartans“ с изключителната подкрепа на SAP AG и SAP Labs Bulgaria. Събитието се подкрепя и от Telerik и Datecs. В периода 2006-2010 г. български отбор участва в локалните състезания в Германия. През 2011 г. се организира първият локален кръг за България, в който ще вземат участие над 10 отбора.
Tags: FIRST LEGO League, FLL, LEGO Mindstorms, LEGO Mindstorms NTX, Mindstorms NXT-G, Robopartans, роботика, състезание, състезание по роботика
November 7, 2011
Колегите от Майкрософт България съвместно с българските .NET и Silverlight потребителски групи, обявиха състезание за разработка на приложения за мобилната платформа “Windows Phone 7”. Ако имате добра и простичка идея, може да участвате в състезанието.
Как се пишат Windows Phone 7 приложения?
Приложенията за Windows Phone 7 (WP7) се пишат на езика C# върху платформа Silverlight, с потребителски интерфейс базиран на XAML и с комуникация към сървърната част с технологии като WCF, REST services, RIA services и ADO.NET Data Services.
За разработка се използва Visual Studio 2010, в който има вграден WP7 емулатор, който ви избявя от нуждата да имате WP7 телефон, за да разработвате мобилни приложения.
Друг вариант да пишете за Windows Phone 7 е чрез HTML5 / JavaScript технологиите, използвайки инструменти и библиотеки като PhoneGap.
Как да участвате?
Изпратете ни своето приложение на тема “Красотата е в простите неща” на http://wp7appcomp.com в секцията за България в срок до 26 декември 2011.
Награди
Наградата за първо място е чисто нов Windows Phone 7 телефон.
Tags: Windows Phone 7, WP7, конкурс, Разработка на мобилни приложения, състезание