Литература и дополнительные материалы
- Русский:
- Керниган & Ритчи, Язык программирования С
-
Приоритет операторов C (pdf) из msdn
- progintro_vol1.pdf: Столяров, т.1 - начала работы в UNIX + Pascal
- п 1.4.4 (с75) - дерево каталогов, команды ls, pwd, cd (cp, mv, rm, mkdir, rmdir, touch, less)
- п 1.4.5 (с77) - шаблоны имен файлов (или "что такое * и для чего она нужна в командной строке).
- п.1.4.6 (с78) - история команд (или как быстро набрать команду, которую уже сегодня выполняли; что такое !:1 )
- п.1.4.7 (с79) - как ввести конец файла (EOF) в командной строке или прервать выполнение программы ; как убить процесс из другой консоли (команды ps и kill)
- п.1.4.8 (с84) - запуск команды в фоновом режиме. Что такое &
-
п.1.4.9 (с85) - перенаправление потоков ввода-вывода (что такое < > >> и | )
- п.1.4.10 (с87) - текстовый редактор vim (и встроенный редактор mc)
- п.1.4.11 (с92) - права доступа к файлам, chmod
-
п.1.4.12 (с94) - man - помощь по командам
- п.1.4.13 (с96) - программы на языке командной строки (скрипты bash)
- п.1.4.14 (с99) - переменные окружения
- п.1.4.15 (с101) - script (протоколирование сеанса работы)
- п.1.4.16 (с101) - графическая оболочка в UNIX
- п 1.5 - математика
- 1.5.1 (с 106) - Комбинаторика
- 1.5.2 (с 122) - Позиционные системы счисления
- 1.5.3 (с 131) - Двоичная логика
- 1.5.5 (с 141-162) - что такое алгоритм (тут же машина Тьюринга)
- 1.6.2 (с 167) - машинное представление целых чисел
- 1.6.3 (с 172) - числа с плавающей точкой
- 1.6.5 (с 178) - текст, как формат данных; кодировки
-
п. 2.16 (c 429) - тестирование и отладка (тесты, отладочная печать, gdb)
- progintro_vol2.pdf: Столяров, т2 - nasm, C
- 4.7.1 (с 441) - gcc (компилятор)
- 4.7.2 (с 443) - gdb (отладчик)
-
4.7.3 (с 447) - valrgind (где проблемы с памятью?)
- 4.7.4 (с 450) - make (сборка программы)
- 4.7.6 (с 463) - svn, git (системы контроля версий)
- progintro_vol3.pdf: Столяров, т3 - системные вызовы UNIX, сети
- Английский:
- Материалы кафедры:
- C-short-ref-manual.pdf: Краткий справочник по C
- c_help1.pdf: Шпаргалка по С на один лист А4 (Дербышева)
- Презентации: Поурочные планы и презентации (Дербышева)
C для кофейников
Так как идейным вдохновителем курса была Овсянникова, то структура методичек следующая: тема - методичка Овсянниковой, к ней вложена с отступом одна или несколько методичек Дербышевой. Мы верим, что из этих методичек родится общий онлайн-курс.- Первое занятие (Начнем, черепаха)
- Функции (только для группы Дербышевой)
- Работаем в консоли
- контест
- Первые программы
- Адреса, указатели, функции (updated 3.10.2017)
-
Функции
- Переменные
- Функции (старая версия, без указателей)
-
- Структуры. Указатели на структуры. (updated 3.10.2017)
- Условные операторы
- Циклы while, for, do..while (updated 27.09.2016)
- Массивы, указатели на массивы, функции и массивы(updated 31.10.2016)
- Файлы, динамическая память, строки(updated 22.11.2016)
- Массивы
- C_massD_struct.pdf: Дополнительный материал про двумерные массивы, файлы и структуры
- C_beginff.pdf: Дополнительный материал про строки и массивы
- Рекурсия(updated 16.11.2017)
- Использование функции qsort
- Примеры сортировок. Указатели на функции
- Структуры (начало)
- Работа с памятью?
- Строки
- Строки1
- Строки и псевдографика
- Команды препроцессора (в разработке, черновик, upd 09.11.2016)
- gdb.pdf: Отладчик GDB
- Структуры данных:
- Стек на основе динамического массива
- Односвязные списки
- Двусвязанный список, очередь на основе двусвязанного списка.
- Бинарное дерево
- Рецепты:
-
Проект (работа в нескольких файлах, заголовочные файлы)
- Вычислительные устройства
- Знаете ли вы что (грабли, на которые наступают)
- Критерии оценки за зачет весной 2020 года (Дербышева)
Python для кофейников
О рекурсии
- number_ev.pdf: Коротко о линейных уравнениях в целых числах
Длинные задачи
ООП коротко (C++)
C++ (для третьего семестра)
-
- Структуры в С
- Cложные типы данных в структурах С
- Понятие проекта
- Объекты как инструменты
- Объекты как инструменты. Переопределение функций и операторов
- Объекты как инструменты. Сложные объекты.
- Примеры сложных объектов для 3 семестра
- Контейнеры и итераторы
- Контейнеры и итераторы. Примеры для 3 семестра
- Шаблоны (функции и классы)
- Наследование
- Виртуальные функции. полиморфизм. Абстрактные классы
- Исключения
- Наследование. Примеры для 3 семестра
- Наследование (Строки)
- Примеры оконных приложений
Дополнительные лекции
- paradigma.pdf: Парадигмы программирования
- language.pdf: Как строить язык программирования
- grabli.pdf: Типичные ошибки
- algo.pdf: Алгортмы. Динамическое программирование
- graph.pdf: Графы
Материалы для практических занятий "Введение в язык Cи" Ворожцова
Автор: Ворожцов Артем Викторович, к.ф.м.н, преподаватель кафедры информатики МФТИ- Компиляция программ
- Простейшая программа "Hello World"
- Учимся складывать
- Максимум
- Таблица умножения
- ASCII коды символов
- Верхний регистр
- Скобки
- Генерация скобочных выражений
- Факториал
- Степень числа
- Треугольник Паскаля
- Корень уравнения
- Система счисления
- Сортировка
- Библиотека complex
- Сортировка на основе qsort
- Калькулятор выражений в обратной польской нотации
- Калькулятор выражений в обратной польской нотации на Bison
- Простая грамматика
- Простая реализация конечного автомата
- Реализация односвязного списка
- Использование аргументов командной строки
- Чтение и печать целого числа без использования
stdio
- Работа с файлами
Контрольные работы, задачи и вопросы
Представляют скорее исторический интерес для оценки "чего достигла кафедра за последние 5 лет". Студентам рекомендуется идти в онлайн-контесты для основных и продвинутых групп.- Задачи контрольной по языку Си/Си++ за 2009
- Задачи контрольной по языку Си за 2008
- Задачи контрольной по языку Си за 2007
- Задачи контрольной по языку Си за 2006 год и теоретические вопросы к первому заданию по языку Си
- Рекомендуемые задачи с автоматической проверкой для самостоятельного решения
- Вопросы по теории: 1) исполнители; 2) язык Си; 3) алгоритмы
Язык C в вопросах и ответах (comp.lang.c FAQ brief)
- 1. Нулевой указатель
- 2. Указатели и массивы
- 3. Выделение памяти
- 4. Выражения
- 5. ANSI C
- 10. Декларация и инициализация
- данные о переводе
Операционные системы
- osstud.zip: Учебник по операционным системам
Ссылки на другие материалы
- Виртуальные машины Тьюринга, Поста и Маркова (algo2000)
- makefile.html: Учебник по makefile
- SVN - использование svn
- GitBegginner - использование git (в процессе написания)
- basic_mpi.html: Основы MPI
- Сервера МФТИ для удаленной работы студентов
- Командная строка UNIX - начала работы
- Как работать удаленно на сервере
- Система Maxima - система символьных вычислений
Контесты
- Cintro.Dynamic - условия задач на динамическое программирование
Секретные материалы
- http://judge2.vdi.mipt.ru/cgi-bin/new-register?contest_id=500009 - группа 817
- http://judge2.vdi.mipt.ru/cgi-bin/new-register?contest_id=500110 - группа 551
- http://judge2.vdi.mipt.ru/cgi-bin/new-client?contest_id=500110 - побитовые операции
- http://judge2.vdi.mipt.ru/cgi-bin/new-client?contest_id=500109 - структуры данных (стек, список, дерево и тп)
- PDP-11:
- Cintro.PDPIntro - введение в архитектуру
-
Cintro.PDPrun - как установить и запустить эталонный эмулятор
- Cintro.PDPCommandList - список команд
- Cintro.PDPmode - режимы адресации
- Cintro.PDPppt - презентации
- Cintro.PDPtest - примеры кода (тесты для пищущих эмулятор)
- Cintro.PDPzachet - задачи
- Cintro.PDPPlan - поурочный план работы
Книги
- UNIXprogrammingexamples.htm: UNIX programming examples
- The_C_Programming_Language.pdf: Kernigan & Ritchi in English
- Niklaus_Wirth-Algorithms_and_data_structures-Prentice_Hall1985.pdf: Algorithms_and_data_structures by Wirt in English
- Barsik:
- 009: 9 тест
- types32.pdf: Типы данных. 32-бит (Третьяков А.В.)
- types64.pdf: Типы данных. 64-бит (Третьяков А.В.)
- class.odp: Лекция 1 по ООП. Классы и объекты
- overload.pdf: Лекция 2 по ООП. Перегрузка операторов
- template.cpp: Шаблон
- DevCup-2013.pdf: Кубок DevCup?
- stl.shtml: Standart Template Library
- C.pdf: Приоритет операторов C (pdf) из msdn
- PrecedenceandOrderofEvaluation.pdf: Precedence and Order of Evaluation (pdf) from msdn