Самообразование в компьютере-науке
Полностью бесплатная программа для изучения курса по информатике по курсу
Введение в информатику (1-2 недели)
- Обзор информатики
- Введение в программирование
- Обзор алгоритмов и структур данных
- Основная компьютерная организация и архитектура
Ресурсы:
- Введение в информатику Гарвардским университетом на EDX
- Codecademy's научится кодировать курс
Основы программирования (4-6 недель)
- Введение в язык программирования Python
- Операторы управления
- Типы данных и структуры
- Функции и модули
- Входные и выходные операции
- Отладка и обработка ошибок
- Объектно-ориентированные концепции программирования
Ресурсы:
- Python для всех, Университет Мичигана на Coursera
- Узнайте Python трудным путем Зеда Шоу
Структуры данных и алгоритмы (12-16 недель)
- Основные структуры данных (массивы, связанные списки, стеки, очереди)
- Усовершенствованные структуры данных (деревья, графики, хэш -таблицы)
- Анализ и дизайн алгоритма
- Алгоритмы поиска и сортировки
- Рекурсия
- Динамическое программирование
- Жадные алгоритмы
- Алгоритмы разделения и завоевания
Ресурсы:
- Структуры данных и специализация алгоритмов в Калифорнийском университете в Сан -Диего на Coursera
- Введение в алгоритмы MIT Press
Компьютерная архитектура и системы (8-12 недель)
- Обзор компьютерного оборудования и программного обеспечения
- Операционные системы
- Управление памятью
- Системы ввода/вывода
- Компьютерные сети
- Распределенные системы
Ресурсы:
- Компьютерная архитектура Принстонского университета на Coursera
- Операционные системы: три простых произведения Ремзи Х. Арпачи-Дюссо и Андреа С. Арпачи-Дюссо
Системы баз данных (8-12 недель)
- Введение в базы данных
- Системы реляционных баз данных (SQL)
- Конструкция базы данных и нормализация
- Запрос и манипулирование данными
- Администрирование базы данных
Ресурсы:
- Введение в базы данных Стэнфордского университета на Coursera
- SQLBOLT (онлайн -интерактивные учебники SQL)
Веб-разработка (8-12 недель)
- Фронтовая разработка (HTML, CSS, JavaScript)
- Бэк-энд разработка (веб-фреймворки, программирование на стороне сервера)
- Интеграция базы данных (SQL, ORM)
- Безопасность и аутентификация
Ресурсы:
- Проект ODIN (бесплатная учебная программа для веб-разработки с полным стеком)
- Freecodecamp (бесплатная учебная программа веб -разработки)
Разработка программного обеспечения (8-12 недель)
- Жизненный цикл разработки программного обеспечения
- Управление программным проектом
- Требования инженерия
- Тестирование и обеспечение качества
- Техническое обслуживание и эволюция программного обеспечения
Ресурсы:
- Основные средства по разработке программного обеспечения Университета Колорадо Боулдер на Coursera
- Мифический мужчина-месяц Фредерика П. Брукс-младшего.
Искусственный интеллект и машинное обучение
- Обзор искусственного интеллекта и машинного обучения
- Под наблюдением алгоритмов обучения (линейная регрессия, логистическая регрессия, деревья решений, поддержка векторных машин, K-ближайшие соседи, наивные байесы) (4-6 недель)
- Неконтролируемые алгоритмы обучения (кластеризация, снижение размерности) (4-6 недель)
- Подкрепление обучения
- Нейронные сети и глубокое обучение (4-6 недель)
- Обработка естественного языка
- Компьютерное зрение
Ресурсы:
- Машинное обучение Эндрю Нг на Coursera
- Глубокое обучение Йошуа Бенгио, Яна Гудфеллоу и Аарона Курвилла
Компьютерная графика и визуализация (8-12 недель)
- Графические трубопроводы
- Геометрические преобразования
- 2D и 3D -примитивы графики
- Методы рендеринга (трассировка лучей, растизация)
- Анимация и симуляция
- Методы визуализации
Ресурсы:
- Компьютерная графика Университета Токио на EDX
- Рендеринг в режиме реального времени от Томаса Акенана-Мёллера, Эрика Хейнса и Нати Хоффмана
Взаимодействие человека с компьютером (8-12 недель)
- Принципы дизайна пользовательского интерфейса
- Пользовательские процессы проектирования
- Изудовольство тестирование и оценка
- Дизайн взаимодействия
- Информационная визуализация
- Доступность
Ресурсы:
- Взаимодействие человека с компьютером Калифорнийского университета Сан-Диего на Курсеру
- Не заставляй меня думать, Стив Круг
Кибербезопасность (8-12 недель)
- Сетевая безопасность
- Криптография
- Аутентификация и контроль доступа
- Анализ и обнаружение вредоносных программ
- Оценка риска безопасности и управление
Ресурсы:
- Введение в кибербезопасность от Нью -Йоркского университета Школы инженерной школы на EDX
- Инженерия безопасности Росса Дж. Андерсона
Инструменты разработки программного обеспечения (4-6 недель)
- Системы управления версиями (GIT)
- Интегрированные среды разработки (IDE)
- Инструменты отладки и профилирования
- Автоматизация сборки и непрерывная интеграция (Дженкинс)
Ресурсы:
- Git handbook by github
- Учебник Eclipse IDE от Vogella
Математика для компьютерных наук (8-12 недель)
- Дискретная математика
- Линейная алгебра
- Вероятность и статистика
- Исчисление
- Теория чисел
Ресурсы:
- Математика для компьютерных наук от Массачусетского технологического института на Opencourseware MIT
- Линейная алгебра Гилберта Странга на MIT OpenCourseware
Этика и общество в области компьютеров (8-12 недель)
- Этические проблемы в вычислениях
- Социальные и политические последствия вычислений
- Проблемы конфиденциальности и безопасности
- Интеллектуальная собственность и авторские права
- Глобальное влияние вычислительных вычислений
Ресурсы:
- Компьютер и общество Гарвардского университета на EDX
- Код: Силиконовая долина и переделка Америки Маргарет О'Мара
Надеюсь, это будет полезно для всех читателей так же, как и для меня выгодно. Пожалуйста, имейте в виду все предполагаемые времена, чтобы закончить эти курсы, основанные на работе на полный рабочий день во время обучения.