С++, 422 гр., спец. СМ (14.Б02-мм)

«Программирование для решения вероятностных задач» и Практикум по СПП
Место и время проведения: пятница, третья и четвертая пары, обе в ауд. 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 на сайте автора.

  1. Бьерн Страуструп. Язык программирования Сplusplus.
  2. Эккель Б. Философия Сplusplus. Введение в стандартный Сplusplus.
  3. Эккель Б. Философия Сplusplus. Практическое программирование.

Занятия по C++ advanced

  1. 22/09/2017 (две пары). Множественное наследование. Виртуальный базовый класс. RTTI (typeid, dynamic_cast). «Виртуальный конструктор».
  2. 29/09/2017 (одна пара). Исключения: семантика, исключения в конструкторе, stack unwinding, set_terminate, noexcept, «голые» и «одетые» указатели.
  3. 06/10/2017 (две пары). Умные указатели, стандартные исключения, RAII. Move semantics. Введение в шаблоны.
  4. 13/10/2017 (одна пара). Конкретизация шаблонов, специализация шаблонов, typename внутри шаблона, template template parameter.
  5. 20/10/2017 (две пары). Паттерны с traits и policy, policy через SFINAE, type_traits. Метапрограммирование, вычисления на этапе компиляции через шаблоны/constexpr (Cplusplus 11 и Cpusplus 14). Решение задач метапрограммирования на < =11 версии.
  6. 27/10/2017 (одна пара). Форматирование в Cplusplus. Потоковый ввод-вывод: создание своих манипуляторов, fstream (режимы открытия, ошибочные состояния, getline, get, копирование файлов: посимвольное, построковое, поблочное, через streambuf и rdbuf()), stringstream.
  7. 03/11/2017 (одна пара+). Немного про Qt. STL: общая структура, обзор контейнеров с трудоемкостью операций, иерархия концепций итераторов, итераторы прямой и обратный, итераторы вставки, итераторы для потоков ввода-вывода. Алгоритм copy.
  8. 10/11/2017 (1.5 пары). Общая структура алгоритмов STL. Умение написать свой copy. Лямбды, лямбды как замыкания. Алгоритмы для работы с числовыми последовательностями, упорядоченными множествами, перестановками. Общее представление о коде адапторов, примеры работы с (multi)set, (multi)map. Задание про словарь.
  9. 17/11/2017 (1 пара). Алгоритмы поиска, сортировки, бин. поиска, и т.п. Контейнеры: bitset, valarray. Заголовочные файлы limits, complex.
  10. 24/11/2017 (1 пара). Многопоточность в Cplusplus11: thread (join(), detach()), mutex (unique_lock, lock_guard), std::lock, std::async, std::future, std::packaged_task, std::promise, std::condition_variable + for по контейнеру

Архив за 2017 год


Материалы в виде архивов к занятиям в прошлые годы (+прошлогодняя программа)

  1. 28/09/2016 (две пары). Множественное наследование. Виртуальный базовый класс. RTTI (typeid, dynamic_cast). Исключения (самое начало).
  2. 05/10/2016 (одна пара). Исключения: семантика, исключения в конструкторе, cleanup, set_terminate, noexcept, «голые» и «одетые» (начало) указатели.
  3. 12/10/2016 (две пары). Умные указатели, стандартные исключения, RAII. Move semantics. Шаблоны (самое начало).
  4. 19/10/2016 (одна пара). Конкретизация шаблонов, специализация шаблонов, typename внутри шаблона, template template parameter.
  5. 26/10/2016 (одна пара). Паттерны с traits и policy, метапрограммирование.
  6. 02/11/2016 (две пары). Завершение шаблонов: type_traits, понятие о SFINAE, friend'ы. Немного о STL-ном <vector>. Самое начало форматирования.
  7. 09/11/2016 (одна пара). Форматирование.Потоковый ввод-вывод: создание своих манипуляторов, fstream (режимы открытия, ошибочные состояния, getline, get, копирование файлов: посимвольное, построковое, поблочное, через streambuf и rdbuf()), stringstream.
  8. 16/11/2016 (две пары). STL: общая структура, обзор контейнеров с трудоемкостью операций, иерархия концепций итераторов, итераторы прямой и обратный, итераторы вставки, итераторы для потоков ввода-вывода. Алгоритм copy, replace (с особенностью работы). Самодельный copy.
  9. 23/11/2016 (две пары). Общая структура алгоритмов STL. Умение написать свой transform, for_each. Лямбды, лямбды как замыкания. Алгоритмы для работы с числовыми последовательностями, упорядоченными множествами, перестановки.
  10. 30/11/2016 (две пары). Завершение STL: manipulations.cpp (комментарий об ошибке автора файла), SearchReplace.cpp. Алгоритмы поиска, сортировки, бин. поиска, и т.п. Примеры на использование map/set. Задание про словарь. Контейнеры: bitset, valarray.
  11. 07/12/2016 (две пары). Разное: limits, complex. Новые возможности языка. Немного про Qt, qtcreator.

========================================

Архив за 2016 год

Совсем старые годы (материалы от НЭ):

  1. (08/09/2010). Множественное наследование. Виртуальный базовый класс. «Виртуальные конструкторы».
  2. (16/09/2009). RTTI (typeid, dynamic_cast), вспомнили static_cast, const_cast, reinterpret_cast. Вспомнили assert. Исключения - начало.
  3. (23/09/2009). Исключения (как выбрасывать, как ловить), исключения в конструкторах, «голые» указатели, set_unexpected, set_terminate, auto_ptr.
  4. (25/09/2013). cleanup, «голые» указатели, auto_ptr, unique_ptr, shared_ptr, weak_ptr.
  5. (30/09/2009). Окончание темы про исключения («одетые» указатели, стандартные классы исключений). Строки (string). Шаблоны - начало.
  6. (07/10/2009). Шаблоны: компиляция программы с шаблонами (зависимые имена, инстанцирование (конкретизация) шаблона), параметр шаблона для задания области видимости, использование typename внутри шаблона, шаблон в качестве параметра шаблона, специализация шаблонов.
  7. (14/10/2009 09/10/201316/10/2013). Шаблоны: специализация шаблонов, паттерны с traits (идея с использованием typedef для задания разным типам одинаковых псевдонимов) и policy, псевдорекурсия при наследовании от шаблонного класса без типо-зависимых элементов, метапрограммирование на этапе компиляции, функции-друзья шаблонные/нешаблонные.
  8. (21/10/2009). Немного о vector из STL: size, capacity, reserve и пр. Потоковый ввод-вывод: общее устройство, флаги форматирования, форматированный вывод, манипуляторы.
  9. (28/10/2009). Потоковый ввод-вывод: создание своих манипуляторов, fstream (режимы открытия, ошибочные состояния, getline, get, копирование файлов: посимвольное, построковое, поблочное, через streambuf и rdbuf()), stringstream (в частности, разбор строки на слова). Домашнее задание - разбор файл с табличными данными.
  10. (11/11/2009 13/11/2013). STL: общая структура, обзор контейнеров с трудоемкостью операций, иерархия концепций итераторов, итераторы прямой и обратный, итераторы вставки, итераторы для потоков ввода-вывода. Общая структура алгоритмов STL (умение самостоятельно написать реализацию алгоритма на примере copy и transform).
  11. (18/11/2009). STL: продолжение про алгоритмы на примере replace, replace_if, replace_copy, replace_copy_if. Также - алгоритм типа remove (принцип неудаления элементов после remove, разница между last и end). Функциональные объекты, стандартные функц.объекты из <functional>. Суммирование элементов контейнера с помощью for_each. Алгоритмы работы с числовыми последовательностями (accumulate, inner_product, partial_sum), алгоритмы для работы с множествами (объединение, пересечение и пр.)
  12. (25/11/2009 20/11/2013). STL: адаптеры стек, очередь, очередь с приоритетами; ассоциативные контейнеры set, multiset, map, multimap. Алгоритмы перестановки, поиска, сортировки и пр.: из книги Эккеля manipulations.cpp, SearchReplace.cpp, Nstring.h
  13. (02/12/2009). STL: Алгоритмы сравнения, бин.поиска, сортировки, удаления и пр. Контейнеры bitset, valarray. Разное: limits, complex.

—-

Результаты посещений занятий

22.09 29.09 06.10 13.10 20.10 27.10 03.11 10.11 17.11 24.11 01.12 08.12 15.12 (???) 22.12 (???)
Быков Кирилл +* + + + + + + + +* +
Лунев Иван + + + + + + + + + +
Федоров Никита + + + + + + + + + +
Страшко Владислав + + + + + + + +* + +
Третьякова Александра + + + + + + + + + +
Романова Елизавета + + + + + + + + + +
Зенкова Наталья + + + + + + + + + +
Понизова Вероника + + + + + + + + +* +

Результаты сдачи заданий и домашек

Сайт Консольная опт. 1 Консольная опт. 2 Графическая опт. Домашка (I/O) Домашка (словарь) Домашка (многопоточность) Зачёт
Быков Кирилл + см. + + + + + +
Лунев Иван + см. + + + + + +
Федоров Никита + см. + + + +
Страшко Владислав + см. + + + + + +
Третьякова Александра + см. + + + + + +
Романова Елизавета + см. + + + + + +
Зенкова Наталья + см. + + + +
Понизова Вероника + см. + + + + + +
study/fall2017/4cpp_pract.txt · Последнее изменение: 2017/12/24 21:08 — nikita
Наверх
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0