// портфолио · Computer Science

От первой программы на C до приложения с ИИ

Семь работ, которые складываются в один путь: сначала — как устроено программирование изнутри, затем — как собрать из этого настоящее веб-приложение.

7 работ за год32 занятияC + Python два языка
// чему_научились_за_год

Что стоит за этими работами

Это курс не про «выучить язык». Каждая работа здесь решает задачу, которую нельзя решить копированием готового решения из интернета.

[01]

Инженерное мышление

  • как устроена память компьютера
  • алгоритмы поиска и сортировки
  • оценка сложности решений
  • структуры данных изнутри
  • работа с языком C
[02]

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

  • Python и его экосистема
  • проектирование базы данных
  • запросы SQL
  • вёрстка интерфейса
  • клиент-серверная архитектура
[03]

Работа с ИИ

  • устройство языковых моделей
  • обращение к API моделей
  • prompt engineering
  • интеграция ИИ в приложение
  • сборка итогового продукта
// работы_курса

Как растёт уровень за год

От консольной программы на C до веб-приложения с искусственным интеллектом. Каждая следующая работа опирается на предыдущую.

Программы на C
// модули_01–02 · язык C

Программы на C

первые программы и алгоритмы

Курс начинается с языка, на котором видно, что происходит на самом деле. Программа, которая угадывает загаданное число за семь вопросов вместо ста. Проверка настоящего номера банковской карты по алгоритму Луна. И сравнение алгоритмов: во сколько раз бинарный поиск быстрее перебора.

// что в этих работах
  • бинарный поиск: 20 шагов вместо миллиона
  • алгоритм Луна для проверки номера карты
  • конвертер систем счисления
  • шифр на битовых операциях
  • замер и сравнение скорости алгоритмов
// что ученик делает сам

Каждый алгоритм пишется руками, без готовых функций. Смысл модуля — не выучить синтаксис C, а понять, почему выбор алгоритма важнее скорости компьютера.

CАлгоритмыBig OБиты
Свои структуры данных
// модуль_03 · память

Свои структуры данных

связный список, стек, очередь, хеш-таблица

Самый инженерный модуль курса. Ребята реализуют с нуля то, что в других языках уже готово: связный список, стек, очередь и хеш-таблицу. Итоговая работа — телефонная книга, которая находит запись почти мгновенно, потому что под ней хеш-таблица, написанная руками.

// что в этих работах
  • указатели и работа с памятью
  • связный список с добавлением и удалением
  • стек и очередь
  • хеш-таблица с быстрым поиском
  • телефонная книга на своих структурах
// что ученик делает сам

Всё написано с нуля. После этого модуля привычные list и dict в Python перестают быть магией — ребёнок знает, что у них внутри.

CУказателиСтруктуры данныхХеш-таблицы
Анализатор данных
// модуль_04 · Python

Анализатор данных

переход на высокоуровневый язык

После строгого C начинается Python — и разница чувствуется сразу. Работы модуля: программа, которая читает большой набор данных и строит по нему статистику, и взлом шифра Цезаря через частотный анализ букв.

// что в этих работах
  • чтение и обработка файлов CSV
  • статистика по набору данных
  • поиск топовых записей
  • частотный анализ текста
  • взлом шифра Цезаря
  • замер скорости поиска в списке и словаре
// что ученик делает сам

Здесь же ребята переписывают свои алгоритмы из первых модулей на Python и сравнивают со встроенными — видят разницу и понимают её причину.

PythonCSVКоллекцииКриптоанализ
Приложение с базой данных
// модуль_05 · базы данных

Приложение с базой данных

проектирование и SQL

Данные нужно где-то хранить между запусками программы. Ребята проектируют структуру базы, создают таблицы со связями и пишут запросы. Итог — рабочее приложение учёта, которое помнит всё после закрытия.

// что в этих работах
  • проектирование схемы базы
  • таблицы, ключи и ограничения
  • запросы SELECT с фильтрами и группировкой
  • связи между таблицами
  • приложение на Python с базой SQLite
// что ученик делает сам

Схему базы ребята проектируют сами — до написания кода. Это первый опыт, когда сначала думаешь о структуре данных, а потом уже программируешь.

SQLSQLiteПроектированиеPython
Своя веб-страница
// модуль_06 · фронтенд

Своя веб-страница

HTML, CSS, JavaScript

Первая работа, которую видно в браузере. Ребята верстают страницу, оформляют её и добавляют интерактивность на JavaScript. Задача узкая и достижимая: сделать интерфейс, который не стыдно поставить на своё будущее приложение.

// что в этих работах
  • структура страницы на HTML
  • формы для ввода данных
  • оформление на CSS и flexbox
  • адаптивность под телефон
  • интерактивные элементы на JavaScript
// что ученик делает сам

Вёрстка своя, а для оформления используем готовый CSS-фреймворк — как и в оригинальном CS50. Так время уходит на логику, а не на выравнивание кнопок.

HTMLCSSJavaScriptDOM
Динамическое веб-приложение
// модуль_07 · бэкенд

Динамическое веб-приложение

свой сервер на Flask

Здесь всё изученное соединяется. Ребята поднимают собственный веб-сервер на Flask, подключают к нему базу данных и внешние сервисы. Получается настоящее приложение: трекер, мини-блог или доска задач — с формами, сохранением и живыми данными из интернета.

// что в этих работах
  • веб-сервер на Flask
  • маршруты и шаблоны страниц
  • формы и обработка данных
  • подключение базы данных
  • запросы к внешним API
  • вывод живых данных на страницу
// что ученик делает сам

Приложение собирается учениками целиком: и серверная часть, и интерфейс, и работа с данными. Самый технически насыщенный модуль курса.

FlaskPythonSQLAPI
Веб-приложение с ИИ
// модуль_08 · итоговый проект

Веб-приложение с ИИ

финал года · полный стек

Итоговая работа объединяет весь год: интерфейс, сервер, база данных и обращение к языковой модели. Каждый выбирает свою идею — помощник по учёбе, генератор идей, умный дневник — и доводит её до работающего приложения, которое можно открыть по ссылке.

// что в этих работах
  • своя идея и проектирование
  • интерфейс на HTML и CSS
  • сервер на Flask
  • хранение данных в базе
  • обращение к ИИ-модели через API
  • продуманные промпты для модели
// что ученик делает сам

Проект авторский от идеи до защиты. Это работа, в которой видно всё, чему ребёнок научился за год, — и её можно показать при поступлении.

Полный стекИИAPIPrompt engineering
// зачем_такой_охват

Полная картина того, как работает IT

Это университетская база по программированию: те же темы и та же логика, с которых начинают на первых курсах технических вузов.

Каждый проект закрывает свой слой. Пройдя их подряд, подросток перестаёт видеть отдельные технологии и начинает понимать, как из этих слоёв собирается любое современное приложение — от сайта до сервиса, которым пользуются миллионы.

01
Язык и алгоритмыкак компьютер выполняет команды
02
Данныекак приложение их хранит и находит
03
Интерфейсчто видит пользователь
04
Серверчто происходит за кулисами
05
Искусственный интеллекткак подключить модель к своему коду
// все_работы
// github_академии

Здесь лежит весь код

Проекты курса мы выкладываем в открытый репозиторий академии. Можно посмотреть код, разобрать реализацию алгоритмов и запустить приложение у себя.

  • ✓Программы на C — алгоритмы и структуры данных, реализованные с нуля
  • ✓Код на Python — анализаторы данных, работа с базой и веб-приложения
  • ✓Итоговые приложения с ИИ — полный стек от интерфейса до обращения к модели
Открыть GitHub академии →
> git clone codegap
✓ алгоритмы на языке C
✓ свои структуры данных
✓ веб-приложения на Flask
// открыто для всех

Хотите, чтобы ребёнок так программировал?

Первое занятие бесплатное. Посмотрим, что ребёнок уже умеет, и честно скажем, готов ли он к такому уровню.