Ответ на вопрос
Цели обучения
- Развить базовое алгоритмическое мышление и умение формализовать задачи.
- Освоить практические навыки программирования и работы с инструментами (версионный контроль, среда выполнения).
- Ознакомить с основами представления данных, сложностью алгоритмов и дискретной логики.
- Научить читать, писать и отлаживать код; применять ИТ-инструменты в профильных задачах (для гуманитариев — обработка текста, для математиков — моделирование).
- Сформировать учебную автономию: умение учиться дальше самостоятельно.
Ключевые темы (теория)
- Введение в информатику и вычислительное мышление: представление данных, абстракция.
- Алгоритмы и базовые структуры данных: массивы, списки, стеки, очереди, словари; простые алгоритмы сортировки и поиска; понятие сложности.
- Булева логика, булевы выражения, истиностные таблицы, основы дискретной математики (множества, графы в упрощённом виде).
- Формальные представления задач: спецификация, тесты, валидация результатов.
- Основы компьютерных систем: файловая система, процессы, ввод/вывод (базово).
Ключевые темы (практика)
- Язык программирования: рекомендую Python (для гуманитариев — быстрый вход; для математиков — выраженность). Инструменты: Jupyter, Git, GitHub/GitLab, терминал Linux (базово).
- Отладка, тестирование (юнит-тесты), обработка ошибок и документирование.
- Практические модули по применению: обработка текста/регулярные выражения, базовая визуализация данных, простые веб/CLI-программы.
- Мини-проекты: автоматизация рутинной задачи, анализ небольшого набора данных, интерактивный скрипт.
Пример структуры курса
- Длительность: \(12\) недель.
- Нагрузка: всего примерно \(72\) академических часов (лекции + лабораторные + самостоятельная работа).
- Лекции: \(24\) ч (по \(2\) ч/нед).
- Лабораторные: \(36\) ч (по \(3\) ч/нед).
- Самостоятельная работа и ДЗ: \(12\) ч.
Пример недельного плана (сокращённо)
- Недели \(1\)–\(2\): ввод, основная синтаксическая структура языка, переменные, типы данных, контроль потока.
- Недели \(3\)–\(4\): функции, модули, ввод/вывод, простые проекты.
- Недели \(5\)–\(6\): структуры данных, алгоритмы поиска/сортировки, сложность.
- Неделя \(7\): тестирование, отладка, Git.
- Недели \(8\)–\(9\): обработка текстов/регулярные выражения, работа с файлами, проектные идеи.
- Недели \(10\)–\(11\): интеграция знаний, расширенные задачи, оптимизация.
- Неделя \(12\): презентация проектов, итоги, финальный контроль.
Баланс лабораторных работ и домашних заданий
- Лабораторные (практика в аудитории, с преподавателем/ассистентом): \(12\) заданий, по \(3\) ч каждое — акцент на освоение шаблонов, быстрый фидбэк.
- Домашние задания: \(8\)–\(10\) небольших задач для закрепления (в среднем \(2\)–\(4\) часа на домашнее).
- 1 групповой проект (мини-проект) на \(2\)–\(3\) недели (применение знаний в контексте).
- Рекомендуемый соотношение времени: лаборатории ≈ \(50\%\) практической нагрузки, домашние ≈ \(30\%\), проект ≈ \(20\%\).
Формы оценки
- Накопительная шкала (суммарно \(100\%\)):
- Лабораторные работы: \(40\%\).
- Домашние задания: \(20\%\).
- Групповой проект (код + отчёт + презентация): \(25\%\).
- Активность/мини-квизы/участие: \(5\%\).
- Финальный письменный/практический тест: \(10\%\).
- Критерии оценки кода: корректность (тесты), стиль/читаемость, комментарии/документация, устойчивость к ошибкам.
- Формативные проверки: короткие онлайн-квизы каждую \(2\)–ю неделю для ранней диагностики.
Стратегии поддержки отстающих студентов
- Диагностика в начале: входное тестирование в неделю \(1\) (базовые навыки) — триггер для поддержки, если результат < \(50\%\).
- Низкоуровневая поддержка:
- «Bootcamp» вводные занятия (интенсив \(1\)–\(2\) дня) для гуманитариев или недостающих баз.
- Дополнительные лабораторные с ассистентом (раз в неделю по \(2\) ч).
- Обязательные office hours (не менее \(2\) ч/нед) и онлайн-чаты/форумы.
- Академические стратегии:
- Разбивка домашних заданий на этапы с промежуточными дедлайнами и шаблонами.
- Парное программирование и менторство старших студентов.
- Индивидуальные планы: упрощённые/адаптированные задания с теми же целями обучения.
- Автоматизированные тесты и мгновенная обратная связь от CI (помогают учиться на ошибках).
- Мониторинг прогресса: уведомления при низких оценках (например, после первой лабораторной или HW
Еще