Уроки: Computer Science
12 уроков
- 3D-моделирование: от куба до напечатанного предмета – 3D-модель — это форма, которую компьютер хранит как точки (вершины), соединённые рёбрами в плоские грани. Такой набор называется сеткой (mesh). Мы начинаем с простых фигур (примитивов), двигаем их, поворачиваем, масштабируем и вытягиваем грани (экструзия). Потом добавляем материалы и свет, и компьютер рисует картинку — это рендер. Ту же модель можно нарезать на тонкие слои и напечатать на 3D-принтере или использовать в играх, кино, VR и дизайне вещей.
- Анализ данных – Анализ данных превращает сырые данные в ответы. Он идёт по кругу: задаём вопрос, собираем данные, чистим их (убираем ошибки, повторы и пропуски), упорядочиваем и преобразуем, анализируем с помощью сводных чисел (среднее, медиана, размах) и закономерностей, показываем на хорошей диаграмме и делаем осторожный вывод. Следите за выбросами, маленькой выборкой и предвзятостью. Помните: если две величины связаны (корреляция), это не доказывает, что одна вызывает другую. Данные нужно хранить безопасно и использовать с разрешения людей.
- Введение в решение задач – Решение задачи на компьютере проходит несколько этапов: анализ задачи (что дано, что нужно найти, какие правила), создание алгоритма (конечного, понятного и упорядоченного набора шагов), написание кода на языке программирования, тестирование с разными входными данными и отладка (поиск и исправление ошибок). Алгоритм можно показать в виде блок-схемы (овал = начало или конец, параллелограмм = ввод или вывод, прямоугольник = действие, ромб = условие, стрелки = направление) или в виде псевдокода (структурированный обычный язык). Декомпозиция делит большую задачу на маленькие подзадачи: их решают по отдельности, а потом соединяют.
- Карьера в искусственном интеллекте: профессии и навыки – Любая система ИИ создаётся в три этапа: данные, модель и продукт. На каждом этапе свои профессии: аналитики и разметчики данных, ML-инженеры и исследователи, продакт-менеджеры, дизайнеры и эксперты по этике. Всем нужны шесть навыков в разной пропорции: математика, программирование, работа с данными, знание своей области, умение общаться и этика. Путь похож на лестницу: школьные предметы, курс или вуз, свои проекты, стажировка и первая работа, а учиться приходится всегда.
- Кибербезопасность: угрозы и как их остановить – Кибербезопасность защищает компьютеры, сети и данные. Её цели: конфиденциальность, целостность и доступность (триада CIA). Частые угрозы: вредоносные программы, фишинг и социальная инженерия, подбор паролей и атаки отказа в обслуживании. Защита: надёжная аутентификация, шифрование, брандмауэры, антивирусы, обновления, контроль доступа и резервные копии.
- Методы разработки алгоритмов – Чтобы создать алгоритм, сначала опишите задачу: входные данные, нужный результат и условия. Затем запишите чёткие конечные шаги словами, списком, псевдокодом или блок-схемой. Большую задачу делят сверху вниз на маленькие части (пошаговая детализация) или собирают снизу вверх из небольших проверенных кусочков. Классические приёмы: перебор (пробуем всё), разделяй и властвуй (делим, решаем, объединяем; деление пополам, как в бинарном поиске и сортировке слиянием), жадный метод (каждый раз берём самый выгодный на вид вариант; быстро, но не всегда оптимально), динамическое программирование (каждую маленькую подзадачу решаем один раз и храним в таблице) и поиск с возвратом (делаем выбор, а в тупике отменяем его). Приём и структуры данных (массивы, стеки, двоичные деревья) выбирают, проверяя правильность и эффективность (временную сложность).
- Прогноз поездки с помощью ИИ: как данные помогают предсказать пробки – Чтобы предсказать пробки, ИИ сначала собирает прошлые данные, например число машин в час за много дней. Потом он ищет закономерность, например два «холма» часа пик утром и вечером. После этого он предсказывает следующий день по этой закономерности, например как среднее значение для того же часа в прошлые дни. Люди используют прогноз, чтобы выбрать лучшее время или маршрут. Прогноз - это хорошая догадка, а не обещание.
- Продвинутое программирование и его применение – Продвинутое программирование — это выбор подходящей структуры данных (массив, связный список, стек, очередь), написание и проверка кода в IDE, построение графиков и анимаций, функции электронных таблиц и надёжное хранение данных в реляционной базе, к которой мы обращаемся на языке SQL.
- Сложность алгоритма: как быстро растёт число шагов? – Одну и ту же задачу можно решить разными алгоритмами, но одним нужно намного больше шагов. Алгоритм оценивают не секундомером, а числом простых шагов при росте размера входных данных n. Нотация Big O называет тип роста: O(1) константный, O(log n) логарифмический, O(n) линейный, O(n log n) и O(n²) квадратичный. Линейный поиск работает за O(n), бинарный за O(log n); пузырьковая сортировка за O(n²), сортировка слиянием за O(n log n). Объём используемой памяти называется пространственной сложностью.
- Цикл проекта ИИ: как создают решение с искусственным интеллектом – Искусственный интеллект (ИИ) — это способность машины учиться на данных и принимать решения или делать прогнозы, например узнавать лица или советовать песни. ИИ создают по кругу из шести этапов, который называют циклом проекта ИИ: 1) постановка задачи по схеме 4W (Who, What, Where, Why — кто, что, где, зачем); 2) сбор данных: берём надёжные данные; 3) исследование данных: чистим их и строим графики, чтобы найти закономерности; 4) моделирование: выбираем правила или способ обучения; 5) оценка: проверяем на новых данных и считаем точность; 6) внедрение: запускаем в реальную работу и улучшаем. На каждом этапе нужно думать об этике: справедливость (без предвзятости), приватность, прозрачность и ответственность.
- Цифровой след и сетевой этикет – Цифровой след — это следы данных, которые мы оставляем в интернете. Активный след мы оставляем сами и специально (посты, комментарии, анкеты). Пассивный след собирается без нашего ведома (куки, история просмотров, местоположение, IP-адрес). Такой след трудно стереть, и другие люди могут увидеть его потом. Мы живём в цифровом обществе: учёба, банки, магазины и госуслуги уже в сети. Ответственный пользователь сети — цифровой гражданин (нетизен). Сетевой этикет значит вести себя этично (уважать авторские права, делиться проверенной информацией), уважительно (чужая частная жизнь, разные взгляды, никакой травли) и ответственно (не рассказывать о себе лишнего, не кормить троллей). В переписке нужно писать точно, вежливо и честно, а в соцсетях — выбирать надёжные пароли и настройки приватности, думать перед публикацией и проверять новости перед тем, как ими делиться.
- Этика ИИ: как использовать искусственный интеллект честно и безопасно – Системы ИИ учатся находить закономерности в данных, а потом принимают решения. Этика ИИ спрашивает: справедливы ли эти решения, безопасны ли они и уважают ли людей. Главные темы: предвзятость (несправедливые данные дают несправедливый результат), приватность (личные данные нужно собирать только с согласия и защищать), прозрачность (человек должен понимать, почему ИИ так решил), ответственность (за всё отвечает человек), безопасность и злоупотребления (дипфейки, ложная информация) и влияние на общество (работа, цифровое неравенство, природа). Ответственный ИИ значит: проверять всё это до начала использования и после него.