Първи стъпки в програмирането:
всичко, което трябва да знаеш
Как се става програмист?
Д-р Светлин Наков
Съосновател, ръководител иновации
Софтуерен университет & СофтУни
https://nakov.com
Софтуерен университет – http://softuni.bg
Уменията на програмиста
 4 основни групи умения:
 Писане на код (coding skills) – 20%
 Алгоритмично мислене – 30%
 Фундаментални знания за професията – 25%
 Езици за програмиране и софтуерни
технологии – 25%
Уменията на програмиста
3
 Умението да пишеш код
 Работа с променливи, проверки, цикли
 Ползване на функции / методи / обекти
 Работа с данни: масиви, списъци,
речници и други структури
 Курсове в СофтУни:
 Programming Basics, Technology Fundamentals
 Езикът за програмиране няма значение!
Умение #1 – да кодиш (20%)
4
 Алгоритмичното (инженерно, математическо) мислене
 Способност да анализираш задачи и да измисляш решения
 Разбиване на проблема на стъпки (алгоритъм)
 Как да изградим алгоритмично мислене?
 Решаваме 1000+ задачи по програмиране
 Отнема половин-една година
 Курсове в СофтУни: Programming Basics,
Technology Fundamentals, Data Structures, Algorithms
 Езикът за програмиране няма значение!
Умение #2 – алгоритмично мислене (30%)
5
 Фундаментални концепции за софтуерния инженер
 Обектно-ориентирано програмиране (ООП)
 Функционално програмиране (ФП)
 Асинхронно програмиране и паралелност
 Бази данни, SQL, документни бази (напр. MySQL, MongoDB)
 Интернет технологии (HTTP, JS front-end, DOM, AJAX, REST, …)
 Софтуерно инженерство (сорс контрол, процеси, архитектури)
 Курсове в СофтУни: професионалните модули
 Езикът за програмиране няма значение!
Умение #3 – Фундаментални знания
и умения за професията (25%)
6
 Езикът за програмиране и технологиите
 Формират само 25% от уменията на програмиста!
 Езиците за програмиране и технологиите винаги са в
комбинация (technology stack)!
 Примерен минимум за Junior .NET Developer:
 C# + .NET Core + Visual Studio + бази данни + SQL Server + SQL +
Entity Framework + ASP.NET MVC + HTML + CSS + JavaScript + AJAX
+ REST + XML + ООП + ФП + алгоритмично мислене + Git +
софтуерно инженерство + английски език + личностни качества
 Курсове в СофтУни: професионалните модули
Умение #4 – Езици за програмиране и
софтуерни технологии (25%)
7
Езици за програмиране и
софтуерни технологии
 C# / .NET
 C#, .NET Core, ASP.NET MVC, Entity Framework, SQL Server
 HTML, CSS, JS front-end; ООП, ФП, софтуерно инженерство
 Java
 Java EE, Spring Framework, Spring MVC, Hibernate, MySQL
 HTML, CSS, JS front-end; ООП, ФП, софтуерно инженерство
 Python
 Python, Django, MySQL, Flask, HTML, CSS, JS front-end
 HTML, CSS, JS front-end; ООП, ФП, софтуерно инженерство
Езици и платформи за програмиране
9
 JavaScript
 JS, JS front-end, Node.js, Express, MongoDb; ФП, ООП
 HTML, CSS, front-end, React, Angular, Vue; софт. инженерство
 PHP
 PHP, MySQL, PHP frameworks, Laravel, Symfony
 HTML, CSS, JS front-end; ООП, ФП, софтуерно инженерство
 Други
 C++, Swift, Go, Ruby, …
Езици и платформи за програмиране
10Вж. https://nakov.com/blog/2017/04/03/choosing-a-programming-language-for-start
Пътят към програмирането
през системата на СофтУни
Учебната методика на СофтУни
12
https://softuni.bg/curriculum
Как да стана програмист?
Вж. https://softuni.bg/university/developersguide
 Опитай дали програмирането е за теб!
 Запиши се за безплатния курс за начинаещи в СофтУни:
https://softuni.bg/apply
 Или си намери някой tutorial в Интернет
 Запалваш ли се?
 Харесва ли ти?
 Отдава ли ти се?
 Искаш ли да програмираш по цял ден години наред?
Как да стана програмист?
14
 Програмист се става с много здраво учене!
 2 години, по 4 часа на ден (средно)
 Или 1 година (по 8-10 часа на ден)
 https://softuni.bg/devtimetable
 Писане на много проекти, много практика
 Колкото повече, толкова по-добре
Учи здраво, много здраво!
15
 Писане на код (coding skills) – 20%
 Алгоритмично мислене – 30%
 Фундаментални знания за професията – 25%
 Езици за програмиране и софтуерни
технологии – 25%
Натрупай 4-те вида основни умения
16
 Натрупай портфолио от проекти в GitHub!
 Пример: https://github.com/YanaSlavcheva/SoftUni-Work
 Покажи на работодателите своите умения
 Как доказваш умения? С GitHub профил!
 Използвай кариерния център на СофтУни!
Започване на работа
17
Запиши се в СофтУни!
18
https://softuni.bg/apply
https://softuni.bg
Как се става програмист?

Как се става програмист?

  • 1.
    Първи стъпки впрограмирането: всичко, което трябва да знаеш Как се става програмист? Д-р Светлин Наков Съосновател, ръководител иновации Софтуерен университет & СофтУни https://nakov.com Софтуерен университет – http://softuni.bg
  • 2.
  • 3.
     4 основнигрупи умения:  Писане на код (coding skills) – 20%  Алгоритмично мислене – 30%  Фундаментални знания за професията – 25%  Езици за програмиране и софтуерни технологии – 25% Уменията на програмиста 3
  • 4.
     Умението дапишеш код  Работа с променливи, проверки, цикли  Ползване на функции / методи / обекти  Работа с данни: масиви, списъци, речници и други структури  Курсове в СофтУни:  Programming Basics, Technology Fundamentals  Езикът за програмиране няма значение! Умение #1 – да кодиш (20%) 4
  • 5.
     Алгоритмичното (инженерно,математическо) мислене  Способност да анализираш задачи и да измисляш решения  Разбиване на проблема на стъпки (алгоритъм)  Как да изградим алгоритмично мислене?  Решаваме 1000+ задачи по програмиране  Отнема половин-една година  Курсове в СофтУни: Programming Basics, Technology Fundamentals, Data Structures, Algorithms  Езикът за програмиране няма значение! Умение #2 – алгоритмично мислене (30%) 5
  • 6.
     Фундаментални концепцииза софтуерния инженер  Обектно-ориентирано програмиране (ООП)  Функционално програмиране (ФП)  Асинхронно програмиране и паралелност  Бази данни, SQL, документни бази (напр. MySQL, MongoDB)  Интернет технологии (HTTP, JS front-end, DOM, AJAX, REST, …)  Софтуерно инженерство (сорс контрол, процеси, архитектури)  Курсове в СофтУни: професионалните модули  Езикът за програмиране няма значение! Умение #3 – Фундаментални знания и умения за професията (25%) 6
  • 7.
     Езикът запрограмиране и технологиите  Формират само 25% от уменията на програмиста!  Езиците за програмиране и технологиите винаги са в комбинация (technology stack)!  Примерен минимум за Junior .NET Developer:  C# + .NET Core + Visual Studio + бази данни + SQL Server + SQL + Entity Framework + ASP.NET MVC + HTML + CSS + JavaScript + AJAX + REST + XML + ООП + ФП + алгоритмично мислене + Git + софтуерно инженерство + английски език + личностни качества  Курсове в СофтУни: професионалните модули Умение #4 – Езици за програмиране и софтуерни технологии (25%) 7
  • 8.
    Езици за програмиранеи софтуерни технологии
  • 9.
     C# /.NET  C#, .NET Core, ASP.NET MVC, Entity Framework, SQL Server  HTML, CSS, JS front-end; ООП, ФП, софтуерно инженерство  Java  Java EE, Spring Framework, Spring MVC, Hibernate, MySQL  HTML, CSS, JS front-end; ООП, ФП, софтуерно инженерство  Python  Python, Django, MySQL, Flask, HTML, CSS, JS front-end  HTML, CSS, JS front-end; ООП, ФП, софтуерно инженерство Езици и платформи за програмиране 9
  • 10.
     JavaScript  JS,JS front-end, Node.js, Express, MongoDb; ФП, ООП  HTML, CSS, front-end, React, Angular, Vue; софт. инженерство  PHP  PHP, MySQL, PHP frameworks, Laravel, Symfony  HTML, CSS, JS front-end; ООП, ФП, софтуерно инженерство  Други  C++, Swift, Go, Ruby, … Езици и платформи за програмиране 10Вж. https://nakov.com/blog/2017/04/03/choosing-a-programming-language-for-start
  • 11.
    Пътят към програмирането презсистемата на СофтУни
  • 12.
    Учебната методика наСофтУни 12 https://softuni.bg/curriculum
  • 13.
    Как да станапрограмист? Вж. https://softuni.bg/university/developersguide
  • 14.
     Опитай далипрограмирането е за теб!  Запиши се за безплатния курс за начинаещи в СофтУни: https://softuni.bg/apply  Или си намери някой tutorial в Интернет  Запалваш ли се?  Харесва ли ти?  Отдава ли ти се?  Искаш ли да програмираш по цял ден години наред? Как да стана програмист? 14
  • 15.
     Програмист сестава с много здраво учене!  2 години, по 4 часа на ден (средно)  Или 1 година (по 8-10 часа на ден)  https://softuni.bg/devtimetable  Писане на много проекти, много практика  Колкото повече, толкова по-добре Учи здраво, много здраво! 15
  • 16.
     Писане накод (coding skills) – 20%  Алгоритмично мислене – 30%  Фундаментални знания за професията – 25%  Езици за програмиране и софтуерни технологии – 25% Натрупай 4-те вида основни умения 16
  • 17.
     Натрупай портфолиоот проекти в GitHub!  Пример: https://github.com/YanaSlavcheva/SoftUni-Work  Покажи на работодателите своите умения  Как доказваш умения? С GitHub профил!  Използвай кариерния център на СофтУни! Започване на работа 17
  • 18.
    Запиши се вСофтУни! 18 https://softuni.bg/apply
  • 19.