Чему вы научитесь
- Научитесь писать небольшие (до 300 строк) программы на языке Си.
- Уверенно работать с указателями и использовать динамическую память.
О курсе
- Синтаксис языка Си, в том числе работа с указателями и динамической памятью. Объяснения на пальцах. Много задач.
- Алгоритмы (чуть-чуть). Задачи на "подумать".
- Инструменты программиста:
- работа в командной строке UNIХ,
- тестирование и отладка,
- система контроля версий git
Читается на 1 курсе МФТИ.
Предназначен как для студентов и школьников, которые еще ни разу не писали программ, так и для желающих изучить особенности языка Си (пропускайте части "для начинающих").
Раньше был чисто лекционным, теперь обрастает семинарской частью и задачами.
Альтернативный курс: https://stepik.org/course/55690
Продолжение курса: https://stepik.org/course/65259
Мы очень благодарны всем, кто находит и описывает ошибки в курсе. Это помогает сделать курс лучше.
Студент, помни, найденная ошибка или указанная в комментариях статья на Хабре - это плюс в карму. Плюсы в карму в мае могут стать плюсами на зачете.
Для кого этот курс
Желающие изучить язык Си на достаточно глубоком уровне, научиться работать с указателями и памятью. Студенты и школьники, желающие изучать информатику (как первый язык мы все же рекомендуем наши курсы по питону https://stepik.org/course/83469 или python для средней школы https://stepik.org/course/92195 )
Начальные требования
Умение понимать написанное на русском языке.
Предполагается, что часть студентов раньше не изучала информатику.
Желательны знания математики в объеме начальной школы.
Наши преподаватели
Как проходит обучение
Обучение состоит из видео лекций и "книжного" текста, весь материал видео лекций дублируется в текстовом виде (и это полноценный отдельный текст, а не автоматически распознанные субтитры).
Много разобранных примеров кода. Тесты с автоматической проверкой дополнены обилием полновесных задач на программирование (тоже с автоматической проверкой). Есть форум решений по каждой задаче.
Есть дискорд канал для оперативных ответов на вопросы и помощь с заданиями.
Продолжением курса является отдельный курс с написанием действительно большой проектной работой.
Программа курса
Что вы получаете
- Навыки и знания, которые помогут лучше понимать другие языки программирования, например, почему лучше работают те или иные конструкции другого языка.
- Хорошее знание теории.
- Много (по мнению студентов СЛИШКОМ много) практики.
- Поддержку более опытных программистов, которые оперативно отвечают на ваши вопросы.
- Проектная работа дает возможность указать в резюме хороший пример кода и владения современными технологиями разработки.