Заключение

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

Решихте ли всички задачи?

Ако освен, че сте прочели внимателно цялата книга, сте решили и всички задачи от упражненията към всяка от главите, вие можете гордо да се наречете програмист. Всяка технология, с която ще се захванете от сега нататък, ще ви се стори лесна като детска игра. След като сте усвоили основите и фундаменталните принципи на програмирането, със завидна лекота ще се научите да ползвате бази данни и SQL, да разработвате уеб приложе­ния и сървърен софтуер (например с ASP.NET и WCF), да пишете HTML5 приложения, да програмиране за мобилни устройства и каквото още поискате. Вие имате огромно предимство пред мнозин­ството от прак­тикуващите програмиране, които не знаят какво е хеш-таблица, как работи търсенето в дървовидна структура и какво е сложност на алгоритъм. Ако наистина сте се блъскали да решите всички задачи от цялата книга, със сигурност сте постигнали едно завидно ниво на фунда­ментално разбиране на концепциите на програмирането и правилното мислене на програмист, което ще ви помага години наред.

Имате ли трудности със задачите?

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

Ако имате затруднения, използвайте дискусионната група за курсовете по основи на програмирането, които се водят по настоящата книга в СофтУни: https://softuni.bg/forum. Пред тези курсове са преминали няколко стотици души и голяма част от тях са решили всички задачи и са споделили решенията си, така че ги разгледайте и пробвайте, след което се опитайте да си напишете сами задачите без да гледате от тях.

На сайта на книгата са публикувани лекции и видеообучения по настоящата книга, които могат да са много полезни, особено, ако сега навлизате за първи път в програмирането. Струва си да ги прегледате. Прегледайте също и безплатните курсове по програмиране в СофтУни (https://softuni.bg). Тези курсове са отлична следваща стъпка във вашето развитие като софтуерни инженери и професионалисти от областта на разработката на софтуер.

На къде да продължим след книгата?

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

1. Изберете език и платформа за програмиране, например C# + .NET Framework или Java + Java EE или Ruby + Ruby on Rails или PHP + CakePHP. Няма проблем, ако решите да не продължите с езика C#. Фокусирайте се върху технологиите, които платформата ви предо­ставя, а езикът ще научите бързо. Например ако изберете Objective C и iPhone / iPad / iOS програмиране, придобитото от тази книга алгоритмичното мислене ще ви помогне бързо да навлезете.

2. Прочетете някоя книга за релационни бази данни и се научете да моделирате данните на вашето приложение с таблици и връзки между тях. Научете се как да построявате заявки за извличане и промяна на данните чрез езика SQL. Научете се да работите с някой сървър за бази данни, примерно Oracle, SQL Server или MySQL. Следващата естествена стъпка е да усвоите някоя ORM технология, например Entity Framework, Hibernate или JPA.

3. Научете някоя технология за изграждане на динамични уеб сайтове. Започнете с някоя книга за HTML, CSS, JavaScript и jQuery или с безплатния курс по Web Front-End Development в Академията на Телерик (https://softuni.bg). След това раз­гледайте какви средства за създаване на уеб приложения предо­ставя вашата любима платформа, примерно ASP.NET / ASP.NET MVC при .NET платформата и езика C# или Servlets / JSP / JSF при Java плат­формата или CakePHP / Symfony / Zend Framework при PHP платфор­мата или Ruby on Rails при Ruby или Django при Python. Научете се да правите прости уеб сайтове с динамично съдържание. Опитайте да създадете уеб приложение за мобилни устройства.

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

5. Започнете работа в софтуерна фирма! Това е много важно. Ако наистина сте решили всички задачи от тази книга, лесно ще ви предложат работа. Работейки по реални проекти ще научите страхотно много нови технологии от колегите си и ще се убедите, че макар и да знаете много за програмирането, сте едва в началото на развитието си като софтуерен инженер. Само при реална работа по истински проекти в софтуерна фирма съвместно с колеги ще се сблъскате с проблемите при работа в екип и с практиките и инстру­ментите за ефективно преодоляване на тези проблеми. Ще трябва да поработите поне няколко години, докато се утвърдите като специа­лист по разработка на софтуер. Тогава, може би, ще си спом­ните за тази книга и ще осъзнаете, че не сте сбъркали започвайки от структурите от данни и алгоритмите вместо директно от уеб техно­логиите или базите данни.

Цялостна обучителна програма за софтуерни инженери в СофтУни

Можете да си спестите много труд и лутане, ако решите да преминете през всички описани по-горе стъпки от развитието си като софтуерен инженер в СофтУни под ръковод­ството на Светлин Наков и инструктори с реален опит в софтуерната индустрия. СофтУни е най-лесният начин да поставите основите на изгражда­нето си като софтуерен инженер, но не е единственият начин. Всичко зависи от вас!

Курсове по програмиране и софтуерни технологии

Към юли 2011 г. можете да се включите в следните безплатни курсове като продължение на обучението ви за софтуерни инженери след тази книга:

Fundamentals of C# Programming

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

Успешно завършилите могат да участват в следващите нива от безплат­ните курсове в Академията и да бъдат обучавани за .NET разра­ботчици, QA инженери или специалисти за работа с клиенти.

Курсът се провежда по веднъж всяка година и нови групи започват през есента (септември-октомври).

Официален уеб сайт на курса: https://softuni.bg.

.NET Development Essentials

Курсът представлява много задълбочено обучение по разработка на софтуер за платформа .NET Framework с езика C#. Той продъл­жава 5 ме­сеца целодневно и обхваща всички по-важни технологии, които един .NET софтуерен инженер трябва да владее, за да бъде добър професионалист: .NET Framework, бази данни, SQL, SQL Server, ORM технологии, ADO.NET Entity Framework, уеб услуги и WCF, уеб front-end технологии, HTML5, JavaScript, jQuery, ASP.NET, ASP.NET MVC, XAML, WPF, Silverlight, RIA приложения, софтуерно инженерство, design patterns, unit testing, работа в екип и Scrum.

В края на курса завършващите получават професията ".NET софту­ерен инженер" и имат възможност да започнат работа по специал­ността. Учебните материали от курса не са публични.

Курсът се провежда безплатно веднъж годишно и започва през пролетта. В него могат да участват само завършилите с отличие курса "Fundamentals of C# Programming".

Официален уеб сайт на курса: https://softuni.bg.

Software Quality Assurance and Test Automation (QA Academy)

Курсът представлява много сериозно и задълбочено обучение по осигуряване на качеството на софтуера и включва както теоре­тични фундаментални познания за тестването на софтуера, така и практически знания и умения за използване на инструменти за автоматизация на тестването. Курсът обхваща основи на софтуер­ното тестване, black-box и white-box техники за дизайн на тестове, техники и инструменти за автоматизация на тестовете, тестване на уеб приложения, desktop приложения, уеб услуги и RIA прило­жения, тестване за натоварване и управление на QA процесите.

Успешно завършилите с добри резултати имат възможност да започнат работа в софтуерната индустрия като Software Quality Assurance (QA) инженери. Учебните материали от курса не са публични.

Курсът се провежда безплатно веднъж годишно и започва пролетно време. В него могат да участват само завършилите "Fundamentals of C# Programming". Официален уеб сайт: https://softuni.bg.

Софтуерна академия за ученици (School Academy)

Академията по софтуерно инженерство за ученици е програма за обучение на ученици от средните училища по разра­ботка на софтуер и софтуерни технологии, която им помага да се подготвят за Националната Олимпиада по Информационни Техно­логии (НОИТ). Обученията се органи­зират веднъж месечно за 3 дни целодневно. Те са безплатни, но разходите на учени­ците се поемат от самите тях или от тяхното училище. При наличие на свободни места могат да участват и хора, които не са ученици.

Учебната програма на Академията по софтуерно инженерство за ученици обхваща голямо разнообразие от езици и технологии: езикът за програ­миране C#, средата .NET Framework, бази данни и SQL Server, ORM техно­логии, разработване на front-end приложе­ния с HTML5, JavaScript и jQuery, разработване на уеб приложения с ASP.NET и AJAX, HTML5, разра­ботване на игри, разработване на мобилни приложе­ния, разработване на десктоп приложения с Windows Presentation Foundation (WPF), разработ­ване на RIA приложения със Silverlight. Специално внимание се обръща на подготовката за официалния технически тест на Националната Олимпиада по Информационни Технологии (НОИТ).

Всички учебни материали от проведените обу­чения са публикувани за свободно изтегляне, а учебните занятия могат да се гледат свободно и като видеозаписи в сайта на академията.

Академията по софтуерно инженерство за ученици се провежда безплатно веднъж на две години (тъй като е доста продължи­телна). Тя започва есенно време с началото на учебната година в учили­щата. Официален уеб сайт: https://softuni.bg.

Разработка на уеб Front-End приложения

Курсът дава задълбочени познания и умения за разработка на уеб сайтове и уеб front-end приложения с HTML, CSS, Photoshop, JavaScript, jQuery, работа с CMS системи, HTML 5 и CSS 3. Курсът се препоръчва на всички млади софтуерни инженери, които смятат да се занимават сериозно с уеб техно­логии. Той се провежда в две части. Първата е насочена към изработката на уеб сайтове (рязане на PSD до XHTML + CSS + картинки), а втората – към разработка на динамични HTML5 front-end приложения с JavaScript, jQuery, AJAX, RESTful Web services и JSON.

Завършилите с отличие получават професията „web front-end developer“ и предложения за работа в ИТ индустрията.

Всички учебни материали от проведените обу­чения са публикувани за свободно изтегляне, а учебните занятия могат да се гледат свободно и като видеозаписи от сайта на курса.

Курсът се провежда безплатно веднъж годишно и започва пролетно време. Официален уеб сайт: https://softuni.bg.

Разработка на мобилни приложения

Курсът обхваща съвременните технологии за разработка приложения за мобилни устройства. В него се изучават задълбочено технологии за между­платформена разработка като PhoneGap и разработка за водещи мобилни платформи като Android, iPhone и Windows Phone.

Всички учебни материали от проведените обу­чения (лекции, упражнения, демонстрации, видеозаписи) се публикуват на сайта на курса.

Курсът се провежда безплатно веднъж годишно и започва есенно време. Официален уеб сайт: https://softuni.bg.

Качествен програмен код

Курсът обхваща принципите за изграждане на висококачествен програмен код в процеса на разработка на софтуер. Качеството на кода се разглежда в неговите най-съществени характеристики – коректност, леснота за четене и леснота за поддръжка. Дават се насоки, препоръки и утвърдени практики за конструиране на класове, методи, работа с цикли, работа с данни, форматиране на кода, защитно програмиране и много други. Въвеждат се принципите на компонентно тестване (unit testing) и прера­ботка на кода (refactoring). Наред с теоретичните познания всички участ­ници в курса защитават проект, с който усвояват на практика принципите на качествения код, unit тестването и преработката на лош код.

Всички учебни материали от проведените обу­чения (лекции, упражнения, демонстрации, видеозаписи) се публикуват на сайта на курса.

Курсът се провежда безплатно веднъж годишно и започва пролетно време. Официален уеб сайт: https://softuni.bg.

Разработка на уеб приложения с ASP.NET

Курсът въвежда студентите в практическата разработка на съвременни уеб приложения върху платформата Microsoft .NET. Той обхваща основите на езика C#, платформата .NET Framework, базите данни и разработката на уеб приложения с технологиите ASP.NET и AJAX. Студентите научават как да построяват динамични уеб приложения с бази от данни, базирани на ASP.NET, SQL Server и ADO.NET Entity Framework. Основният фокус на учебното съдържание е върху уеб технологиите и уеб програмирането с .NET платформата – започвайки от HTTP, HTML, CSS, JavaScript, през основите на ASP.NET, ASP.NET Web Forms, до по-сложни концепции в ASP.NET (управление на сесия, шаблонни страници, контроли за визуали­зация на данни, AJAX). Засягат се и теми като мултимедийни приложения (RIA), Silverlight и ASP.NET MVC.

Всички учебни материали от проведените обу­чения (лекции, упражнения, демонстрации, видеозаписи) се публикуват на сайта на курса.

Курсът се провежда безплатно веднъж годишно и започва есенно време. Официален уеб сайт: https://softuni.bg.

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

От името на целия авторски колектив ви пожелаваме неспирни успехи в професията и в живота!

 

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

Ръководител направление "Технологично обучение", Телерик АД,

Ръководител на академия на Телерик за софтуерни инженери
Съосновател и ръководител обучения в СофтУни –
https://softuni.bg

5.07.2011 г.


Тагове: , , , , , ,

5 отговора до “Заключение”

  1. Васил Шумаров says:

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

    • Авторите са софтуерни инженери и пиша софтуер. От това живеят. Писали са книгата доброволно, за да помогнат на колегите си да се научат да програмират.

  2. Никола Спасов says:

    Аз искам да благодаря за книгата и за видео консултациите. От месец започнах да се интересувам от програмиране. И благодарение на труда на всички участвали в този проект започвам да разбирам неща, които съм гледал преди това като индианец :}
    БЛАГОДАРЯ!!! 🙂

  3. Shanna says:

    Clear, infaomrtive, simple. Could I send you some e-hugs?

  4. Георги says:

    Много полезна книга,много ми помогна за навлизане в разбирането и писането на програми. Видео лекциите бяха интересни и забавни,също така. Голямо БЛАГОДАРЯ за труда на лекторите и авторите на книгата.

Отговори на Svetlin Nakov

Трябва да сте влезнали, за да коментирате.