Алгоритмы и языки программирования: различия между версиями
EM (обсуждение | вклад) (→Python) |
EM (обсуждение | вклад) (→C++) |
||
Строка 513: | Строка 513: | ||
==C++== |
==C++== |
||
+ | |||
+ | <!-- ****************************** --> |
||
+ | <!-- Table Format - do not touch --> |
||
+ | {| class="a" style="width:100%;" border="1" style="width:100%; border-collapse:collapse"|+ |
||
+ | <!-- Table name --> |
||
+ | '''C++''' |
||
+ | <!-- Table headers - do not touch --> |
||
+ | ! style="background: #EAECF0;"| Название курса||style="background: #EAECF0;"|Источник / Организация||style="background: #EAECF0;"|Источник||style="background: #EAECF0;"|Длина курса |
||
+ | <!-- ****************************** --> |
||
+ | <!-- Course 1 --> |
||
+ | |- |
||
+ | | |
||
+ | <!-- Course format do not touch --> |
||
+ | {| role="presentation" class="a mw-collapsible mw-collapsed" style="border:1px solid white;" |
||
+ | | style="border:1px solid white;"|<strong>[https://stepik.org/course/363/promo Введение в программирование на C++]</strong> |
||
+ | |- |
||
+ | <!-- Course content format do not touch --> |
||
+ | | style="border:1px solid white;"| |
||
+ | <!-- Course content --> |
||
+ | * Знакомство со средой разработки |
||
+ | * целые числа |
||
+ | * циклы |
||
+ | * массивы |
||
+ | * функции и рекурсия |
||
+ | * строки и символы |
||
+ | * словари и множества |
||
+ | * алгоритмы STL |
||
+ | |} |
||
+ | <!-- Formating do not touch --> |
||
+ | |style="text-align:center;"| |
||
+ | [[Stepik]] / [[Яндекс]] и [[ВШЭ]] |
||
+ | |style="text-align:center;"| |
||
+ | [[Материалы для любого возраста|Любой]] |
||
+ | |style="text-align:center;"| |
||
+ | 2 часа видео, 100 задач |
||
+ | <!-- ****************************** --> |
||
+ | <!-- Course 2 --> |
||
+ | |- |
||
+ | | |
||
+ | <!-- Course format do not touch --> |
||
+ | {| role="presentation" class="a mw-collapsible mw-collapsed" style="border:1px solid white;" |
||
+ | | style="border:1px solid white;"|<strong>[https://stepik.org/course/7/promo Программирование на языке C++]</strong> |
||
+ | |- |
||
+ | <!-- Course content format do not touch --> |
||
+ | | style="border:1px solid white;"| |
||
+ | <!-- Course content --> |
||
+ | '''Введение в язык C++''' |
||
+ | * Характеристики языка C++ |
||
+ | * Структура кода на C++ |
||
+ | * Как компилируется программа на C++ |
||
+ | * синтаксис C++ |
||
+ | '''Как выполняются программы''' |
||
+ | * Как выполняются программы на C++ |
||
+ | * Стек вызовов |
||
+ | * Указатели, массивы, ссылки |
||
+ | * Динамическая память |
||
+ | * Многомерные массивы |
||
+ | * Строки и ввод-вывод |
||
+ | '''Структуры и классы''' |
||
+ | * Структуры, методы |
||
+ | * Конструкторы и деструкторы |
||
+ | * Объекты и классы, модификаторы доступа |
||
+ | * Константность |
||
+ | * Конструктор копирования и оператор присваивания |
||
+ | * Класс массива |
||
+ | '''Объектно-ориентированное программирование''' |
||
+ | * Наследование, перегрузка, виртуальные методы |
||
+ | * Таблица виртуальных методов |
||
+ | * Объектно-ориентированное программирование |
||
+ | * Особенности наследования в C++ |
||
+ | '''Дополнительные возможности C++''' |
||
+ | * Перегрузка операторов |
||
+ | * Правила переопределения операторов |
||
+ | * Умные указатели |
||
+ | * Ключевые слова static, inline и friend |
||
+ | * Шаблон проектирования Singleton |
||
+ | '''Шаблоны''' |
||
+ | * Шаблоны классов и функций |
||
+ | * Специализация шаблонов |
||
+ | * Ещё о шаблонах |
||
+ | |} |
||
+ | <!-- Formating do not touch --> |
||
+ | |style="text-align:center;"| |
||
+ | [[Stepik]] / [[CSC]] |
||
+ | |style="text-align:center;"| |
||
+ | [[Материалы для любого возраста|Любой]] |
||
+ | |style="text-align:center;"| |
||
+ | 10 часов видео, 50 задач |
||
+ | <!-- ****************************** --> |
||
+ | <!-- Course 3 --> |
||
+ | |- |
||
+ | | |
||
+ | <!-- Course format do not touch --> |
||
+ | {| role="presentation" class="a mw-collapsible mw-collapsed" style="border:1px solid white;" |
||
+ | | style="border:1px solid white;"|<strong>[https://stepik.org/course/3206/promo Программирование на языке C++ (продолжение)]</strong> |
||
+ | |- |
||
+ | <!-- Course content format do not touch --> |
||
+ | | style="border:1px solid white;"| |
||
+ | <!-- Course content --> |
||
+ | '''продвинутые возможности C++''' |
||
+ | * Множественное наследование |
||
+ | * Преобразование в стиле C++ |
||
+ | * Информации о типах времени выполнения |
||
+ | * Указатели на функции, методы и поля класса |
||
+ | * Пространства имён |
||
+ | '''Нововведения стандартов C++11 и C++14''' |
||
+ | * Стандарты C++11 и C++14 |
||
+ | * Семантика перемещения |
||
+ | * Как работают rvalue-ссылки |
||
+ | '''Стандартная библиотека шаблонов''' |
||
+ | * Стандартная библиотека шаблонов |
||
+ | * Последовательные и ассоциативные контейнеры |
||
+ | * Итераторы и умные указатели |
||
+ | * Алгоритмы |
||
+ | '''Обработка ошибок''' |
||
+ | * Обработка ошибок |
||
+ | * Исключения в деструкторах и конструкторах |
||
+ | * Спецификация исключений |
||
+ | * Гарантии безопасности исключении? |
||
+ | '''Многопоточность, библиотеки и метапрограммирование''' |
||
+ | * Многопоточное программирование |
||
+ | * Коллекция библиотек Boost |
||
+ | * Метапрограммирование: основы |
||
+ | * Метапрограммирование: генерация классов и проверка свойств |
||
+ | |} |
||
+ | <!-- Formating do not touch --> |
||
+ | |style="text-align:center;"| |
||
+ | [[Stepik]] / [[CSC]] |
||
+ | |style="text-align:center;"| |
||
+ | [[Материалы для старшей школы и студентов| Старшая школа и студенты]] |
||
+ | |style="text-align:center;"| |
||
+ | 7 часов видео, 50 задач |
||
+ | <!-- ****************************** --> |
||
+ | <!-- Course 4 --> |
||
+ | |- |
||
+ | | |
||
+ | <!-- Course format do not touch --> |
||
+ | {| role="presentation" class="a mw-collapsible mw-collapsed" style="border:1px solid white;" |
||
+ | | style="border:1px solid white;"|<strong>[https://ru.coursera.org/learn/c-plus-plus-white Основы разработки на C++: белый пояс]</strong> |
||
+ | |- |
||
+ | <!-- Course content format do not touch --> |
||
+ | | style="border:1px solid white;"| |
||
+ | <!-- Course content --> |
||
+ | * Знакомство с искусством C++, основные конструкции, типы данных |
||
+ | * Техника владения функциями и контейнерами |
||
+ | * Медитация над алгоритмами и классами |
||
+ | * Ката по вводу/выводу, исключениям и перегрузке операторов |
||
+ | * Первое кумитэ |
||
+ | |} |
||
+ | <!-- Formating do not touch --> |
||
+ | |style="text-align:center;"| |
||
+ | [[Coursera]] / [[МФТИ]] и [[Яндекс]] |
||
+ | |style="text-align:center;"| |
||
+ | [[Материалы для старшей школы и студентов| Старшая школа и студенты]] |
||
+ | |style="text-align:center;"| |
||
+ | 48 часов на выполнение |
||
+ | <!-- ****************************** --> |
||
+ | <!-- Course 5 --> |
||
+ | |- |
||
+ | | |
||
+ | <!-- Course format do not touch --> |
||
+ | {| role="presentation" class="a mw-collapsible mw-collapsed" style="border:1px solid white;" |
||
+ | | style="border:1px solid white;"|<strong>[https://ru.coursera.org/learn/c-plus-plus-yellow Основы разработки на C++: жёлтый пояс]</strong> |
||
+ | |- |
||
+ | <!-- Course content format do not touch --> |
||
+ | | style="border:1px solid white;"| |
||
+ | <!-- Course content --> |
||
+ | * Целочисленные типы, кортежи, шаблонные функции |
||
+ | * Тестирование и отладка |
||
+ | * Распределение кода по файлам |
||
+ | * Итераторы, алгоритмы и контейнеры |
||
+ | * Наследование и полиморфизм |
||
+ | * Курсовой проект |
||
+ | |} |
||
+ | <!-- Formating do not touch --> |
||
+ | |style="text-align:center;"| |
||
+ | [[Coursera]] / [[МФТИ]] и [[Яндекс]] |
||
+ | |style="text-align:center;"| |
||
+ | [[Материалы для старшей школы и студентов| Старшая школа и студенты]] |
||
+ | |style="text-align:center;"| |
||
+ | 51 часов на выполнение |
||
+ | <!-- ****************************** --> |
||
+ | <!-- Course 6 --> |
||
+ | |- |
||
+ | | |
||
+ | <!-- Course format do not touch --> |
||
+ | {| role="presentation" class="a mw-collapsible mw-collapsed" style="border:1px solid white;" |
||
+ | | style="border:1px solid white;"|<strong>[https://ru.coursera.org/learn/c-plus-plus-red Основы разработки на C++: красный пояс]</strong> |
||
+ | |- |
||
+ | <!-- Course content format do not touch --> |
||
+ | | style="border:1px solid white;"| |
||
+ | <!-- Course content --> |
||
+ | * Макросы и шаблоны классов |
||
+ | * Принципы оптимизации кода, сложность алгоритмов и эффективное использование ввода/вывода |
||
+ | * Модель памяти в C++ |
||
+ | * Эффективное использование линейных контейнеров |
||
+ | * Move-семантика и базовая многопоточность |
||
+ | * Финальная задача |
||
+ | |} |
||
+ | <!-- Formating do not touch --> |
||
+ | |style="text-align:center;"| |
||
+ | [[Coursera]] / [[МФТИ]] и [[Яндекс]] |
||
+ | |style="text-align:center;"| |
||
+ | [[Материалы для старшей школы и студентов| Старшая школа и студенты]] |
||
+ | |style="text-align:center;"| |
||
+ | 70 часов на выполнение |
||
+ | <!-- ****************************** --> |
||
+ | <!-- Course 7 --> |
||
+ | |- |
||
+ | | |
||
+ | <!-- Course format do not touch --> |
||
+ | {| role="presentation" class="a mw-collapsible mw-collapsed" style="border:1px solid white;" |
||
+ | | style="border:1px solid white;"|<strong>[https://ru.coursera.org/learn/c-plus-plus-brown Основы разработки на С++: коричневый пояс]</strong> |
||
+ | |- |
||
+ | <!-- Course content format do not touch --> |
||
+ | | style="border:1px solid white;"| |
||
+ | <!-- Course content --> |
||
+ | * Эффективное использование ассоциативных контейнеров |
||
+ | * Пространства имён и указатель this |
||
+ | * Константность и unique_ptr |
||
+ | * shared_ptr и RAII |
||
+ | * Функции: принципы понятного кода |
||
+ | * Финальная задача |
||
+ | |} |
||
+ | <!-- Formating do not touch --> |
||
+ | |style="text-align:center;"| |
||
+ | [[Coursera]] / [[МФТИ]] и [[Яндекс]] |
||
+ | |style="text-align:center;"| |
||
+ | [[Материалы для старшей школы и студентов| Старшая школа и студенты]] |
||
+ | |style="text-align:center;"| |
||
+ | 74 часов на выполнение |
||
+ | <!-- ****************************** --> |
||
+ | <!-- Course 8 --> |
||
+ | |- |
||
+ | | |
||
+ | <!-- Course format do not touch --> |
||
+ | {| role="presentation" class="a mw-collapsible mw-collapsed" style="border:1px solid white;" |
||
+ | | style="border:1px solid white;"|<strong>[https://ru.coursera.org/learn/c-plus-plus-black Основы разработки на С++: черный пояс]</strong> |
||
+ | |- |
||
+ | <!-- Course content format do not touch --> |
||
+ | | style="border:1px solid white;"| |
||
+ | <!-- Course content --> |
||
+ | * Неопределённое поведение и инструменты поиска проблем |
||
+ | * Сериализация и protobuf |
||
+ | * Хранение объектов в памяти и таблица виртуальных методов |
||
+ | * Вектор своими руками |
||
+ | * Продолжение финального проекта |
||
+ | * Задача «Электронная таблица» |
||
+ | |} |
||
+ | <!-- Formating do not touch --> |
||
+ | |style="text-align:center;"| |
||
+ | [[Coursera]] / [[МФТИ]] и [[Яндекс]] |
||
+ | |style="text-align:center;"| |
||
+ | [[Материалы для старшей школы и студентов| Старшая школа и студенты]] |
||
+ | |style="text-align:center;"| |
||
+ | 52 часов на выполнение |
||
+ | <!-- ****************************** --> |
||
+ | <!-- Course 9 --> |
||
+ | |- |
||
+ | | |
||
+ | <!-- Course format do not touch --> |
||
+ | {| role="presentation" class="a mw-collapsible mw-collapsed" style="border:1px solid white;" |
||
+ | | style="border:1px solid white;"|<strong>[https://stepik.org/course/153/promo Углубленное программирование на C/C++]</strong> |
||
+ | |- |
||
+ | <!-- Course content format do not touch --> |
||
+ | | style="border:1px solid white;"| |
||
+ | <!-- Course content --> |
||
+ | '''Углубленное программирование на языке C''' |
||
+ | * Организация и использование оперативной памяти |
||
+ | * Основы многопоточного программирования. Вопросы качества кода |
||
+ | '''Объектная модель языка C++, обобщённое программирование''' |
||
+ | * Объектно-ориентированное программирование |
||
+ | * Шаблоны классов Обобщенное и безопасное программирование |
||
+ | '''Библиотеки промышленной разработки''' |
||
+ | * Практическое введение в STL |
||
+ | * Функциональное программирование. Практическое введение в Boost |
||
+ | '''Шаблоны проектирования, основы промышленной разработки''' |
||
+ | * Принципы и шаблоны объектно-ориентированного проектирования |
||
+ | * Идиоматика C++. Основы рефакторинга и качество исходного кода. С |
||
+ | |} |
||
+ | <!-- Formating do not touch --> |
||
+ | |style="text-align:center;"| |
||
+ | [[Stepik]] / [[mail.ru]] |
||
+ | |style="text-align:center;"| |
||
+ | [[Материалы для старшей школы и студентов| Старшая школа и студенты]] |
||
+ | |style="text-align:center;"| |
||
+ | 16 часов видео, 50 тестов |
||
+ | <!-- ****************************** --> |
||
+ | <!-- Course 10 --> |
||
+ | |- |
||
+ | | |
||
+ | <!-- Course format do not touch --> |
||
+ | {| role="presentation" class="a mw-collapsible mw-collapsed" style="border:1px solid white;" |
||
+ | | style="border:1px solid white;"|<strong>[https://stepik.org/course/149/promo Многопоточное программирование на C/C++]</strong> |
||
+ | |- |
||
+ | <!-- Course content format do not touch --> |
||
+ | | style="border:1px solid white;"| |
||
+ | <!-- Course content --> |
||
+ | * Контейнеры, умные указатели, аллокаторы |
||
+ | * Сокеты Беркли, мультиплексирование |
||
+ | * Асинхронная работа с сетью |
||
+ | * Процессы, каналы, сигналы |
||
+ | * Очереди сообщений, семафоры, общая память. |
||
+ | * Потоки, средства синхронизации |
||
+ | * Параллельное программирование |
||
+ | |} |
||
+ | <!-- Formating do not touch --> |
||
+ | |style="text-align:center;"| |
||
+ | [[Stepik]] / [[mail.ru]] |
||
+ | |style="text-align:center;"| |
||
+ | [[Материалы для старшей школы и студентов| Старшая школа и студенты]] |
||
+ | |style="text-align:center;"| |
||
+ | 14 часов видео, 50 тестов |
||
+ | <!-- ****************************** --> |
||
+ | <!-- Table ending - do not touch --> |
||
+ | |} |
||
+ | <!-- ****************************** --> |
||
==C#== |
==C#== |
Версия 23:23, 23 марта 2020
Алгоритмы
АлгоритмыНазвание курса | Источник / Организация | Источник | Длина курса | ||
---|---|---|---|---|---|
|
14 часов видео | ||||
|
6 часов видео, 20 задач | ||||
|
8 часов видео, 250 тестов | ||||
|
14 часов видео | ||||
|
13 часов видео, 100 тестов |
Python
PythonНазвание курса | Источник / Организация | Источник | Длина курса | ||
---|---|---|---|---|---|
|
21 урок, 150 задач | ||||
|
70 часов на выполнение | ||||
|
4 часа видео, 100 тестов | ||||
|
5 часов видео, 50 тестов | ||||
|
48 часов на выполнение | ||||
|
34 часов на выполнение | ||||
|
68 часов на выполнение | ||||
|
50 часов на выполнение | ||||
|
3 часа видео, 25 тестов | ||||
|
50 задач |
C++
C++Название курса | Источник / Организация | Источник | Длина курса | ||
---|---|---|---|---|---|
|
2 часа видео, 100 задач | ||||
|
10 часов видео, 50 задач | ||||
|
7 часов видео, 50 задач | ||||
|
48 часов на выполнение | ||||
|
51 часов на выполнение | ||||
|
70 часов на выполнение | ||||
|
74 часов на выполнение | ||||
|
52 часов на выполнение | ||||
|
16 часов видео, 50 тестов | ||||
|
14 часов видео, 50 тестов |