November 23, 2011

Simplified Console Input Class for C#, Similar to “cin >> a >> b” in C++ and java.util.Scanner

Recently I was again asked how do we perform “cin >> a >> b” in C# or how we can enter a sequence of numbers from the console in C#. In C++ we have very powerful class called “cin” (more correctly std::cin located in the standard library “iosteam”) that overloads the >> operator and allows entering anything from the standard input (stdin): numbers, characters, strings and other data types.

I searched for “cin in C#” and found nothing similar to “std::cin” for C#, so I needed to write such a class.

The Nakov.IO.Cin Class – “cin” Functionality for C# / .NET

Initially I had an idea to implement my C# “cin” class exactly like in C++. Unfortunately this was impossible because the C# language has certain limitations:

  • You cannot override the >> operator in C# for any type except int
  • You cannot override the >> operator in C# for output / by-ref types (e.g. out int, ref int)
  • You cannot add extension methods to the Console class because it is static (so additions like Console.Cin, Console.NextInt(), Console.In << x << b and Console.Cin.NextInt() cannot be added to it)

Finally I decided to implement my C# console simplifies reader it in a way similar to the Java syntax used in the java.util.Scanner class. See the code below:

namespace Nakov.IO
{
    using System;
    using System.Text;
    using System.Globalization;

    /// <summary>
    /// Console input helper for C# and .NET. Allows simplified reading of numbers and string
    /// tokens from the console in a way similar to "cin" in C++ and java.util.Scanner in Java.
    /// </summary>
    ///
    /// <copyright>
    /// (c) Svetlin Nakov, 2011 - http://www.nakov.com
    /// </copyright>
    ///
    /// <example>
    /// // In C++ we will use "cin >> x >> y;"
    /// // Using Nakov.IO.Cin we can do the same as follows:
    /// int x = Cin.NextInt();
    /// double y = Cin.NextDouble();
    /// </example>
    ///
    public static class Cin
    {
        /// <summary>
        /// Reads a string token from the console
        /// skipping any leading and trailing whitespace.
        /// </summary>
        public static string NextToken()
        {
            StringBuilder tokenChars = new StringBuilder();
            bool tokenFinished = false;
            bool skipWhiteSpaceMode = true;
            while (!tokenFinished)
            {
                int nextChar = Console.Read();
                if (nextChar == -1)
                {
                    // End of stream reached
                    tokenFinished = true;
                }
                else
                {
                    char ch = (char)nextChar;
                    if (char.IsWhiteSpace(ch))
                    {
                        // Whitespace reached (' ', '\r', '\n', '\t') -->
                        // skip it if it is a leading whitespace
                        // or stop reading anymore if it is trailing
                        if (!skipWhiteSpaceMode)
                        {
                            tokenFinished = true;
                            if (ch == '\r' && (Environment.NewLine == "\r\n"))
                            {
                                // Reached '\r' in Windows --> skip the next '\n'
                                Console.Read();
                            }
                        }
                    }
                    else
                    {
                        // Character reached --> append it to the output
                        skipWhiteSpaceMode = false;
                        tokenChars.Append(ch);
                    }
                }
            }

            string token = tokenChars.ToString();
            return token;
        }

        /// <summary>
        /// Reads an integer number from the console
        /// skipping any leading and trailing whitespace.
        /// </summary>
        public static int NextInt()
        {
            string token = Cin.NextToken();
            return int.Parse(token);
        }

        /// <summary>
        /// Reads a floating-point number from the console
        /// skipping any leading and trailing whitespace.
        /// </summary>
        /// <param name="acceptAnyDecimalSeparator">
        /// Specifies whether to accept any decimal separator
        /// ("." and ",") or the system's default separator only.
        /// </param>
        public static double NextDouble(bool acceptAnyDecimalSeparator = true)
        {
            string token = Cin.NextToken();
            if (acceptAnyDecimalSeparator)
            {
                token = token.Replace(',', '.');
                double result = double.Parse(token, CultureInfo.InvariantCulture);
                return result;
            }
            else
            {
                double result = double.Parse(token);
                return result;
            }
        }

        /// <summary>
        /// Reads a decimal number from the console
        /// skipping any leading and trailing whitespace.
        /// </summary>
        /// <param name="acceptAnyDecimalSeparator">
        /// Specifies whether to accept any decimal separator
        /// ("." and ",") or the system's default separator only.
        /// </param>
        public static decimal NextDecimal(bool acceptAnyDecimalSeparator = true)
        {
            string token = Cin.NextToken();
            if (acceptAnyDecimalSeparator)
            {
                token = token.Replace(',', '.');
                decimal result = decimal.Parse(token, CultureInfo.InvariantCulture);
                return result;
            }
            else
            {
                decimal result = decimal.Parse(token);
                return result;
            }
        }
    }
}

How Cin.NextDouble() Works?

My class Nakov.IO.Cin allows simplified entering string tokens, integer numbers, floating-point numbers and decimal numbers in C# from the standard input (the console). When reading a sequence of numbers, we can separate them with a single space, multiple spaces, new line separators or any other sequence of whitespace characters: spaces, tabs, new lines (\n, \r\n), etc.

In addition Nakov.IO.Cin solves the culture-specific problem with the decimal point separator which may be “,” in some countries (like Bulgaria) and “.” in other countries (like USA and Canada). The Cin.NextDouble() and Cin.NextDecimal() methods accept a Boolean parameter which specifies whether the numbers should be parsed using the default decimal separator (specified in the regional settings in Windows) or by accepting both separators: “.” and “,”. By default both decimal separators are accepted when entering numbers by Nakov.IO.Cin.NextDouble() and Nakov.IO.Cin.NextDecimal().

Using the Nakov.IO.Cin Class – Example

In the below example I show how to use the class “Nakov.IO.Cin” to enter integer numbers, floating-point numbers, decimal numbers and string tokens:

using System;
using Nakov.IO; // see http://www.nakov.com/tags/cin

public class CinExample
{
    static void Main()
    {
        Console.Write("Enter your name: ");
        string name = Console.ReadLine();

        Console.Write("Enter two integers x and y separated by whitespace: ");
        // cin >> x >> y;
        int x = Cin.NextInt();
        double y = Cin.NextDouble();

        Console.Write("Enter your age: ");
        int age = int.Parse(Console.ReadLine());

        Console.WriteLine("Name: {0}, Age: {1}", name, age);
        Console.WriteLine("x={0}, y={1}", x, y);

        Console.Write("Enter a positive integer number N: ");
        int n = Cin.NextInt();

        Console.Write("Enter N decimal numbers separated by a space: ");
        decimal[] numbers = new decimal[n];
        for (int i = 0; i < n; i++)
        {
            numbers[i] = Cin.NextDecimal();
        }

        Console.Write("The numbers in ascending order: ");
        Array.Sort(numbers);
        for (int i = 0; i < n; i++)
        {
            Console.Write(numbers[i]);
            Console.Write(' ');
        }
        Console.WriteLine();

        Console.WriteLine("Enter two strings seperated by a space: ");
        string firstStr = Cin.NextToken();
        string secondStr = Cin.NextToken();
        Console.WriteLine("First str={0}", firstStr);
        Console.WriteLine("Second str={0}", secondStr);
    }
}

Translating from C++ “cin” to C# Using the C# “cin” Class

Once you have included the class Nakov.IO.Cin to your C# / VB.NET project, you could translate the following C++ program into C#:

Sample C++ code entering a number N and a sequence of N integer numbers, separated by a space (or any other sequence of whitespace characters):

#include <iostream>

using namespace std;

int main()
{
    int n;
    cin >> n;

    int* numbers = new int[n];
    for (int i = 0; i < n; i++)
    {
        cin >> numbers[i];
    }

    for (int i = 0; i < n; i++)
    {
        cout << numbers[i] << ' ';
    }
}

The same code written in C# using the C# “cin” class (Nakov.IO.Cin) is as follows:

using System;
using Nakov.IO; // see http://www.nakov.com/tags/cin

public class EnteringNumbers
{
    static void Main()
    {
        int n;
        n = Cin.NextInt();

        int[] numbers = new int[n];
        for (int i = 0; i < n; i++)
        {
            numbers[i] = Cin.NextInt();
        }

        for (int i = 0; i < n; i++)
        {
            Console.Write(numbers[i] + " ");
        }
    }
}

With both the programs (the C++ and the C# one) you are free to enter all the requested numbers on a single line (e.g. “3   1 –2   3”) or on separate lines (e.g. “\r\n 3 \r\n   1 \t –2 \r\n\r\n  3”)) and they will be parsed correctly, as expected.

Download the Nakov.IO.Cin Class

Download the full source code and examples: Nakov.IO.Cin.zip.

Download the C# class source code only: Cin.cs.

Tags: , , , , , , , , , , , , , , , , , , , , , ,

November 7, 2011

Конкурс за разработка на Windows Phone приложения

Windows 7 App ChallengeКолегите от Майкрософт България съвместно с българските .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: , , , ,

October 13, 2011

Стартират курсовете по мобилни приложения, ASP.NET MVC и Client-Side Web Development

За всички фенове на програмирането и разработката на софтуер имаме прекрасна новина. Стартират дългоочакваните безплатни курсове от новия семестър в Академията на Телерик за софтуерни инженери. Вече имаме конкретни дати за началото на курсовете по разработка на многоплатформени мобилни приложения, уеб разработка с ASP.NET MVC и уеб програмиране от страна на клиента Client-Side Web Development. Забавихме се, тъй като изграждаме нова голяма учебна зала със 120 седящи места, специално за обученията в Академията на Телерик.

Безплатен курс “Разработка на мобилни приложения”

курс “Разработка на мобилни приложения”Курсът „Разработка на мобилни приложения“ започва на 25.10.2011 г. (вторник) и ще се провежда в голяма учебна зала на Академията на Телерик, която се намира на адрес: София, ж.к. Младост-1А, бул. Ал. Малинов 31 (в сватбения мол, на втория етаж).

Курсът се състои от четири основни части, обхващащи платформите Android, iOS / iPhone, Windows Phone 7 и многоплатформена разработка на мобилни приложения.

През първата част „Многоплатформени мобилни приложения”, студентите ще изучават как да разработват съвременни мобилни проложения с технологията Adobe PhoneGap. Обучението обхваща основите на HTML5, JavaScript, jQuery Mobile, технологията PhoneGap, достъп до външни данни и услуги чрез jQuery и AJAX, работа със REST и JSON, управление на хардуера на мобилното устройство, разработка на игри и разработка на практически проект. Обученията се провеждат веднъж седмично (вторник от 18:00 до 21:00 часа) в рамките на 4 месеца.

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

Безплатен курс “Уеб програмиране от страна на клиента”

курс “Уеб програмиране от страна на клиента”Безплатният курс “Уеб програмиране от страна на клиента” започва на 22.10.2011 г. (събота) и ще се провежда в голяма учебна зала на Академията на Телерик, която се намира на адрес: София, ж.к. Младост-1А, бул. Ал. Малинов 31 (в сватбения мол, на втория етаж).

Курсът обхваща най-съвременните концепции, технологии и инструменти за разработка на HTML5 приложения с JavaScript и уеб програмиране от страна на клиента. Ще се изучават програмиране на JavaScript, ООП с JavaScript, jQuery и други JavaScript frameworks, client-side UI библиотеки (KendoUI, YUI, jQuery UI), уеб дизайн за мобилни устройства и разработка на уеб приложения с HTML5, CSS3, JavaScript, jQuery AJAX, REST услуги и JSON. Обучението се провежда веднъж седмично (събота от 10:00 до 14:00) за период от 4 месеца.

Желаещите да участват в курса трябва да изпратят по CV, cover letter на английски език и портфолио (уеб сайтове и проекти, в които са участвали) до academy@telerik.com. Може да участвате присъствено или дистанционно (онлайн) като гледате видеолекциите и предавате домашни и проекти.

Безплатен курс “Уеб приложения с ASP.NET MVC”

курс “Уеб приложения с ASP.NET MVC”Безплатният курс “Уеб приложения с ASP.NET MVC” започва на 26.10.2011 г. (сряда) в голямата учебна зала на Академията на Телерик, която се намира на адрес: София, ж.к. Младост-1А, бул. Ал. Малинов 31 (в сватбения мол, на втория етаж).

Курсът по разработка на уеб приложения с ASP.NET MVC предоставя знания и умения, необходими на всеки желаещ да се занимава сериозно с уеб програмиране с технологиите на Microsoft и .NET платформата. Обучението включва: платформата .NET, ASP.NET MVC, HTML5, CSS3, JavaScript, jQuery, както и основите на C#, SQL и Entity Framework. Курсът се провежда веднъж седмично (сряда от 18:00 до 21:00 часа) в рамките на 4 месеца.

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

Безплатен курс по C# в софтуерната академия на Телерик

Програмата “Софтуерна академия на Телерик” предоставя безплатно, задълбочено обучение по програмиране за C# и .NET на студенти и начинаещи програмисти. Програмата “софтуерна академия” се състои от поредица курсове. Започва се с безплатен курс “Въведение в програмирането със C#”, който се състои от 3 части. След всяка част се провежда изпит и продължават най-добрите участници. Следващите курсове отново са безплатни, но участниците се ангажират ако завършат успешно да кандидатстват за работа в Телерик. Те са в 3 направления: за софтуерни инженери (.NET developer), за QA инженери и за developer support инженери:

Софтуерна академия на Телерик - учебна програма

Желаещите да участват трябва да изпратят CV и Cover Letter на английски език до 23.10.2011. За повече информация за кандидатстването в софтуерната академия и приемните изпити посетете нейния уеб сайт: http://academy.telerik.com/academy/apply. Участието е само в присъствена форма.

Безплатен PHP курс

За всички, които се интересуват от програмиране на PHP и MySQL организираме 9-дневен безплатен PHP курс. По принцип обучението е за ученици, част от училищната академия за софтуерни инженери, но ако има свободни места, могат да участват не само ученици.

Изисквания за всички курсове

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

Tags: , , , , , , , , , , , , , , , , , , ,

September 27, 2011

Безплатни курсове: ASP.NET MVC и Междуплатформени мобилни приложения

През идния сместър в Академията на Телерик за софтуерни инженери и във ФМИ на СУ ще водим два безплатни курса по съвременни софтуерни технологии:

  • Многоплатформени мобилни приложения (създаване на приложения за мобилни телефони и таблети с HTML5, JavaScript и PhoneGap)
  • Уеб приложения с ASP.NET MVC (създаване на модерни уеб приложения с бази данни, HTML5 и ASP.NET MVC)

Курсовете ще се водят паралелно в новата учебна зала на Академията на Телерик в Младост-1 (която скоро ще бъде открита и ще има капацитет 120 седящи места) и паралелно с това във ФМИ на СУ “Св. Климент Охридски”.

Безплатен курс “Многоплатформени мобилни приложения” – програмиране за телефони и таблети

Курсът „Многоплатформени мобилни приложения” въвежда студентите в практическата разработка на съвременни мобилни приложения върху платформата с PhoneGap. Курсът обхваща основите на HTML5, JavaScript и jQuery Mobile. Той започва с основите на езика HTML (структура, основни тагове, нови тагове от HTML5 и др.), стилизиране със CSS3 (основи на Cascading Style Sheets, стилове, декориране, разположение, нови селектори от CSS3 и др.), основи на скриптовия език JavaScript (типове данни, условни конструкции, цикли, класове и обекти), както и платформата с отворен код PhoneGap, с която ще се разработват мобилните приложения и нейните APIs за работа с хардуера на мобилните устройства (камера, GPS, компас, адресна книга, SMS комуникация, мрежова комуникация и т.н.). Обръща се внимание и на внедряването (deployment) на PhoneGap-базирани приложения върху различните мобилни операционни системи. Основният фокус на учебното съдържание е върху уеб технологиите и програмирането за мобилни устройства с HTML5 и JavaScript – започвайки от HTTP, HTML, CSS през основите на JavaScript, до самата разработка на многоплатформени мобилни прило¬жения. Всички теми от курса са богато онагледени с примери и демонстрации на живо, включително с практическа сесия, в която се построява от нулата, стъпка по стъпка цялостно работещо мобилно приложение.

Учебна програма на курса по мобилни приложения

  1. HTML и HTML 5 – синтаксис, елементи, divs, параграфи, картинки, препратки, списъци, таблици, формуляри и контроли
  2. CSS и CSS 3 – селектори, дефиниции на стилове, шрифтове, фонове, контури, подредба, поцициониране, отмествания (margins и paddings), видимост, скролиране и др.
  3. Основи на JavaScript – синтаксис на езика JavaScript, променливи, цикли, символни низове, масиви, събития, достъп до DOM дървото
  4. ООП в JavaScript – обектно-ориентирано програмиране (ООП) в JavaScript, класове, обекти, наследяване и полиморфизъм
  5. jQuery – jQuery селектори и манипулация на DOM дървото, jQuery събития и вериги събития, ефекти, взаимодействия, UI widgets
  6. PhoneGap – платформа с отворен код за разработка на мобилни приложения за различни операционни системи
  7. Eclipse IDE, Android SDK – използване на PhoneGap за създаване на Android приложения с Eclipse IDE и Android SDK
  8. Първо PhoneGap приложение – създаване и изпълнение на просто “Hello World” приложение с PhoneGap из изпълнение върху Android
  9. jQuery Mobile – създаване на модерен потребителски интерфейс за мобилни устройства с JavaScript и библиотеката jQuery Mobile
  10. PhoneGap разработка – по-сложни техники и концепции
  11. Достъп до външни данни – достъп до външни данни и услуги чрез jQuery и AJAX, работа със REST и JSON
  12. Управление на хардуера – работа с хардуера на мобилните устройства (камера, GPS, компас, адресна книга, SMS комуникация, мрежова комуникация и т.н.)
  13. Разработка на игри с HTML5 и PhoneGap – основни концепции, графика, анимация, време, звук, вход от потребителя, логика на играта, фигури, откриване на колизии
  14. Демонстрация – имплементиране на играта “Падащи камъни”
  15. Демонстрация на живо (част 1) – Създаване на блог система
  16. Демонстрация на живо (част 2) – Създаване на блог система
  17. Курсов проект – работа по курсовите проекти на студентите

Официален сайт на Mobile Development курса

За записване на курса посетете неговия официален уеб сайт: http://mobiledevcourse.telerik.com.

Безплатен курс “Уеб приложения с ASP.NET MVC”

Курсът „Уеб приложения с ASP.NET MVC” въвежда студентите в практическата разработка на съвременни уеб приложения върху платформата Microsoft ASP.NET MVC. Курсът обхваща основите на езика C#, платформата .NET Framework, базите данни, HTML5 и разработката на уеб приложения с ASP.NET MVC. Студентите ще се научат как да построяват динамични ASP.NET MVC уеб приложения с бази от данни, базирани на SQL Server и ADO.NET Entity Framework. Курсът започва с основите на езика C# (типове данни, изрази, програмни конструкции, цикли, масиви, методи, символни низове, колекции, изключения и др.), обектно-ориентирано програмиране със C# (класове, интерфейси, констуктори, свойства, методи, събития и др.), релационни бази от данни, езика SQL и Microsoft SQL Server, технологии за достъп до данни (ADO.NET, LINQ и ADO.NET Entity Framework). Основният фокус на учебното съдържание е върху уеб технологиите и уеб програмирането с .NET платформата – започвайки от WWW, HTTP, HTML, CSS, JavaScript, CSS3, HTML5, jQuery, през основите на ASP.NET MVC (модели, изгледи, контролери, routes, типизирани изгледи). Разглеждат се теми като unit testing, test-driven development, сигурност, настройка и мониторинг на ASP.NET MVC приложенията. Всички теми от курса са богато онагледени с примери и демонстрации на живо, включително с практическа сесия, в която се построява от нулата, стъпка по стъпка цялостно работещо ASP.NET MVC уеб приложение с бази от данни и презентационна логика базирана на HTML5.

Обръщаме ви внимание, че традиционният ASP.NET (Web Forms) и ASP.NET MVC са различни технологии. Ако сте карали ASP.NET курса миналата година, има смисъл да карате и MVC курса тази година.

Учебна програма на ASP.NET MVC курса

  1. Въведение в .NET Framework – CLR, MSIL, assemblies, CTS, .NET езиците
  2. Преглед на езика C# (част 1) – типове данни, оператори, изрази, конструкции за управление, вход и изход от конзолата, условни конструкции, цикли, масиви, методи
  3. Преглед на езика C# (част 2) – създаване и използване на обекти, пространства от имена, изключения, символни низове, шаблонни типове, колеции, атрибути
  4. Обектно-ориентирано програмиране със C# – дефиниране на класове, конструктори, свойства, статични членове, структури, делегати, събития, интерфейси, наследяване и полиморфизъм
  5. Бази данни, SQL и SQL Server – релационни СУБД, SQL, SQL SELECT, съединения, агрегатни функции, групиране, SQL INSERT, SQL UPDATE, SQL DELETE, MS SQL Server, SQL Server Management Studio
  6. LINQ и Entity Framework – LINQ оператори и изрази, проекции, конверсии, агрегации, ADO.NET Entity Framework (EF), Visual Studio LINQ-to-Entities Designer, класът ObjectContext – четене / създаване / промяна / изтриване на данни
  7. Увод в уеб технологиите – World Wild Web. HTTP протокол. Модел заявка-отговор
  8. Езикът HTML – текст, картинки, препратки, форматиращи тагове, параграфи, списъци, рамки (frames), таблици, форми и контроли (текстови контроли, пароли, отметки, radio-бутони, падащи списъци, бутони и т.н.)
  9. Основи на CSS – Селектори и дефиниции на стилове, шрифтове, фонове, контури, box-модел, подравняване, позициониране, отмест¬вания (margin, padding)
  10. CSS 3 – нови стилове, селектори и атрибути за контури, фонове, цветове, ефекти, потребителски интерфейс, препълване, генерирано съдържание и др.
  11. Програмиране с JavaScript – DHTML, типове данни, оператори, управляващи конструкции, цикли, масиви, класове и обекти, диалози за вход от потребителя, достъпване на DOM дървото чрез JavaScript, дебъгване на JavaScript приложения.
  12. Библиотеката jQuery – въведение в jQuery, jQuery селектори и манипулация на DOM дървото, jQuery събития, AJAX заявки, jQuery темплейти, jQuery UI, ефекти, interactions, widgets.
  13. HTML 5 – въведение в HTML 5, нови тагове, структурни тагове, UI за форми, валидация на форми, нови атрибути.
  14. Нови JavaScript API-та в HTML5.
  15. ASP.NET MVC – част 1. Преглед на Model-View-Controller патърна. ASP.NET MVC. Създаване на проект на ASP.NET MVC. Конвенции. Routes. Контролери. Модели. Views. View helpers. Typed views
  16. ASP.NET MVC – част 2. Unit testing. Test-driven development. NuGet package management. Deployment. Сигурност на ASP.NET MVC приложенията. Настройка на ASP.NET MVC приложенията
  17. ASP.NET MVC – част 3. MVC Scaffolding. AJAX с ASP.NET MVC. Утвърдени практики при разработката на ASP.NET MVC приложения. Мониторинг на ASP.NET MVC приложенията
  18. Практически проект – демонстрация на живо: построяване на цялостно динамично уеб приложение с HTML5, ASP.NET MVC и MS SQL база данни – от нулата, стъпка по стъпка
  19. Изпит – студентите защитават проектите си

Официален сайт на ASP.NET MVC курса

Още няма уеб сайт, очаквайте го скоро.

Допълнителна информация

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

Светлин Наков
ръководител отдел “технологично обучение”
Академия на Телерик за софтуерни инженери

Tags: , , , , , , , , , ,

September 18, 2011

300 младежи ще се обучават безплатно за софуерни инженери в Академията на Телерик

Become .NET Ninja for FreeЗа трета поредна година Академията на Телерик за софтуерни инженери обявява своята програма за безплатно обучение и работа за .NET софтуерни инженери (.NET software engineers), инженери по качеството (QA and test automation engineers) и инженери по поддръжката за разработчици (developer support). Програмата има за цел да обучи безплатно на практическо програмиране, софтуерно инженерство и софтуерни технологии мотивирани млади хора, които да започнат успешно своята кариера в областта на разработката на софтуер.

Нов сезон на програмата “Telerik Software Academy”

Новият сезон на програмата “Telerik Software Academy” (2011-2012) ще започне в края на октомври 2011 г. с нови 300 участника (10 групи по 30 души, присъствено). Учебните занятия ще се проведат в учебните зали на Телерик в София. Успешно завършилите ще получат възможност за работа в световноизвестната българска фирма Telerik Corp. (работодател #1 на България за 2010 г.) при изключително атракивни условия.

Етапи на безплатното обучение

Безплатното обучение по програмата “Telerik Academy for Software Engineers” се състои от поредица от курсове (4 нива). Концепцията на тази уникална програма за безплатно обучение и старт в кариерата е “най-старателните успяват”. В края на всяко ниво от обучението участниците държат практически изпит по програмиране върху изучавания материал и в следващата част продължават само част от участниците – постигналите най-добри резултати. Всеки участник преминал успешно първите 3 нива от обучението избира между 3 специалности за последното ниво:

  • .NET Software Engineer
  • QA and Test Automation Engineer
  • Developer Support

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

Първо ниво: курс C# Fundamentals – част I

Първото ниво на Академията започва с 300 души в курса “C# Programming Fundamentals – част I). Този курс е за абсолютно начинаещи и обхваща най-базовите основи на компютърното програмиране, които се изучават в средните училища: езикът C#, променливи, данни, оператори, конструкции за управление, условни конструкции и цикли. Към курса е разработена безплатна книга-учебник “Въведение в програмирането със C#”, безплатни уроци по програмиране, видеоуроци, задачи и решения към тях.

В края на курса участниците полагат практически изпит върху изучавания материал и най-добре представилите се 150 продължават в следващото ниво. Първото ниво ще започне през октомври 2011 г. и ще продължи около месец и ще се провежда 2 пъти седмично по 4 часа.

Можете да разгледате учебната програма лекциите и да гледате видеозаписи от курса C# Fundamentals от неговия уеб сайт: http://csharpfundamentals.telerik.com.

Второ ниво: курс C# Fundamentals – част II

Второто ниво на програмата “Академия за софтуерни инженери” продължава с малко по-сложни концепции от основите на компютърното програмиране: масиви, бройни системи, методи, рекурсия, използване на обекти, управление на изключенията, обработка на текст и символни низове, дефиниране на класове и работа с текстови файлове. Обучението продължават около 1 месец, два пъти седмично по 4 часа.

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

Трето ниво: курс C# Fundamentals – част III

Третото ниво на програмата за безплатно обучение и работа за софтуерни инженери обхваща значително по-сложни концепции от програмирането като фундаментални структури от данни (списъци, опашка, стек, дървета, хеш-таблици и графи), алгоритми и сложност, качествен програмен код и изграждане на алгоритмично мислене и умения за ефективно решаване на задачи по програмиране. Обучението продължава 1 месец, по 2 пъти седмично по 4 часа (както предните две нива).

В края на третото ниво на програмата “Академия на Телерик за софтуерни инженери” участниците, които имат желание да продължат безплатното си обучение и да започнат след завършване работа в Телерик, кандидатстват за една от трите специалности в академията (.NET developer, QA engineer, developer support engineer). Обучението продължава в три паралелни групи по направления, а класирането се извършва по успех.

Очаква се по трите специалности на Академията да бъдат приети за обучение в четвъртото (последно ниво) съответно:

  • .NET Software Engineer – 20-30 участници
  • QA and Test Automation Engineer – 20-25 участници
  • Developer Support – 10-20 участници

В първите 3 нива обученията са без обвързване, без договори – свободни и безплатни. Приетите за обучение в последното ниво на Академията сключват договор за работа в Телерик след завършването си. Договорът ги задължават да посещават съвестно учебните занятия, да положат всички изпити и да се отнасят старателно към учебния процес, а след завършване, ако бъдат одобрени, да работят в Телерик поне 2 години при изключително добри условия и отлично заплащане (спомнете си, че Телерик е в челото на класацията на най-добрите работодатели в България вече няколко години подред).

Четвърто ниво: .NET / QA / Dev. Support

Последното ниво на обученията в Академията за софтуерни инженери е най-сериозно, задълбочено и продължително. В засисимост от специалността безплатното обучение продължава още от 2 до 5 месеца, но вече целодневно. Обхватът на специализираните обучения е много голям, тъй като дава професия “софтуерен инженер” и работа в престижна световна софтуерна фирма. В Телерик работят изключителни професионалисти и изискванията за постъпване в компанията са много високи. За пълно овладяване на съвременните софтуерни технологии е необходима продължителна практика и създаване на трудови навици и в Академията на Телерик ще ги усвоите и натрупате (ако достигнете до последното ниво).

Курс .NET Essentials

Курсът .NET Development Essentials подготвя професионалисти за работа като софтуерни инженери с .NET платформата. Курсът продължава около 5 месеца, целодневно и обхваща всички по-важни софтуерни технологии, които един .NET програмист трябва да владее, за да е добър в професията си: от основните APIs на .NET Framework, unit testing, бази данни, SQL, SQL Server, ADO.NET, LINQ, ORM технологии, Entity Framework, Web front-end технологии, HTML, CSS, JavaScript, HTML5, ASP.NET, ASP.NET MVC, Windows Presentation Foundation (WPF), Silverlight, уеб услуги, WCF, софтуерни инженерство, работа в екип, сорс контрол хранилища, SCRUM и много други.

Курс QA and Test Automation

Курсът Software Quality Assurance and Test Automation подготвя инженери по управление и осигуряване на качеството. В него се получават задълбочени практически умения за осигуряването на качеството на софтуера и автоматизирано тестване. Основната му цел е да запознае курсистите с най-важното от QA инженерството, като се фокусира върху примери от практиката. Курсът покрива разнообразие от теми като: тестване на жизнения цикъл на приложенията, автоматизирано тестване, white-box и black-box техники за тестване, уеб и десктоп тестване, управление на тестове и редица инструменти за тестване, които улесняват работния процес чрез автоматизация на тестването.

Курс Developer Support

Обучението по направление за инженери по поддръжка на разработчиците, използващи продуктите на Телерик се провежда в курса “.NET Development Support”. Той обхваща както технологични компетенции, застъпени широко в курса “.NET Essentials”, така и методологически компетенции и умения за работа с клиенти, soft skills, умения за писане, умения за разрешаване на инциденти, за описание на инциденти и решения, изготвяне на документация и други.

Инструктори

Програмата “Софтуерна академия на Телерик” се ръководи лично от д-р Светлин Наков, който преподава на всички участници в курсовете. Телерик разполага с две учебни зали в София (Младост 1) съответно с капацитет 70 и 120 места. Преподавателският екип включва опитни специалисти от Телерик, бивши шампиони от националните олимпиади по програмиране и информационни технологии, с отлична подготовка и лекторски умения.

Кандидатстване за академията на Телерик

За да кандидатствате за безплатнитe обучения по програмата “Telerik Software Academy” е необходимо да изпратите актуално CV на английски език и мотивационно писмо до academy@telerik.com не-по късно от 16 октомври 2011 г.

Изисквания към кандидатите

Изисквания за участие в безплатните обучения по програма “Telerik Software Academy”

  • Силна мотивация за професионално развитие като софтуерен инженер
  • Стремеж за развитие в дългосрочен план и отдаденост на професията и работата
  • Технически английски език и отлично владеене на български език
  • Компютърна грамотност
  • Възможност и желание за работа на пълен работен ден след завършване (8 часа на ден)

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

Приемни изпити

Приемният изпит е под формата на 3 теста:

  • Английски език – тест

  • Тест за интелигентност (IQ тест)

  • Компютърна грамотност – тест

За повече информация около изпита, кандидатстването и приемните изпити посетете официалния сайт на Академията: http://www.telerik.com/academy/join.aspx.

Ако имате въпроси, пишете на academy@telerik.com – отговаряме в рамките на 1 работен ден.

Още от академията на Телерик

Ако езикът C# не ви допада или все още нямате желание или възможност да участвате в програмата “Софтуерна академия на Телерик” (все пак тя отнема от 5 до 10 месеца), ви предлагаме няколко безплатни курса по горещи съвременни софтуерни технологии, които можете да посещавате на живо или да запишете онлайн като дистанционно обучение:

Всички курсове в Академията на Телерик са безплатни! Към тях сме публикували за безплатно изтегляне лекции, уроци, учебни материали, видеолекции (видеоуроци), задачи и примерни проекти.

В курсовете могат да участват всички: ученици, студенти, работещи, безработни, учители, преподаватели и всички други с интереси към съвременните технологии за разработка на софтуер. Станете програмист / софтуерен инженер / софтуерен разработчик безплатно!

Завършилите с отличие безплатните обучения на Светлин Наков и Телерик получават сертификати и препоръка за започване на работа в индустрията.

Успехи на всички!

Tags: , , , , , , , , , , , , , , , , , , , ,

September 8, 2011

Представяне на решенията на проектите от курса по Web Front-End Development

За всички приятели на безплатния курс “Web Front-End Development” в Академията за софтуерни инженери на Телерик имаме нова инициатива. На 14 септември 2011 г. (сряда) от 19:00 часа, в учебната зала на Академията (София, бул. Александър Малинов 33, партер) ще бъде направено официално представяне на решенията на практическите курсови проекти от курса Web Front-End Development. Проектите представляват уеб сайтове, нарисувани във вид на Photoshop документи, които трябваше да се нарежат и реализират с HTML и CSS, като част от изпита за завършване на курса.

На семинара преподаватели от Web Front-End курса на Телерик ще представят и обяснят официалните решения за всеки един от петте курсови проекта:

  1. e-Travel
  2. Nature Green
  3. New Company
  4. IT News
  5. Water

Ще бъдат дискутирани препоръчвани практики и похвати при реализацията на проектите, както и критериите за оценяване и как да бъдат удовлетворени. Ще бъде обяснено за всеки проект как да се постигнат коректно работеща функционалност, устойчивост на промени, валидност на HTML и CSS, семантичен HTML, коректно форматиране и именуване, съвместимост с различни уеб браузъри, оптимизация на картинките, използване на HTML 5 тагове, SEO тагове и техники  и други детайли. Ще бъдат обяснени още и най-честите грешки и как да се избегнат.

Проектите, представени от преподавателския състав, както и видеозаписи от тази допълнителна лекция към front-end курса, ще бъдат качени на сайта на курса: http://frontendcourse.telerik.com.

Очакваме всички front-end фенове в сряда в 19:00 часа в Академията на Телерик!

Tags: , ,

September 3, 2011

Остават броени дни до края на ранната регистрация за DevReach 2011

Предстои шестото издание на международната конференция за Microsoft разработчици DevReach, която е най-голямата и най-сериозната на балканите. Конференцията DevReach 2011 ще се проведе на 17 и 18 октомври 2011 г. в кино „Арена Младост” в София.

20% отстъпка – до 15 септември

До 15 септември всички желаещи да посетят DevReach имат възможност да се възползват от 20% отстъпка от таксата за участие. Актуална информация за конференцията може да се получи от нейния уеб сайт: http://www.devreach.com.

Лектори и сесии

На 17 октомври събитието ще бъде открито от Скот Ханселман и Джеси Либърти.

Скот Ханселман е Principal Program Manager в Майкрософт, популярен лектор и автор на повече от 15 книги в областта на софтуерната разработка с технологии на Майкрософт. Блогът му има над 75 хиляди rss последователи, а в седмичния си подкаст дискутира теми, свързани с ASP.NET и Windows и предлага конкретни практически съвети.

Джеси Либърти е Senior Community Program Manager в Майкрософт и водещ на популярната рубрика Yet Another Podcast. Автор е на над 20 книги за .NET технологии и обектно-ориентирано програмиране.

Сред поканените лектори са популярни експерти в Майкрософт технологиите като Тод Англин, Ричард Кембъл, Томислав Бронзин, Тибериу Ковачи, Стивън Форте, Сахил Малик, Емил Стойчев, Ед Мъстърс, Лино Тадрос, Дарон Йондем, Мартин Кулов и др.

Основните сесии са посветени на разработка на мобилни приложения, Silverlight 5, C#, LINQ, създаване на приложения с HTML 5 и JavaScript (новата перспектива с Windows 8), Behavior Driven Development с Visual Studio 2010 и SpecFlow, SharePoint 2010, визуализация на данни с бизнес приложения и др. Не на последно място, конференцията ще даде възможност на разработчиците да получат актуална информация и експертен поглед върху бъдещото развитие на технологиите, особено след очакваните новости в Windows 8, които ще бъдат представени от Майкрософт в средата на септември на конференцията BUILD в Анахайм, Калифорния.

Поглед към миналото издание

През 2010 г. юбилейното пето издание на DevReach привлече повече от 550 участници от 12 държави и събра на едно място 30 от най-добрите .NET специалисти в света. Сред тях бяха Бет Маси, старши продуктов мениджър в отдел Visual Studio в Microsoft, регионалните директори на Microsoft Стивън Форте и Андрю Бръст, Лино Тадрос и Мигел Кастро – Microsoft MVPs (Microsoft Most Valued Professionals), както и много други.

За конференцията DevReach

DevReach е съвместна инициатива на Телерик и Мартин Кулов от Kulov.net. Събитието се организира с подкрепата на Майкрософт България и Международната . NET асоциация INETA. Технически партньор на конференцията е Стоун компютърс.

Tags: ,

« Newer Posts Older Posts »