С++, 422 гр., спец. СМ
“Программирование для решения вероятностных задач” и Практикум по СПП
Место и время проведения: среда, первая и третья пары, обе в ауд. 2406
Преподаватель: Звонарев Никита
Сайт¶
W3C - консорциум “Всемирной паутины”. Наиболее точные версии стандартов можно найти именно здесь.
https://validator.w3.org/ - валидатор, который должен проходить ваш сайт.
https://jsfiddle.net/ - песочница, в которой можно поиграться.
Ссылки на курсы Coursera по HTML, CSS, JS.
Jekyll и Liquid будет вам полезен, если вы хотите не копи-пастить, а сделать задание за небольшое время.
GitHub pages - как использовать GitHub для хостинга своего сайта.
Современный учебник JavaScript - великолепный сайт-самоучитель по JS.
HTML Editors¶
Просто используйте адекватный текстовый редактор, который без проблем поддерживает UTF-8 и подсветку синтаксиса. Например, Notepad++.
Немного JavaScript (legacy)¶
Программа для поиска экстремума функции. Информация прошлых лет (но актуальная и сейчас)¶
Задание на семестр <- здесь дано старое задание в полном виде. Нас интересует п. 2.
Красивые примеры программ прошлых лет. Еще один
Комментарии к стилю программирования
Минимальные требования к программе с MFC
Примеры на combo-box и графику VS2010 Примеры на combo-box и графику VS2013
Список литературы с описанием методов поиска экстремумов
Добавляется очень хорошая книга Nocedal, Jorge, Wright, S. Numerical Optimization.
C++ advanced¶
Примерные темы¶
- Шаблоны.
- Исключения
- STL
- Современный стандарт
- Немного Qt?
- ???
Литература¶
Основная книга номер 3, английский вариант можно найти on-line на сайте автора.
- Бьерн Страуструп. Язык программирования
Сplusplus. - Эккель Б. Философия
Сplusplus. Введение в стандартныйСplusplus. - Эккель Б. Философия
Сplusplus. Практическое программирование.
Занятия по C++ advanced¶
- 28/09/2016 (две пары). Множественное наследование. Виртуальный базовый класс. RTTI (typeid, dynamic_cast). Исключения (самое начало).
- 05/10/2016 (одна пара). Исключения: семантика, исключения в конструкторе, cleanup, set_terminate, noexcept, "голые" и "одетые" (начало) указатели.
- 12/10/2016 (две пары). Умные указатели, стандартные исключения, RAII. Move semantics. Шаблоны (самое начало).
- 19/10/2016 (одна пара). Конкретизация шаблонов, специализация шаблонов, typename внутри шаблона, template template parameter.
- 26/10/2016 (одна пара). Паттерны с traits и policy, метапрограммирование.
- 02/11/2016 (две пары). Завершение шаблонов: type_traits, понятие о SFINAE, friend'ы. Немного о STL-ном <vector>. Самое начало форматирования.
- 09/11/2016 (одна пара). Форматирование.Потоковый ввод-вывод: создание своих манипуляторов, fstream (режимы открытия, ошибочные состояния, getline, get, копирование файлов: посимвольное, построковое, поблочное, через streambuf и rdbuf()), stringstream.
- 16/11/2016 (две пары). STL: общая структура, обзор контейнеров с трудоемкостью операций, иерархия концепций итераторов, итераторы прямой и обратный, итераторы вставки, итераторы для потоков ввода-вывода. Алгоритм copy, replace (с особенностью работы). Самодельный copy.
- 23/11/2016 (две пары). Общая структура алгоритмов STL. Умение написать свой transform, for_each. Лямбды, лямбды как замыкания. Алгоритмы для работы с числовыми последовательностями, упорядоченными множествами, перестановки.
- 30/11/2016 (две пары). Завершение STL: manipulations.cpp (комментарий об ошибке автора файла), SearchReplace.cpp. Алгоритмы поиска, сортировки, бин. поиска, и т.п. Примеры на использование map/set. Задание про словарь. Контейнеры: bitset, valarray.
- 07/12/2016 (две пары). Разное: limits, complex. Новые возможности языка. Немного про Qt, qtcreator.
Материалы в виде архивов к занятиям в прошлые годы
- (08/09/2010). Множественное наследование. Виртуальный базовый класс. “Виртуальные конструкторы”.
- (16/09/2009). RTTI (typeid, dynamic_cast), вспомнили static_cast, const_cast, reinterpret_cast. Вспомнили assert. Исключения - начало.
- (23/09/2009). Исключения (как выбрасывать, как ловить), исключения в конструкторах, “голые” указатели, set_unexpected, set_terminate, auto_ptr.
- (25/09/2013). cleanup, “голые” указатели, auto_ptr, unique_ptr, shared_ptr, weak_ptr.
- (30/09/2009). Окончание темы про исключения (“одетые” указатели, стандартные классы исключений). Строки (string). Шаблоны - начало.
- (07/10/2009). Шаблоны: компиляция программы с шаблонами (зависимые имена, инстанцирование (конкретизация) шаблона), параметр шаблона для задания области видимости, использование typename внутри шаблона, шаблон в качестве параметра шаблона, специализация шаблонов.
- (14/10/2009 09/10/201316/10/2013). Шаблоны: специализация шаблонов, паттерны с traits (идея с использованием typedef для задания разным типам одинаковых псевдонимов) и policy, псевдорекурсия при наследовании от шаблонного класса без типо-зависимых элементов, метапрограммирование на этапе компиляции, функции-друзья шаблонные/нешаблонные.
- (21/10/2009). Немного о vector из STL: size, capacity, reserve и пр. Потоковый ввод-вывод: общее устройство, флаги форматирования, форматированный вывод, манипуляторы.
- (28/10/2009). Потоковый ввод-вывод: создание своих манипуляторов, fstream (режимы открытия, ошибочные состояния, getline, get, копирование файлов: посимвольное, построковое, поблочное, через streambuf и rdbuf()), stringstream (в частности, разбор строки на слова). Домашнее задание - разбор файл с табличными данными.
- (11/11/2009 13/11/2013). STL: общая структура, обзор контейнеров с трудоемкостью операций, иерархия концепций итераторов, итераторы прямой и обратный, итераторы вставки, итераторы для потоков ввода-вывода. Общая структура алгоритмов STL (умение самостоятельно написать реализацию алгоритма на примере copy и transform).
- (18/11/2009). STL: продолжение про алгоритмы на примере replace, replace_if, replace_copy, replace_copy_if. Также - алгоритм типа remove (принцип неудаления элементов после remove, разница между last и end). Функциональные объекты, стандартные функц.объекты из
. Суммирование элементов контейнера с помощью for_each. Алгоритмы работы с числовыми последовательностями (accumulate, inner_product, partial_sum), алгоритмы для работы с множествами (объединение, пересечение и пр.) - (25/11/2009 20/11/2013). STL: адаптеры стек, очередь, очередь с приоритетами; ассоциативные контейнеры set, multiset, map, multimap. Алгоритмы перестановки, поиска, сортировки и пр.: из книги Эккеля manipulations.cpp, SearchReplace.cpp, Nstring.h
- (02/12/2009). STL: Алгоритмы сравнения, бин.поиска, сортировки, удаления и пр. Контейнеры bitset, valarray. Разное: limits, complex.
Результаты посещений занятий¶
| 28.09 | 05.10 | 12.10 | 19.10 | 26.10 | 02.11 | 09.11 | 16.11 | 23.11 | 30.11 | 07.12 | 14.12 | 16.12 (з: факультатив) | 21.12 (з: семинар) | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Сазыкин Дима | + | + | + | + | + | + | + | + | + | + | + | + | + | |
| Зотиков Дима | + | + | + | + | + | + | + | + | + | + | + | + | + | |
| Суровикина Тамара | + | + | + | + | + | + | + | + | + | + | + | + | + | |
| Федорченко Сергей | + | + | + | + | + | +* | + | + | + | + | + | + | ||
| Арцыман Илья |
+* – комиссия у Сергея на следующий день после занятия. Преподаватель осознаёт глубину проблемы :) Тест прорешан.