Заключение
Ако сте стигнали до заключението и сте прочели внимателно цялата книга, приемете нашите заслужени поздравления! Убедени сме, че сте научили ценни знания за принципите на програмирането, които ще ви останат за цял живот. Дори да минат години, дори технологиите да се променят и компютрите да не бъдат това, което са в момента, фундаменталните знания за структурите от данни в програмирането и алгоритмичното мислене, както и натрупаният опит при решаването на задачи по програмиране винаги ще ви помагат, ако работите в областта на информационните технологии.
Решихте ли всички задачи?
Ако освен, че сте прочели внимателно цялата книга, сте решили и всички задачи от упражненията към всяка от главите, вие можете гордо да се наречете програмист. Всяка технология, с която ще се захванете от сега нататък, ще ви се стори лесна като детска игра. След като сте усвоили основите и фундаменталните принципи на програмирането, със завидна лекота ще се научите да ползвате бази данни и 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 отговора до “Заключение”
Коментирай
Трябва да сте влезнали, за да коментирате.
Не мога да повярвам, че една толкова полезна книга може да се предостави безплатно за всеобщо ползване! А авторите й от какво ще живеят?
Малко гузно изразявам благодарност за чудесния подарък.
Авторите са софтуерни инженери и пиша софтуер. От това живеят. Писали са книгата доброволно, за да помогнат на колегите си да се научат да програмират.
Аз искам да благодаря за книгата и за видео консултациите. От месец започнах да се интересувам от програмиране. И благодарение на труда на всички участвали в този проект започвам да разбирам неща, които съм гледал преди това като индианец :}
БЛАГОДАРЯ!!! 🙂
Clear, infaomrtive, simple. Could I send you some e-hugs?
Много полезна книга,много ми помогна за навлизане в разбирането и писането на програми. Видео лекциите бяха интересни и забавни,също така. Голямо БЛАГОДАРЯ за труда на лекторите и авторите на книгата.