Технология программирования (ТП)
Дозащиты: 9 и 10 января с 11:00 до последнего посетителя. Будут все.
Организация
-
Исходный код всех решений должен быть размещен на GitHub,
и ссылка на хранилище выслана на 2015.sdt.cai.ace.mpei@gmail.com
(доступ лаборантам давать не нужно!). Можно присылать ссылки на неполные решения,
если есть вопросы.
-
Оценка за зачет выставляется после выполнения и защиты всех ЛР.
-
Студент защищает ЛР одному и тому же лаборанту весь семестр,
какому — решается на первой защите.
Бригады (при нехватке машин) формируются на весь семестр,
защищают ЛР одному лаборанту, но индивидуально.
-
Есть резервная версия этой страницы
на случай проблем с сайтом. Сохраните в закладки.
Лекции
Неделя |
Дата |
Тема |
1 |
04.09 |
1. Основы языка программирования C++
|
3 |
17.09 |
2. Системы контроля версий (VCS)
|
3 |
18.09 |
3. Структурирование программы и данных
|
4 |
25.09 |
4. Взаимодействие программы с окружением
|
5 |
02.10 |
5. Программирование низкоуровневых задач
|
6 |
09.10 |
6. Алгоритмы и структуры данных
|
7 |
16.10 |
7. Объектно-ориентированное программирование в C++
-
следует ознакомиться со слайдами до 23 включительно,
кроме шаболонов (будут рассмотрены 23.10);
-
обратите внимание на слайд про тестирование
(это будет нужно для ЛР № 5).
|
8 |
23.10 |
-
8. ООП в C++ (продолжение)
-
9. STL
-
Несколько слайдов о шаблонах
|
9 |
30.10 |
10. Средства автоматизации разработки программ
|
Лабораторные работы
Файл sdt.h
для простого подключения стандартных библиотек.
Дата |
Тема |
А-01-13 |
А-02-13 |
04.09 |
25.09 |
1. Знакомство с языком C++ и средствами разработки
|
18.09 |
09.10 |
2. Системы контроля версий
-
Хранилище,
каким оно должно получаться в конце ЛР.
|
02.10 |
23.10 |
3. Функции и пользовательские типы данных
|
16.10
30.10
|
06.11
20.11
|
4. Программирование низкоуровневых задач
|
13.11 27.11 |
20.11 04.12 |
5. Объектно-ориентированное программирование
|
11.12 |
18.12 |
6. Средства автоматизации разработки программ
Актуальное задание без проблем форматирования.
|
Литература
Язык С++
-
Bjarne Stroustrup. Programming: Principles and Practices Using C++ =
Страуструп Б. Программирование: принципы и практика использования C++.
Рекомендованный учебник. Перевод на русский имеется только для первого издания.
Страница книги (комментарии, советы, примеры кода).
-
Stanley Lippmann, Josee Lajoie, Barbara Moo. C++ Primer, 5th Edition. =
Липманн С., Лажойе Ж., Му Б. Язык программирования С++: вводный курс, изд. 5.
Популярный учебник, предполагающий уверенное владение каким-либо еще языком программирования, помимо С++.
Печатные экземпляры доступны в М-304а.
-
Подбельский В. В. Язык Си++: Учебное пособие. — 5-е изд. — М.: Финансы и статистика, 1999. — 560 с.: ил. УДК: П44.
Существенно устаревшая книга, но только она массово есть в НТБ МЭИ.
Алгоритмы и структуры данных
- Роберт Седжвик. Фундаментальные алгоритмы на С++, 2-е издание / пер. с англ. (Algorithms in C++). — М.: DiaSoft — 2001 г. — 688 с.
- Sorting Algorithm Animations — демонстрация работы различных алгоритмов сортировки.
- Томас Х. Кормен. Алгоритмы. Вводный курс / пер. с англ. (Algorithms Unlocked). — М.: Вильямс. — 2014 г. — 208 с.
- Томас Х. Кормен и др. Алгоритмы. Построение и анализ / пер. с англ. (Introduction to Algorithms) — М.: Вильямс. — 2012 г. — 1296 с.
- Стивен Скиена. Алгоритмы. Руководство по разработке, 2-е издание / пер. с англ. (The Algorithm Design Manual, Second Edition) — СПб.: БХВ-Петербург. — 2011 г. — 720 с.
Электронные ресурсы
-
Сайт C++ Reference —
неофициальный, но подробный справочник, достаточно авторитетный
в профессиональных кругах.
Системы контроля версий
-
The Git Parable —
статья, объясняющая логику построения Git.
-
Pro Git —
бесплатная элекронная книга-руководство по Git.
Программное обеспечение
Для быстрой проверки небольших программ и обмена примерами удобно использовать
Ideone.com — бесплатный online компилятор.
Системы контроля версий
-
Сайт Git содержит не только саму систему контроля версий
(с управлением через командную строку), но и ссылки на графические утилиты
для различных ОС. Рекомендуется: SourceTree или TortoiseGit для Windows,
SourceTree для OS X, RabbitVCS для Linux.
-
Subversion (SVN)
устанавливается или с сайта, или часто под Windows в составе
TortoiseSVN —самой популярной
из графических утилит для SVN. В Linux рекомендуется RabbitVCS
(и для SVN, и для Git).
-
GitHub —самый крупный и популярный хостинг Git. Бесплатно предоставляются только открытые хранилища (то есть видимые для всех).
Обладает обширной инфраструктурой и развитым web-интерфейсом.
-
BitBucket —хостинг Git и Mercurial (Hg),
бесплатно предоставляет открытые и частные хранилища.
Дополнительных возможностей меньше, чем на GitHub.
Преподаватели
Авторы курса: Дербенев Н. В., Козлюк Д. А., Никитин В. В.,
кафедра Управления и информатики НИУ «МЭИ», 2013—2015 г. г.
Ответственный за страницу: Козлюк Д. А.