Introduction to Computer Science [2022]
Введение в информатику [2022]
OTUS
Александр Коржиков
Что даст вам этот курс:
На курсе мы разберем одну из интереснейших областей знаний в IT - Computer Science. Начнем с истории и перейдем к практическим задачам.
Курс за четыре месяца знакомит с ключевыми понятиями в Computer Science: как работают компьютеры, процессоры (алгоритмы, архитектуры), операционные системы. Мы разберем основные понятия в языках программирования, поймем работу низкоуровневых и высокоуровневых языков программирования на примере Assembler, C, Python.
Этот курс даст практические навыки в фундаментальных знаниях, которые смогут помочь вам развиваться как разработчику, сделают из вас более опытного специалиста и дадут общее понимание устройства компьютера для более эффективного решения задач программирования.
Для кого этот курс:
Курс ориентирован для начинающих в IT, выпускников технических специальностей, либо специалистов, которые имеют практический опыт работы с каким-либо языком программирования, которые хотят:
1. Получить понимание аспектов работы компьютеров и принципов организации ПО;
- Повысить свою экспертизу в теории и практике системных и прикладных задач программирования;
- Научиться решать задачи, на которых построены ключевые программным концепции.
Чему вы научитесь:
- Создавать и выполнять программы на разных уровнях абстракции на примере таких языков, как Assembler, C, Python;
- Применять принципы разработки ПО с ключевыми понятиями ИТ, задачи/проекты;
- Решать низкоуровневые и алгоритмические задачки с ЯП Assembler;
- Создавать программы на C с использованием компьютерных сетей;
- Разрабатывать веб-приложения на Python;
- Применять современные практики создания ПО;
- Понимать принципы работы и развития компьютерных систем, как работают компьютеры - процессоры, алгоритмы, архитектуры, операционные системы, стэки, переключение контекстов, сети;
- Написание CLI чата на С или WebAssembly;
- Создание простого интерпретатора языка программирования;
- Написание VCS системы типа GIT на C или Python;
- Создание простейшей базы данных на C или Python;
Модуль 1 - Введение в компьютерные системы: аппаратная архитектура и язык Ассемблер
Тема 1. Введение в архитектуру компьютеров
Тема 2. Digital Logic Structures
Тема 3. Архитектура фон Неймана
Тема 4. Адресная архитектура и типы данных
Тема 5. Ввод-вывод
Тема 6. Процессор
Тема 7. Низкоуровневое программирование
Тема 8. Построение и анализ алгоритмов
Тема 2. Digital Logic Structures
Тема 3. Архитектура фон Неймана
Тема 4. Адресная архитектура и типы данных
Тема 5. Ввод-вывод
Тема 6. Процессор
Тема 7. Низкоуровневое программирование
Тема 8. Построение и анализ алгоритмов
Модуль 2 - Операционные системы
Тема 9. История создания ОС
Тема 10. Программное обеспечение Linux
Тема 11. Введение в язык программирования С
Тема 12. Компьютерные сети
Модуль 3 - Языки и ПрограммированиеТема 10. Программное обеспечение Linux
Тема 11. Введение в язык программирования С
Тема 12. Компьютерные сети
Тема 13. Парадигмы программирования: ООП, динамическое программирование
Тема 14. Функциональное программирование
Тема 15. Компиляторы, Metaprogramming, Debugging и Profiling, JVM
Тема 16. Язык программирования Python
Модуль 4 - Архитектура ПОТема 14. Функциональное программирование
Тема 15. Компиляторы, Metaprogramming, Debugging и Profiling, JVM
Тема 16. Язык программирования Python
Тема 17. Особенности Enterprise Разработки
Тема 18. Cистема управления версиями - Git
Тема 19. Работа с базами данных
Тема 20. Введение в Web
Тема 21. Разработка Веб-приложений (часть 1)
Тема 22. Разработка Веб-приложений (часть 2)
Тема 23. CI/CD (часть 1)
Тема 24. CI/CD (часть 2)
Тема 25. Анализ данных
Тема 26. Современные вычислительные технологии
Тема 27. Архитектура распределенных систем программного обеспечения
Модуль 5 - Проектная работаТема 18. Cистема управления версиями - Git
Тема 19. Работа с базами данных
Тема 20. Введение в Web
Тема 21. Разработка Веб-приложений (часть 1)
Тема 22. Разработка Веб-приложений (часть 2)
Тема 23. CI/CD (часть 1)
Тема 24. CI/CD (часть 2)
Тема 25. Анализ данных
Тема 26. Современные вычислительные технологии
Тема 27. Архитектура распределенных систем программного обеспечения
Тема 28. Итоги курса и организация проектной работы
Тема 29. Консультация по проектам и домашним заданиям
Тема 30. Защита проектных работ
Тема 29. Консультация по проектам и домашним заданиям
Тема 30. Защита проектных работ
https://otus.ru/lessons/computer-science/