Алгоритмы и языки программирования: различия между версиями

Материал из Кружковое движение
Перейти к навигации Перейти к поиску
Строка 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

Алгоритмы

Алгоритмы
Название курса Источник / Организация Источник Длина курса

Stepik / CSC

Любой

14 часов видео

Stepik / CSC

Любой

6 часов видео, 20 задач

Stepik / ТУСУР

Любой

8 часов видео, 250 тестов

Stepik / CSC

Старшая школа и студенты

14 часов видео

Stepik / CSC

Старшая школа и студенты

13 часов видео, 100 тестов

Python

Python
Название курса Источник / Организация Источник Длина курса

Stepik

Любой

21 урок, 150 задач

Coursera / ВШЭ

Любой

70 часов на выполнение

Stepik / Институт Биоинформатики

Любой

4 часа видео, 100 тестов

Stepik / Институт Биоинформатики

Любой

5 часов видео, 50 тестов

Coursera / МФТИ и mail.ru

Любой

48 часов на выполнение

Coursera / МФТИ и mail.ru

Любой

34 часов на выполнение

Coursera / МФТИ и mail.ru

Любой

68 часов на выполнение

Coursera / МФТИ и mail.ru

Старшая школа и студенты

50 часов на выполнение

Stepik / CSC

Любой

3 часа видео, 25 тестов

Stepik / JetBrains

Любой

50 задач

C++

C++
Название курса Источник / Организация Источник Длина курса

Stepik / Яндекс и ВШЭ

Любой

2 часа видео, 100 задач

Stepik / CSC

Любой

10 часов видео, 50 задач

Stepik / CSC

Старшая школа и студенты

7 часов видео, 50 задач

Coursera / МФТИ и Яндекс

Старшая школа и студенты

48 часов на выполнение

Coursera / МФТИ и Яндекс

Старшая школа и студенты

51 часов на выполнение

Coursera / МФТИ и Яндекс

Старшая школа и студенты

70 часов на выполнение

Coursera / МФТИ и Яндекс

Старшая школа и студенты

74 часов на выполнение

Coursera / МФТИ и Яндекс

Старшая школа и студенты

52 часов на выполнение

Stepik / mail.ru

Старшая школа и студенты

16 часов видео, 50 тестов

Stepik / mail.ru

Старшая школа и студенты

14 часов видео, 50 тестов

C#

Java

Kotlin