Створіть 111 проектів, отримайте 10 сертифікатів - тепер з Python

Оновлення від 2 липня 2020 року: 4 нових сертифікації Python вже працюють.

Ми наполегливо працювали над версією 7.0 навчальної програми freeCodeCamp. Ось що ми будуємо.

Деякі з цих удосконалень, включаючи 4 нові сертифікації Python, почнуть діяти на початку 2020 року.

Примітка: якщо ви вже переглядаєте поточну версію навчальної програми, продовжуйте. Як ви побачите, немає причин зупинятися.

Навчальна програма версії 7.0 ...

Візьме людину з дуже базовими знаннями комп’ютера ...

Побудуйте цю людину за 3000 годин курсових робіт ...

Посилити свої навички програмування ...

Закріпити їх основи програмної інженерії ...

І вони з’являться з іншого боку як всебічний розробник, готовий до більшості завдань розробників початкового рівня.

Як завжди, факультативів немає. Немає здогадок. Ви можете просто пройти навчальну програму від початку до кінця.

Попутно ви дізнаєтесь інструменти та концепції, які використовуються сучасними командами розробників програмного забезпечення.

З версією 7.0 ви все одно навчитесь навичкам веб-розробки та розробці API інтерфейсу.

А тепер ви також вивчите Python та його потужний набір інструментів Data Science та машинного навчання.

Удосконалення №1: Ми додаємо 4 нові сертифікати, орієнтовані на дані.

На додаток до 6 сертифікацій, які ми отримали з 2017 року, ми додаємо 4 нових сертифікації, усі з яких використовують Python:

  • Наукові обчислення
  • Аналіз даних
  • Інформаційна безпека
  • Машинне навчання

Ви будете використовувати такі бібліотеки, як Numpy, Matplotlib та TensorFlow, для створення різноманітних проектів.

Удосконалення №2: Замість індивідуальних уроків все буде проектом.

У нашій поточній програмі є окремі уроки. Вони можуть відчувати себе відключеними один від одного - і навіть трохи схожими на "інтерактивну документацію".

Цей підхід був досить ефективним, щоб допомогти 40 000 людям отримати першу роботу розробника. Але будувати проекти набагато цікавіше. А навчання має бути веселим. ?

Тож у версії 7.0 ми замінюємо ці необов’язкові уроки нашими новими практичними проектами.

Для кожного з цих практичних проектів ви будете створювати кодову базу - один прохідний тест за іншим.

Поки - сотні зданих тестів пізніше - у вас є повністю функціональний проект.

Наприклад, замість того, щоб вивчати JavaScript через серію з 200 непомітних уроків, ви вивчите JavaScript, створивши повністю відтворювану рольову гру.

Ми побудуємо набагато більше повторень, щоб допомогти вам зміцнити вашу "м'язову пам'ять" для кодування.

Удосконалення №3: Ми додаємо курси аварійного завершення на Git, Linux та SQL.

Минулі версії навчальної програми freeCodeCamp навчали Git, Linux та SQL.

Але ми хотіли зробити навчальну програму повністю інтерактивною. Статей немає. Відео немає. Просто кодування від початку до кінця.

Тож ми зробили так, щоб наша навчальна програма працювала повністю на стороні клієнта. Ви можете просто застрягти через freeCodeCamp у своєму браузері та проїхати нульовий цикл зворотного зв'язку.

Традиційна мудрість того часу полягала в тому, що для навчання Git, Linux або SQL потрібна буде файлова система. А для цього потрібні сервери. І сервери могли б ввести багато затримок.

Тож ми вилучили ці частини з нашої навчальної програми і, в основному, сказали: "підемо вивчати їх із нашого каналу YouTube або з інших ресурсів".

Що ж, я сьогодні радий повідомити, що ми працюємо над деякими інтерактивними курсами збоїв для цих трьох інструментів.

Це не буде сертифікацією. Вони будуть самостійними підручниками. І ви зможете робити їх, коли захочете. Жодні інші частини навчальної програми не залежатимуть від цих навичок.

Оскільки ми навчаємо їх у вашому браузері, ми можемо наблизити лише повне середовище сервера. Але ми впевнені, що все одно можемо навчити вас багатьом основним концепціям інтерактивно.

Ось повна навчальна програма Версії 7.0. Всі 111 проектів.

До кінця 2020 року навчальна програма freeCodeCamp виглядатиме приблизно так:

[HTML + CSS] Адаптивний веб-дизайн (16 проектів)

? ️ Практичні проекти: ️

  • Вивчіть базовий HTML, створивши додаток Cat Photo
  • Вивчіть базовий CSS, створюючи щоденник
  • Дізнайтеся проміжний CSS, побудувавши картину Пікассо
  • Дізнайтеся модель CSS Box, побудувавши картину Ротко
  • Дізнайтеся про змінні CSS, побудувавши City Skyline
  • Вивчіть анімацію CSS, побудувавши колесо огляду
  • Вивчіть типографіку, створивши ярлик харчування
  • Дізнайтеся про доступність, створивши опитування про відгуки користувачів
  • Дізнайтеся адаптивний веб-дизайн, побудувавши фортепіано
  • Дізнайтеся CSS Flexbox, створивши фотогалерею
  • Дізнайтеся CSS Grid, створюючи журнал

? Проекти сертифікації:

  • Сторінка данини
  • Форма опитування
  • Цільова сторінка продукту
  • Сторінка технічної документації
  • Веб-сторінка персонального портфоліо

[JavaScript] Алгоритми та структури даних (13 проектів)

? Практичні проекти:

  • Вивчіть базовий JavaScript, побудувавши рольову гру
  • Дізнайтеся проміжний JavaScript, побудувавши лічильник калорій
  • Дізнайтеся регулярні вирази, створивши фільтр спаму
  • Дізнайтеся налагодження, побудувавши гру в кістки
  • Дізнайтеся про структури даних, побудувавши кошик для покупок
  • Дізнайтеся основні алгоритми, побудувавши алгоритмічну стрічку новин
  • Дізнайтеся проміжні алгоритми, побудувавши гру Yahtzee
  • Дізнайтеся функціональне програмування, створивши електронну таблицю

? Проекти сертифікації:

  • Перевірка паліндрому
  • Перетворювач римських цифр
  • Цезарський шифр
  • Телефонний валідатор
  • Касовий апарат

[JavaScript] Інтернетні бібліотеки (10 проектів)

? Практичні проекти:

  • Дізнайтеся Basic React, побудувавши вікторину
  • Дізнайтеся проміжну реакцію, будуючи Flappy Bird
  • Вивчіть Basic Redux, побудувавши трекер вправ
  • Дізнайтеся про середній Redux, побудувавши тетріс
  • Дізнайтеся TypeScript, побудувавши гру в покер

? Проекти сертифікації:

  • Машина з випадковими цінами
  • Markdown Previewer
  • Барабанна машина
  • JavaScript калькулятор
  • Годинник Помодоро

[JavaScript] Візуалізація даних (11 проектів)

? Практичні проекти:

  • Дізнайтеся CSV, створивши список розсилки
  • Дізнайтеся JSON, створивши спортивну команду
  • Дізнайтеся AJAX, побудувавши лічильник переглядів
  • Леза візуалізація даних шляхом побудови інформаційної панелі
  • Дізнайтеся SVG, побудувавши Сонячну систему
  • Дізнайтеся D3, побудувавши карту Землі

? Проекти сертифікації:

  • Гістограма
  • Графік розсіювання
  • Теплова карта
  • Карта Хороплета
  • Діаграма деревної карти

[JavaScript] API та мікросервіси (10 проектів)

? Практичні проекти:

  • Дізнайтеся npm, побудувавши модуль npm
  • Дізнайтеся про Node.js, створивши веб-сервер
  • Дізнайтеся Express.js, побудувавши фондову торгову платформу
  • Дізнайтеся RESTful API, створивши метеорологічну службу
  • Дізнайтеся MongoDB, створивши базу даних огляду фільмів

? Проекти сертифікації:

  • Мітка часу Мітка
  • Запросити заголовок Parser Microservice
  • Мікросервіс URL Shortener
  • Трекер вправ
  • Файл Метадані Мікросервіс

[JavaScript] Забезпечення якості (10 проектів)

? Практичні проекти:

  • Вивчіть основи тестування, створивши синтаксичний аналізатор рецептів
  • Вивчіть модульне тестування, написавши тести для сайту електронної комерції
  • Дізнайтеся інтеграційне тестування, написавши тести для сайту електронної комерції
  • Дізнайтеся функціональне тестування, написавши тести для сайту електронної комерції
  • Дізнайтеся про бібліотеку тестування Jest and React, протестувавши гру React Tic Tac Toe

? Проекти сертифікації:

  • Метрично-імперський перетворювач
  • Випуск Tracker
  • Персональна бібліотека книг
  • Sudoku Solver (Заміна перевірки ціни акцій, яка переходить до захисту інформації)
  • Перевірка граматики (Заміна дошки анонімних повідомлень, яка переходить до захисту інформації)

[Python] Наукові обчислення (10 проектів)

? Практичні проекти:

  • Вивчіть основи Python, побудувавши гру Блекджек
  • Дізнайтеся проміжний Python, побудувавши програму контактів
  • Вивчіть об'єктно-орієнтоване програмування, побудувавши гру "Сапер"
  • Дізнайтеся рекурсію, вирішуючи головоломку Ханойської вежі
  • Дізнайтеся паралельність, побудувавши генератор простих чисел

? Проекти сертифікації:

  • Арифметичний форматор
  • Калькулятор часу
  • Калькулятор часу автономної роботи
  • Калькулятор площі багатокутників
  • N Queens Solver

[Python] Аналіз даних (10 проектів)

? Практичні проекти:

  • Вивчіть основні NumPy, створюючи та керуючи масивами
  • Дізнайтеся проміжний NumPy, побудувавши Гра життя Конвея
  • Дізнайтеся Pandas, аналізуючи дані про продажі
  • Дізнайтеся про сварку даних, організувавши базу даних про харчові продукти USDA
  • Дізнайтеся matplotlib та візуалізацію даних за допомогою графічного аналізу веб-сайтів

? Проекти сертифікації:

  • Калькулятор середньоквадратичної стандартної девіації
  • Аналізатор часових рядів демографічних даних
  • Візуалізатор медичних даних
  • Академічне цитування Grapher
  • Інформаційна панель даних огляду продукту

[JavaScript + Python] Інформаційна безпека (11 проектів)

? Практичні проекти:

  • Дізнайтеся про інформаційну безпеку, створивши форму кредитної картки (JS)
  • Вивчіть криптографію, побудувавши систему цифрового підпису (JS)
  • Дізнайтеся аутентифікацію, створивши сторінку реєстрації (JS)
  • Дізнайтеся веб-розетки, побудувавши кімнату для чатів
  • Дізнайтеся про мережеву безпеку, створивши пакетний нюхач (PY)
  • Дізнайтеся Scapy, створюючи пакети з нуля (PY)

? Проекти сертифікації:

  • Перевірка ціни акцій (у існуючій навчальній програмі переміщується)
  • Дошка анонімних повідомлень (у існуючій навчальній програмі переміщується)
  • Сканер портів
  • Захоплення пакетів
  • Захищена багатокористувацька гра в режимі реального часу

[Python] Машинне навчання (10 проектів)

? Практичні проекти:

  • Вивчіть основи машинного навчання, побудувавши програму ідентифікації рукописних цифр
  • Дізнайтеся Tensorflow, побудувавши систему рекомендацій щодо фільмів
  • Дізнайтеся моделі регресії, побудувавши прогноз цін на будинки
  • Дізнайтеся алгоритми класифікації, класифікуючи зображення квітів ірису
  • Дізнайтеся глибоке навчання, аналізуючи дорожні сигнали

? Проекти сертифікації:

  • Аналізатор ножиць з паперу
  • Класифікатор зображень котів та собак
  • Музична рекомендація
  • Калькулятор економії палива з лінійною регресією
  • Нейромережевий аналізатор тексту

? ️ І наші 3 аварійні курси:

  • Реляційні бази даних - вивчайте SQL, створюючи університетську базу даних
  • Linux - Вивчіть основи Bash, граючи Capture the Flag
  • Git - вивчіть Git, створюючи проект з відкритим кодом

? ️‍♀️ І, звичайно, наш розділ «Підготовка інтерв’ю кодування» (уже доступний) пропонує тисячі годин додаткової практики:

  • Розширені алгоритми (9 алгоритмів)
  • Розширені структури даних (46 алгоритмів)
  • Алгоритми коду Розетти (134 алгоритми)
  • Проект Ейлера Алгоритми (480 алгоритмів)
  • Проекти «Додому» (20 проектів)

Як ми все викочуємо

Ми впроваджуємо ці зміни у 4 етапи. Жодне з них не порушує змін. Навчальний план залишатиметься повністю зворотним.

Якщо ви раніше отримали сертифікат, ви його збережете. Нікому не доведеться переробляти проекти.

Етап 1 : Публікація проектів сертифікації Python

Етап 2 : Оновіть наш користувальницький інтерфейс для підтримки нових практичних проектів

Етап 3 : Публікація проектів практики Python

Етап 4 : Опублікуйте практичні проекти JavaScript для заміни існуючих уроків JavaScript

Питання що часто задаються

Я в середині поточної навчальної програми. Чи слід продовжувати?

Так. Продовжуй. Ніщо з цього не вплине на те, що ви сьогодні дізнаєтесь. Нова навчальна програма повністю сумісна із зворотною системою.

Я вже отримав сертифікати за чинною навчальною програмою. Що буде з цими?

Вітаємо з Вашими сертифікатами. Хороші новини: наші поточні 6 сертифікатів не змінюються. Вони все ще будуть у навчальній програмі, і кожен із них збереже ті самі 5 проектів сертифікації.

Пам’ятайте: для того, щоб отримати сертифікацію, вам потрібно лише створити 5 проектів сертифікації. Усі уроки є факультативними.

Тож, хоча ми замінюємо ці уроки практичними проектами, вам не потрібно буде повертатися назад і робити це. Практичні проекти - як і уроки - будуть абсолютно необов’язковими.

Які ще зміни я повинен знати?

Ми змінюємо назву сертифікації "Забезпечення якості та інформаційна безпека" на "Забезпечення якості". Ми робимо це, тому що у нас є нова сертифікація, орієнтована лише на Інформаційну безпеку.

Сертифікація забезпечення якості охоплюватиме набагато більше тестувань. Два зі своїх старих проектів сертифікації переходять на нову сертифікацію інформаційної безпеки. І ми замінюємо їх двома новими проектами сертифікації забезпечення якості.

Якщо ви вже здобули стару сертифікацію із забезпечення якості, вам не потрібно буде створювати ці 2 нові проекти. Але ви можете побудувати їх, якщо хочете для додаткової практики.

Чи потрібно робити усі 3000 годин курсових робіт, перш ніж я можу почати претендувати на роботу?

На практиці дуже мало людей виконують всю навчальну програму перед тим, як вийти на роботу та влаштуватися на роботу.

Тож не думайте про цю навчальну програму як про «все, що ви повинні знати перед тим, як розпочати пошук роботи».

Натомість подумайте про це як про «все, що сучасний розробник повинен знати на початку своєї кар’єри». Ви можете продовжувати вивчати нові навички в рамках навчальної програми навіть після того, як отримаєте першу роботу розробника.

Чи можу я подати заявку на роботу в галузі даних з цим?

Наука про дані - це багатопрофільна галузь, яка поєднує програмування, статистику та знання в області. Це не сфера початкового рівня, а швидше кар’єра, на яку ви переходите, отримавши ступінь кандидата наук. або працюють на різних робочих місцях у промисловості.

Ми навчаємо багатьом інструментам науки про дані, оскільки вони є цінними і для розробників-універсалів. Зауважте, що ми не викладаємо математику чи галузеві знання, які вам потрібні як вченому з даних. Тож якщо ваша мета - стати вченим з даних, ви, мабуть, захочете навчитися тим, хто навчається у школі чи на роботі.

Чим я можу допомогти?

Ми - крихітна некомерційна організація з комічно невеликим бюджетом. Але ми надзвичайно ефективні. У 2019 році ми провели понад 1,1 мільярда хвилин навчання за бюджетом лише 373 000 доларів. Це дає 50 годин навчання за пожертвуваний долар.

Найкращий спосіб допомогти нашій місії - підтримати freeCodeCamp.org безпосередньо пожертвою.

Ви також можете допомогти, побувавши на форумі freeCodeCamp і відповідаючи на запитання людей. Зараз ми є однією з найбільших спільнот програмістів в Інтернеті, завдяки великій кількості корисних добровольців.

Ще раз дякуємо за участь у спільноті freeCodeCamp. 2019 рік став роком підготовчих робіт. 2020 рік стане роком, коли наші зусилля здійсняться.

Я вдячний, що ви будете тут з нами, оскільки наша громада робить наступний великий крок у майбутнє.