Яке б напрям розробки ви не вибрали, будь то створення сайтів, ігор або програм, найкраще почати з вивчення фундаментальних речей на зразок архітектури комп'ютерної техніки, законів логічного мислення і принципів побудови алгоритмів.
- Введення в математичну логіку (ресурс: Hexlet, доступ: завжди відкритий) - базові поняття, інструменти і парадокси цієї дисципліни, що лежить в основі управління комп'ютером.
- Введення в архітектуру ЕОМ. Елементи операційних систем (ресурс: Stepic, доступ: з 8 листопада, тривалість: 7 тижнів) - функціонування комп'ютерної техніки починаючи з елементарних логічних схем, закінчуючи складними мультіпроцесорними системами.
- Гарним доповненням до попереднього може стати курс Історія ЕОМ і програмування (ресурс: Лекторіум, доступ: зима 2015/2016, тривалість: 5 тижнів). Від нього варто чекати хронології розвитку комп'ютерних систем та програмування в СРСР і Росії в порівнянні з аналогічними тенденціями в США і Західній Європі. У програму занять також включені ключові принципи роботи електронно-обчислювальних машин та основні типи мов програмування.
- Міні-курси Основи програмування 1 (ресурс: Geek Brains, доступ: завжди відкритий) і 2 (ресурс: Geek Brains, доступ: з 5 листопада, тривалість: 2 тижні) розкривають базові терміни і поняття, необхідні програмісту, пояснюють, чим відрізняються популярні мови, і для чого призначений кожен з них. Викладачі розповідають про популярних напрямках розробки, вчать створювати найпростіші програми і допомагають визначитися з вибором мови для подальшого вивчення. Два курсу однакові за змістом, але відрізняються форматом. Перший складається з відеозаписів, другий - це кілька онлайн-трансляцій, під час яких можна задавати питання лектору.
- Ще один міні-курс, призначений для ознайомлення з основами розробки ПО - Об'єктно-орієнтоване програмування(ресурс: Geek Brains, доступ: завжди відкритий). Матеріал повністю сфокусований на однойменній парадигмі програмування, знання якої необхідно для освоєння практично будь-якого сучасного мови.
- Більш поглиблене занурення в предмет забезпечить курс Основи програмування (ресурс: Prometheus, доступ: з 19 січня, тривалість: 8 тижнів). Його автор вчить азам розробки на прикладі конкретних завдань з використанням мови Python.
- Освоївши базові принципи програмування, ви зможете пройти курс Розробка та аналіз алгоритмів (ресурс: Prometheus, доступ: з 26 січня, тривалість: 9 тижнів), щоб краще розібратися в підходах до аналізу, порівнянню і побудови алгоритмів. Ці знання стануть у пригоді в будь-якому напрямку розробки.
Веб програмування
Ви давно мрієте створити особистий блог або реалізувати свої ідеї в новому веб-сервісі? А, може, хочете розробляти інтернет-проекти під замовлення? Тоді вам потрібно освоїти інструменти для побудови і візуального оформлення веб-сторінок (HTML, CSS), мови веб-програмування (JavaScript, PHP, Python і т.д.) і розібратися з суміжними технологіями на зразок баз даних. Спробуйте що-небудь з цих курсів:
- Основи розробки сайтів і веб-додатків (ресурс: Microsoft Virtual Academy, доступ: завжди відкритий);
- Web-технології (ресурс: ІНТУЇТ, доступ: завжди відкритий);
- HTML, CSS (ресурс: HTML Academy, доступ: завжди відкритий).
- HTML5. Основи клієнтської розробки (ресурс: ІНТУЇТ, доступ: завжди відкритий);
- JavaScript і JQuery з нуля (ресурс: Lendwings, доступ: завжди відкритий);
- Програмування на Python (ресурс: Stepic, доступ: завжди відкритий);
- Введення в програмування на Python (ресурс: ІНТУЇТ, доступ: завжди відкритий);
- Введення в програмування на мові Python (ресурс: Microsoft Virtual Academy, доступ: завжди відкритий);
- Основи PHP (ресурс: Lendwings, доступ: завжди відкритий);
- PHP. Швидкий старт (ресурс: Geek Brains, доступ: завжди відкритий);
- Бази даних (ресурс: ІНТУЇТ, доступ: завжди відкритий).
Програмування під мобільні платформи
Стрімкий розвиток мобільних технологій зробило створення ігор і додатків для гаджетів одним з найперспективніших напрямків розробки. Якщо і ви бажаєте ступити на цю стезю, для початку варто вирішити, з якою платформою хочете працювати: iOS або Android. Кожна з них вимагає унікального підходу до розробки і знань відповідних технологій. Визначившись, можете вибрати відповідні курси для освіти:
- Розробка додатків для iOS (ресурс: ІНТУЇТ, доступ: завжди відкритий);
- Введення в розробку додатків для ОС Android (ресурс: ІНТУЇТ, доступ: завжди відкритий);
- Введення в розробку додатків для смартфонів на ОС Android (ресурс: ІНТУЇТ, доступ: завжди відкритий);
- Розробка додатків для смартфонів на ОС Аndroid (ресурс: ІНТУЇТ, доступ: завжди відкритий).
Програмування під настільні платформи
Щоб створювати ігри та програми для таких популярних операційних систем, як Windows і Linux, програмісти дуже часто використовують мови С # і С ++. Вивчивши хоча б один з них, ви теж зможете спробувати себе в створенні проектів для настільних платформ. З навчанням повинні допомогти наступні курси:
- Програмування (ресурс: ІНТУЇТ, доступ: завжди відкритий);
- Алгоритмізація. Введення в мову програмування С ++ (ресурс: ІНТУЇТ, доступ: завжди відкритий);
- Мова програмування C ++ (ресурс: ІНТУЇТ, доступ: завжди відкритий);
- Захоплююча програмування на мові C # (ресурс: Microsoft Virtual Academy, доступ: завжди відкритий);
- Основи програмування на мові С # (ресурс: Microsoft Virtual Academy, доступ: завжди відкритий);
- Мова програмування C # (частина 1) (ресурс: Microsoft Virtual Academy, доступ: завжди відкритий);
- Мова програмування C # (частина 2) (ресурс: Microsoft Virtual Academy, доступ: завжди відкритий).