How to setup Grid.Mvc to work with AJAX in your ASP.NET MVC project

Hello!

I recently had to use the free ASP.NET MVC extension Grid.MVC in a project at work. By default it doesn’t support AJAX. That is kind of restrictive if you don’t want your webpage refreshed each time you select a new page. In this guide I will show how to install and properly configure your Grid.MVC to work with AJAX. If you have previous experience setting up similar extensions, you can directly take a look at the demo HERE.

  1. Installation
    The simplest way to get the required files is by using the NuGet package manager. You are going to need three packages: Grid.Mvc (provides the core functionality), Grid.Mvc.Redux (fixes bugs) and Grid.Mvc.Ajax (builds on the core and allows the grid to work with AJAX calls). Simply look for Grid.Mvc.Ajax and install it. It will automatically install the previous two.Notice that after the installation is complete some files would’ve been added to your project. You can find them in the following folders: Content, Scripts and Views/Shared. I suggest you move the files in the first two folders to their own separate directories. Then include the scripts and styles you’re going to use in your BundleConfig.cs (you’re not required to but it certainly makes things more convenient).Because of dependencies Grid.MVC must be loaded after jQuery so make sure you render its script bundle bellow jQuery. Styles are usually loaded in the head element of your html so it’s safe to place them there.
  2. Configuration
    For convenience I’ve written a helper that handles most of the Grid.Mvc work on the server. We’re going to use it bellow.Now, to get it all going, we need:
    a) a partial view where the grid is configured;
    b) an action that returns the partial view with the grid;
    c) an action that is called by the grid for paging, sorting or filtering purposes;
    d) to „ajaxify“ the grid on the client.
    First we’re going to set up items b) and c).

    A) The Controller

    The first method we’re going to write is the one that returns the partial view (a). You can find it in the HomeController.cs inside the provided demo under the name GetGrid(). We’ll be calling it from another view so better apply a [ChildActionOnly] attribute to it. In the method’s body we need to get the data as IOrderedQueryable<YourModel>. Pass the data to the GetAjaxGrid() method of your GridMvcHelper. The resulting object of type AjaxGrid<YourModel> is the object you need to pass to the partial view where your grid is configured.

    The second method we need is the universal action your client will call on Paging/Sorting/Filtering. In the demo you can find it again in the HomeController.cs under the name GridPager(). Here we’re using the GetAjaxGrid() method again but this time with a second parameter – page. This time we will pass the result to the GetGridJasonData() method of the gridMvcHelper. The resulting json is then sent back to the client to update the view.

    B) The grid view

    Here you will configure the grid itself. In the demo you can find the corresponding file in ~/Views/Home/_FootballersGrid.cshtml. Notice the usings for GridMvc.Html and GridMvc.Sorting. The views’ model is an AjaxGrid<YourModel> – the same type we passed to the view in both actions, remember? You can find more about how to configure the grid in the Grid.Mvc documentation. It’s important to give your grid a name.

    C) The client

    In the view where your grid will be displayed (in the demo: ~/Views/Home/Index.cshtml) you need to do three things: call the action a) (look above), render the Grid.Mvc scripts (look in the BundlesConfig.cs to see which files must be included) and „ajaxify“ the grid. Now take a look at ~/Scripts/Application/home.js. The ‘pageGrids’ variable is initialized by the GridMvc plugin. To ensure it’s properly populated, we’re calling $(‘.grid-mvc’).gridmvc();  Then, after accessing the grid by the name we’ve given it in B), we will ajaxify it with an object that contains getData and getPagedData properties, each pointing to the url of the action c).

  3. Conclusion

    This is all you have to do to get the great GridMvc plugin to work with Ajax. Have fun!

  4. Resources

    The demo repository

Хакатон в Телерик – как да (не) спечелиш и да си изкараш страхотно

На 21 и 22 юни в зала Ultimate на Софтуерната академия се проведе първият хакатон под егидата на Телерик. Тъй като си изкарах по-добре, отколкото очаквах, реших да споделя с вас защо, какво и как се случи през тези два дни.

Какво е хакатон?
Хакатонът е надпревара за иновативни идеи в сферата на софтуерното инженерство. Отборите-участници имат на разположение два дни, в които да скечират своя проект за приложение (било то уеб, мобилно или десктоп) и да го защитят пред жури. Противно на очакванията ми това не е състезание по програмиране. На първо място трябва да бъдат представени най-вече идеята и планът за нейната реализация, а не толкова работещ софтуерен продукт.

Усилена работа

Атмосферата
Началото се даде в 9:15 ч, след като регистрацията на участниците беше приключила. Хакатонът не е състезание в истинския смисъл на думата. Контактът между отборите е свободен, даже се поощрява. Специални правила няма, единствено трябва проектът да е съобразен с темата: „Идея за по-добър свят“. Отборите бяха съставени от бивши и настоящи курсисти в Софтуерната академия. Домакините от Телерик осигуриха кафе, вода и обяд за участниците, както подобава на едно добре организирано събитие.

Менторите
Специални гости и своеобразни участници на хакатона бяха бивши шампиони от подобни надпревари, както и представители на предприемачески организации и лица от софтуерния отрасъл в България. В първия ден те отделиха време да се запознаят с проектите на отборите и да дадат насоки как по-добре да бъдат защитени проектите им. Повечето участници бяха критикувани най-вече за това, че не са проучили добре пазара на приложения. Оказа се, че много от идеите страдат от липса на оригиналност, тъй като вече са реализирани под една или друга форма. Друг проблем се оказа и изместването на акцента от идеята към реалното програмиране. В моя отбор отделихме излишно много внимание на проблема за техническата реализация на приложението ни – нещо, което по-слабо вълнуваше журито.

Идеите
Проектите на участнитице бяха разнообразни. От приложение за срещи по интереси в Борисовата градина, през софтуер за управление съдържанието на хладилника, та чак до решения за разработчици и игри. Изненадващо беше, че някои от представените идеи бяха много близки едни с други (почти припокриващи се) – нещо, което трудно можеше да се очаква предвид факта, че участие взеха само 15 отбора.

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

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

На трето място се класира приложението за регулиране на съдържанието хладилника YourFood, което цели да намали количеството храна, което домакинствата изхвърлят от хладилника вследствие на престояване и разваляне. То беше предложено от моите колеги и приятели Здравко Георгиев, Стефан Димов и Ясен Михайлов.

Тези момчета са Вашата храна

На второ място се класира мобилно приложение за информиране на потребителите за съдържанието на Е-съставки (консерванти, овкусители и др.) в продуктите, които купуваме, което работи чрез разчитане на етикетите им. То беше представено от Димитър Тодоров – Saykor.

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

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

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

Как да спечелим
Не е достатъчна само хубавата идея. Важно е тя да бъде достатъчно отличима от близките до нея и продуктът, който се предлага, да не е „поредният“ в този отрасъл. Трябва разработката на приложението да е нискорискова, т.е. да няма нужда от сериозни инвестиции, за да бъде приведена в работещо състояние. И много важно – да разрешава ясно определим проблем.

За финал
Хакатонът е чудесен повод за бъдещите софтуерни инженери да се научат на малко прагматичност извън програмирането, да се запознаят с нови хора и идеи и не на последно място – да изпитат тръпката от публичната защита. Да пожелаем на спечелилите да реализират успешно проектите си! А на неспечелилите – да не си останат само с хубавите впечатления, а да се пробват още веднъж, когато им се открие възможност.

Сите хакатонци заедно

Подготовка за приемен изпит в СофтУни

Имах възможността да проведа заедно с един колега подготвителна лекция-упражнение за приемния изпит за първото издание на Софтуерния университет. Ето какво се получи. 🙂

„Football Stats“ – a Telerik Academy educational team project in object-oriented programming with C# and WPF

Hello, dear readers!

It’s high time I published an elaborate review of a team project I recently had the pleasure to take part in. First off, let me introduce you to the preceding events.

  1. Introduction
    Perhaps many of you already know about my current occupation as a student at Telerik Academy. In the last 10 months I had the opportunity to attend courses in computer programming along with hundreds of other students united in the effort to become skillful junior software engineers. While we had been under the impression that we were making quick progress it was not until the recent months that we finally began to see a bigger picture – one not strictly inside the world of algorithms, but rather in how one can develop software that can solve more than a few tasks and do that in a systematic way.
    The OOP team project was the third team project I had been involved in since starting my education at the Academy. Of the other two only one involved actual programming. (If you are interested you can read more about it here (in Bulgarian): LINK) So, being only the second one, it was bound to be very different than the first.
  2. Task
    Our task was to „design and implement an object-oriented application by choice.“… but not a game! We had roughly one month to complete the task and fulfil the requirements, all of which you can read here: LINK The biggest surprise came from the requirement to implement a GUI. For that we had to use XAML/WPF – a technology completely unknown to most students. As it proved later, it was  the hardest feature to implement. But now I think it’s time to introduce you to… 
  3. The team

    It was the Academy that picked the teams and the students had no controll over who they were going to work with. While not completely random, each team consisted of five students, selected by their performance in previous exams. I got picked alongside Martin Anastasov and Martin Marinov.
    Me and Martin Anastasov

    Me and Martin Anastasov

  4. The concept – what we wanted to do
    A blank sheet of paper is a dangerous adversary. The program we wanted to create had to be both impressive and relatively easy to develop, having in mind the close deadline and our own limitations as programmers. Unfortunately we went for a plan for something big, not taking into account the difficulties it posed and the sheer scale of the project we had in mind.
    The night before our first team meeting I came up with an idea after two days of fruitless thinking. Considering myself an educated football fan I spend a lot of time browsing sites and meddling with statistical data. So I told myself: „Why not try and create a software that keeps information about football competitions and displays information about players and clubs while providing the user with well presented stats?“ When I proposed it to my teammates they accepted it eagerly.
    So, to sum it up, our software was supposed to keep data about competitions, seasons, clubs, players, staff members and possibly about matches as well and at the same time provide complex stats analysis and its visualization. Perhaps you’re already getting the idea that such task could hardly be accomplished in time and competently by a team of budding programmers. Nevertheless, we managed to develop a stable program with basic functionality and some nice GUI and in the end we were fairly satisfied with our effort.
    Main Window

    The Main Window

  5. Technologies used: WPF/XAML, C#
  6. Project management
    We used SVN source control system. The project is hosted on GoogleCode. You can find the project repository here: LINK  We held a few live meetings, but used Skype as our main method of communication. To organize our work, we assigned most of the tasks in such a way that no more than one person would work on a single one. I worked on the project architecture and made extensive use of interfaces to „shape“ the project’s class hierarchy and functionality. My teammates developed some of the classes and the exception handling. I spent the biggest amount of time studying XAML as neither of us had previous experience with any kind of UI technology and GUI was a required feature of our program.
  7. Features
    The final version of „Football Stats“ has the following features:
    – creation of players, staff members and referees;
    – creation of clubs;
    – display of detailed information about players and clubs;
    – adding/removing players to/from clubs;
    – provision of statistical data for selected clubs;
    – save/load to/from text file;
    – GUI.
  8. Classes and methods
    Let me explain in short our class hierarchy.The basis of the football world are the persons – players, coaches and other members of the staff. Together they form the class hierarchy Persons. Each person has a name, date of birth and nationality. Players and coaches are club affiliated unlike referees who aren’t. They also have a wage. Each player knows the positions he can play in and each staff member knows if he is a coach, a manager, an owner etc.
    The club class is an organization of players and staff (the club affiliated persons). It holds a list of players and a list of staff. In the Club class we put the majority of methods that return statistical data – like average age, average/max/min wage, if the club has an appointed manager or the position is vacant, how many players can play in certain position and so on.
    PersonsClassDiagram

    One of the class hierarchies

  9. User experience and GUI
    The main window presents the user with four options – to create a new player, to create a new club, to show info about players and to show info about clubs. What they do is pretty self-explanatory but here are some screenshots:
    The Create Person Window

    The Create Person Window

    – The Player Creation window requires the user to fill all the fields otherwise an error message would appear instructing him to provide more information. The drop-down menus for player/staff position become enabled/disabled depending on the type of person selected through the radio buttons. After successful creation, the person is added to a static list of persons you can find in the World class. From there the person is visible to all other classes which allows easier access and manipulation;
    – The Club Creation window provides a minimalistic interface. The user is only able to enter a name and nationality for the new club. Upon creation, the club is added yet again in a static list in the World class;
    – The Show Persons window displays a list of all persons, whether club affiliated or not (referees). When selected, verbose information about them appears on the right side;

    The Show Clubs Window

    The Show Clubs Window

    – The Show Clubs window is divided into three sections. The leftmost shows a list of all Clubs currently loaded in the program. When the user makes a selection, the two other sections become active. The middle one will show comprehensive stats, displaying the name of the club, its active manager, the total number of players, average wage etc. The right section is reserved for the players currently affiliated to the club. When selected, players can simply be removed by clicking the corresponding button which will remove them from the club’s players list and change their club affiliation to „Free Agent“. The Add button opens a new window. There, all free agents are available for selection and addition to the club.
    Changes to the data are automatically saved on almost each action or on closing a window. No dedicated save command is available. The data is exported to a text file. On program initialization the data which is stored in text files is parsed into the memory.

  10. Project defense and marks
    The defense went well. The project received very good marks – 3.6 out of 4. A short note about the program was included in the Telerik Academy Newsletter.
  11. Personal satisfaction and conclusion
    The project started ambitiously, but our inexperience in software development meant that we had to abandon the initial ideas we had and cut a lot of planned features from the final product. Nevertheless, I’m very satisfied that midway through development we realized we needed to create and integrate small but functional features one by one, rather than working on many features simultaneously. Later, when I got familiar with the agile development methodologies I found out that back then we’ve been on the right track, coming to the conclusion by trial and error approach.

It has become a rather long post and I hope it didn’t bore you to death :).  Here’s the link to the repository again if you want to take a more in-depth look. Please bear in mind that „Football Stats“ is an educational project which main objective is more the promotion of teamwork skills rather than the development of high quality software. I’m well aware a lot of things could’ve been done better and I look upon this work merely as a small step on a long journey.

Till next time!

Обзор на курса по Обектно-ориентирано програмиране (ООП)

Telerik Academy Logo

Telerik Academy Logo

Привет!

Приключи курсът по ООП за пролетния прием на Софтуерната академия на „Телерик“. Малко повече от два месеца изучавахме принципите на обектно-ориентираното програмиране, решавахме домашни и писахме отборни проекти.

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

Светлин Наков

Светлин Наков

За съжаление по средата на курса Академията напусна Светлин Наков – неин идеолог и ръководител. Въпреки тази несъмнено неприятна новина, учебната дейност продължи без особени сътресения. Да се надяваме, че преходът към нова философия, който беше заявен официално, няма да се отрази на амбициите на курсистите да станат добри младши софтуерни инженери – нещо, с което тя е известна в IT сектора в България.

Курсът приключи със защита на отборен проект и изпит. За проекта ще разкажа в отделна публикация. Оценяването на изпита, от своя страна, се състоеше от два компонента – обичайното автоматизирано оценяване и ръчна оценка на качеството на кода. На първия компонент изкарах максималния възможен резултат – 200 точки, който формираше 40% от крайна оценка за изпита (80 т). 120 точки беше максималният възможен резултат при ръчното оценяване, на което получих 101 точки. Така общият ми резултат на изпита беше 181 т. от 200 възможни.

В генералното класиране завърших 11-ти – отстъпление с 6 позиции от предходния ми резултат (по C#2). Въпреки лекото първоначално разочарование, което изпитах, имайки предвид голямото старание, което положих, установих, че само стотни и десети ме отделят от най-добрите места.

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

До скоро!

GitHub Repository Update – OOP Course

GitHub Logo

В GitHub хранилището ми вече са добавени:

домашните ми по ООП;

– решения на изпитните задачи по ООП: Sample Exam (Document System, Geometry API), 25 March 2013 – Evening (HTML Renderer, Academy Ecosystem) и 25 March 2013 – Morning (Software Academy, AcademyRPG).

Първите ми опити да реша изпитни задачи не се увенчаха с голям успех. Sample Exam е пример за неправилно решена задача. Доста по-добре се справих с HTML Renderer и Academy Ecosystem и най-добре – със Software Academy, AcademyRPG. Със сигурност всяка от задачите може да имплементира по-добре някои от принципите на ООП, но при подготовката ми основно се стараех да напиша решение, което да издържи тестовете в bgcoder.com.

Пръв поглед върху проекта за Софтуерен университет и неговото значение за образователния и IT сектор в България

Светлин Наков, основната фигура, отговорна за създаването и функционирането на Софтуерната академия на „Телерик“, вчера напусна поста си в Академията. За добро или за лошо? Спекулациите около този въпрос хвърлиха в смут много от настоящите курсисти в академията на „Телерик“, а Капитал, ИнвесторБГ и ТекНюз отразиха събитието.

В ранния следобед Светлин Наков публикува официално обръщение във форума на академията, в блога си и във Фейсбук профила си. Причината за напускането му е разминаване в плановете му за развитие на академията с тези на „Телерик“. В резултат на което Наков реши  да посвети усилията си изцяло върху учредяването на първия по рода си в България университет за софтуерни инженери, акредитиран по българското законодателство.

Проектът не е нов. Наков от около една година говори открито за него. Една голяма осъществима мечта, която е само на няколко крачки от това да се превърне в реалност. Какво знаем за него? Повече информация можете да намерите на официалния сайт. Очакваме бъдещи обновления и на Фейсбук страницата. Планира се кампанията по приема на първите студенти да протече през януари, а обучението да започне през месец май.

По мои наблюдения университетът ще разчита на комбинираните усилия на бизнеса и на компетентни доброволци. Този проект е отворен за всеки, който иска да допринесе – било с материални дарения (пари, помещения за провеждане на лекции) или личен труд. В тази форма можете да заявите желанието си за подкрепа.

Ще има както безплатно, така и платено обучение, а кое от двете – ще се определя от резултатите на кандидатите. Лично мое предположение е, че обучението за новоприетите ще е безплатно и ще продължи да бъде такова само за отлично представящите се студенти. Освен присъствена, ще има и онлайн форма на обучение.

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

Любопитно е, че програмата включва и обучение по предприемачество. По думите на водещи фигури в IT бизнеса, в IT сектора в Източна Европа се забелязва осезаема нужда от предприемачи. Радостно е, че тази тенденция е усетена и това намира отражение в учебната програма.

В най-скоро време очакваме още новини около този амбициозен проект.

Пожелавам му успех!

Октомври – обзор

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

1. … и малко по-назад. На 16-ти септември завърши четириседмичното ми участие в курса „Умението да общуваме“. В рамките на четири срещи с вещите напътствия на енигматичната фигура, която ще нарека просто Капитана, 15-тина несофтуерни пирати кандидат-нинджи (сложничко стана) се дуелирахме със силата на словото и потайните хватки на невербалната комуникация. Прекарахме си чудесно, опознахме се и свършихме доста работа. Ролеви игри, дебати, речи и малко теория бяха основното ни занимание всеки четвъртък от 19 до 23 ч. или кой колкото издържи 🙂 Накрая поляхме всичко в заведение, името на което се заклех да не издавам…

Четирима от мнозина

2. По воля на Капитана курсът продължи и през октомври. Интензивен, предизвикателен, стресиращ и много изморителен. Този път премеждията пред престрашилите се да участват включваха близки срещи от трети вид с напълно непознати (и невинни) хора, които бяха принудени да търпят нестандартните сценарии, в които ги поставяхме. Акцента без колебание ще поставя върху речите, които държахме не къде, а на пъпа на София – на пл. Славейков. Черешката върху тортата обаче тепърва Баба типредстои. 🙂 За разлика от предходния курс, този наблягаше на пълното преобразяване – както в поведението, маниерите и гласа, така и в облеклото – всичко това благодарение на богат реквизит, с помощта на който се преобразих за кратко в блондинка, а за малко по-дълго – в съмнително палава баба. Очаква се финал на този курс в близките седмици.

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

4. Нови 500 курсисти бяха приети в присъствена форма през есенния прием. Пожелаваме им успех и ще им помагаме!

5. Изключително съм горд и щастлив, че бях поканен за асистент на есенния прием в първата част от курса по C#! Всеки вторник и петък от 15:45 до 18:15 ще съм на разположение на младите нинджи в залите на Академията! Първото ми упражнение вече мина и се радвам много, че видях хора, които се отнасят сериозно и с интерес. Да се надяваме, че ще си помагаме взаимно. 🙂

6. Вече правоспособен юрист! Да, това е малко встрани от основната тема на блога, но на 17 октомври положих успешно изпита за юридическа правоспособност пред Министерството на правосъдието. Така сложих своеобразен финал на продължилото 6 години обучение по право. Ще го запомня със смесени чувства.

Обзор на курса по С# Част 2 (есен 2013) и класиране

Telerik Academy Logo

Telerik Academy Logo

Преди малко повече от седмица приключи курсът по C#2 за пролетния прием на 2013 г., в който участвах и аз. В продължение на малко повече от два месеца надграждахме наученото по C#1 и се запознахме задълбочено с многомерните масиви, методите, обработката на изключения, работата с текстови файлове и текстообработката.

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

Паралелно с курса по C#2 участвахме и в курса по „Споделяне на знания и работа в екип“. Към него също имахме отборна задача, за която вече писах в една от предишните публикации в блога ми. Освен нея други от задачите ми в рамките на курса включваха създаването на лично хранилище за домашните и проектите ми (избрах за тази цел GitHub), писането на Есе за софтуерни инженери, рисуването на мисловна карта и разбира се – съставянето на собствен блог.

Големият финал беше изпитът по C#2. Определян от мнозина, вече минали през него курсисти, като един от най-трудните в цялото обучение, резултатът по него щеше да бъде особено важен за мен, за да преценя дали имам качествата да се занимавам сериозно с програмиране. Подготовката ми за изпита се състоеше в решаване на изпитни задачи, давани на предходните курсове. Поради сложността на материята не успях да прегледам и реша всички. Все пак останах доволен от подготовката си и си поставих като разумна цел изкарването на поне 300 точки (от 500) и малко отгоре.

Изпитът се проведе на 14-ти септември. Записах се в сутрешната група. 5 задачи за 6 часа. Една на тема бройни системи, една по-лесна с масиви, една в тримерното пространство, една задача с акцент върху работата със стрингове и една по-трудна („за шампиони“, както обичат да казват лекторите). Изпитът за мен протече добре. Изкарах 324 т., колкото горе-долу си бях поставил за цел. Реших изцяло първата, втората и четвъртата задача и малко от петата. Третата затрудни както мен, така и повечето колеги и на нея не регистрирах никакви точки. В крайна сметка резултатът ми стигна да се класирам на 13-та позиция в моя поток. Средният резултат за изпита беше 164 т., а максималният постигнат – 467.Image

Генералното класиране излезе на 18-ти септември и бе още по-благосклонно към мен. С радост и гордост установих, че се класирам 5-и! Преди мен се класираха двама мои приятели – Мартин Николов на първо място и Стефан Върбанов – на четвърто. Високият резултат ме убеди, че трябва да се отнасям още по-сериозно към обучението си.Image

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

До нови срещи!

Софтуерната академия на Телерик

Telerik Academy Logo

Telerik Academy Logo

Скъпи читатели!

Вече 5 месеца съм част от Софтуерната академия на Телерик, която предлага безплатно обучение за професията Софтуерен инженер. Програмата е напълно подходяща за начинаещи (какъвто бях и аз – а в момента съм сред курсистите с най-високи резултати). Затова приканвам всеки от вас, който има интерес да научи нещо в областта на програмирането да помисли сериозно за тази страхотна възможност и да се свърже с мен, за да му обясня подробно. Да бъдеш част от Академията е истинско удоволствие. Там не само ти предлагат сериозно обучение на високо ниво, но и възможността да попаднеш в едно общество от преподаватели и студенти, изградено върху принципите на споделянето на знания, взаимопомощ и силна мотивация за развитие!

IT секторът продължава да е един от най-бързоразвиващите се сектори в целия свят. Търсенето на квалифицирани кадри в България е огромно. Отворете произволен сайт за търсене на работа и вижте първите няколко страници с обяви за свободни места. Редовно правя този експеримент и никога не оставам разочарован – повече от половината свободни позиции са свързани с работа като софтуерен инженер – developer, QA, support. Нужно ли е да споменавам и високите възнаграждения?

Цялото обучение продължава една година. Залягането над материала е здраво. Най-добрите завършват и гарантирано започват работа в IT сектора. А най-добрите от най-добрите получават предложение за интервю за работа в Телерик – една от най-големите фирми за разработка на софтуер в България.

За повече информация можете да погледне тази инфографика: http://academy.telerik.com/academy/infographics

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

Отново повтарям – обучението е напълно безплатно. Уловка няма. Пишете ми – с радост ще отговоря на всичките ви въпроси!

Ако решите да кандидатствате – пишете ми, за да знам, че съм успял да ви запаля. Ще се радвам при регистрацията ви сайта на Академията да ме посочите като референт с потребителското ми име – easlavov .