Open Source Society University
Путь к бесплатному самообразованию в области компьютерных наук!
Open Source Society University (OSSU)
Выравнивание по центру
Путь к свободному самообучению в области информатики!
Учебный план OSSU представляет собой полное образование в области компьютерных наук с использованием онлайн-материалов. Он предназначен не только для профессионального обучения или повышения квалификации. Это для тех, кто хочет получить надлежащее, всестороннее представление о концепциях, фундаментальных для всех вычислительных дисциплин, и для тех, у кого есть дисциплина, воля и (что наиболее важно!) хорошие привычки, чтобы получить это образование в основном самостоятельно, но при поддержке мирового сообщества единомышленников.
Он разработан в соответствии с требованиями степени бакалавра компьютерных наук, за исключением требований общего образования (не связанных с CS), поскольку предполагается, что большинство людей, следующих этому учебному плану, уже получили образование вне области CS. Сами курсы являются одними из лучших в мире, часто поступающими из Гарварда, Принстона, MIT и т. д., но специально подобранными для соответствия следующим критериям.
Курсы должны:
Когда ни один курс не соответствует вышеуказанным критериям, курсовая работа дополняется книгой. Когда есть курсы или книги, которые не вписываются в учебный план, но в остальном имеют высокое качество, они относятся к extras/courses или extras/readings.
Организация. Учебный план разработан следующим образом:
Продолжительность. Можно закончить примерно за 2 года, если тщательно спланировать и уделять учёбе примерно 20 часов в неделю. Учащиеся могут использовать эту таблицу, чтобы оценить дату окончания. Сделайте копию и введите дату начала и ожидаемое количество часов в неделю на листе «График». По мере прохождения курсов вы можете вводить фактические даты завершения курсов на листе «Данные учебного плана» и получать обновлённые оценки завершения.
Стоимость. Все или почти все материалы курса доступны бесплатно. Однако некоторые курсы могут взимать плату за задания/тесты/проекты, которые будут оцениваться. Обратите внимание, что и Coursera, и edX предлагают финансовую помощь.
Решите, сколько или как мало тратить, исходя из своего времени и бюджета; просто помните, что вы не можете купить успех!
Процесс. Студенты могут работать над учебным планом в одиночку или в группах, по порядку или не по порядку.
Мы рекомендуем пройти все курсы основного CS, пропуская курс только тогда, когда вы уверены, что уже изучили его. Материал ранее.
Для простоты мы рекомендуем проходить курсы (особенно Core CS) в порядке, начиная с верхнего, так как они уже были топологически отсортированы по своим предварительным требованиям.
Курсы Advanced CS являются факультативными. Выберите одну тему (например, продвинутое программирование), в которой вы хотите стать экспертом, и пройдите все курсы под этим заголовком. Вы также можете создать свою собственную тему, но мы рекомендуем получить одобрение сообщества по выбранной вами теме.
Политика содержания. Если вы планируете публично демонстрировать некоторые из своих курсовых работ, вы должны делиться только файлами, которые вам разрешено использовать. Не нарушайте кодекс поведения, который вы подписали в начале каждого курса!
Получение помощи (подробности о нашем FAQ и чате)
Версия учебной программы: 8.0.0
(см. CHANGELOG)
Если вы никогда не писали цикл for или не знаете, что такое строка в программировании, начните здесь. Этот курс является самостоятельным, позволяя вам регулировать количество часов, которые вы тратите в неделю, в соответствии со своими потребностями.
Темы:
простые программы
простые структуры данных
Курсы | Длительность | Усилия | Предварительные требования | Обсуждение |
---|---|---|---|---|
Python для всех | 10 недель | 10 часов/неделю | нет | чат Завершите курс, желая большего: компьютерные науки — это то, что вам нужно! |
Темы:
Курсы | Длительность | Затраты времени | Предпосылки | Обсуждение |
---|---|---|---|---|
Введение в компьютерные науки и программирование с использованием Python (альтернативный источник) | 9 недель | 15 часов в неделю | знания алгебры на уровне средней школы | чат |
Все курсовые работы по основным компьютерным наукам являются обязательными, если не указано иное.
Темы:
Курсы «Как программировать» основаны на учебнике «Как проектировать программы» (htdp.org). Первое издание доступно бесплатно онлайн и включает задачи и решения. Студентам рекомендуется выполнять эти задания.
Курсы | Длительность | Затраты времени | Предпосылки | Обсуждение |
---|---|---|---|---|
Как программировать — простые данные | 7 недель | 8–10 часов в неделю | нет | чат |
Как программировать — сложные данные | 6 недель | 8–10 часов в неделю | Как программировать: простые данные | чат |
Языки программирования, часть A | 5 недель | 4–8 часов в неделю | Как программировать | чат |
Языки программирования, часть B | 3 недели | 4–8 часов в неделю | Языки программирования, часть А | чат |
Языки программирования, часть C | 3 недели | 4–8 часов в неделю | Языки программирования, часть В | чат |
Объектно-ориентированный дизайн | 4 недели | 4 часа в неделю | Основы Java | |
Шаблоны проектирования | 4 недели | 4 часа в неделю | Объектно-ориентированный дизайн | |
Архитектура программного обеспечения | 4 недели | 2–5 часов в неделю | Шаблоны проектирования |
Дискретная математика (математика для компьютерных наук) является предпосылкой и тесно связана с изучением алгоритмов и структур данных. Исчисление готовит студентов к дискретной математике и помогает им развить математическую зрелость.
Темы:
Курсы | Длительность | Затраты времени | Примечания | Предпосылки | Обсуждение |
---|---|---|---|---|---|
Исчисление 1А: дифференцирование (альтернатива) | 13 недель | 6–10 часов в неделю | Альтернатива охватывает этот и следующие 2 курса | знания математики на уровне средней школы | чат |
Исчисление 1B: интегрирование | 13 недель | 5–10 часов в неделю | — | Исчисление 1A | чат |
Исчисление 1C: системы координат и бесконечные ряды | 6 недель | 5–10 часов в неделю | — | Исчисление 1B | чат Математика для компьютерных наук |
Mathematics for Computer Science (alt) | 13 недель | 5 часов в неделю | Решения за 2015 и 2019 годы, решения за 2010 год, решения за 2005 год. | Математический анализ 1C | чат
Понимание теории важно, но от вас также ожидают создания программ. Существует ряд инструментов, которые широко используются для облегчения этого процесса. Изучите их сейчас, чтобы облегчить себе будущую работу по написанию программ.
Темы:
Курсы | Длительность | Объём работы | Предпосылки | Обсуждение |
---|---|---|---|---|
The Missing Semester of Your CS Education | 2 недели | 12 часов в неделю | — | чат |
Темы:
Курсы | Длительность | Объём работы | Дополнительные материалы / задания | Предпосылки | Обсуждение |
---|---|---|---|---|---|
Build a Modern Computer from First Principles: From Nand to Tetris (альтернативный курс) | 6 недель | 7–13 часов в неделю | — | Язык программирования, похожий на C | чат |
Build a Modern Computer from First Principles: Nand to Tetris Part II | 6 недель | 12–18 часов в неделю | — | Один из этих языков программирования, курс «Build a Modern Computer from First Principles: From Nand to Tetris» | чат |
Operating Systems: Three Easy Pieces | 10–12 недель | 6–10 часов в неделю | — | Хорошее знание языка C | чат |
Computer Networking: a Top-Down Approach | 8 недель | 4–12 часов в неделю | Wireshark Labs | Алгебра, теория вероятности, основы CS | чат |
Темы:
Курсы | Длительность | Объём работы | Предпосылки | Обсуждение |
---|---|---|---|---|
Divide and Conquer, Sorting and Searching, and Randomized Algorithms | 4 недели | 4-8 часов в неделю | Любой язык программирования, курс «Математика для компьютерных наук» | чат |
Graph Search, Shortest Paths, and Data Structures | 4 недели | 4-8 часов в неделю | Курс «Divide and Conquer, Sorting and Searching, and Randomized Algorithms» | чат |
Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming | 4 недели | 4-8 часов в неделю | Курс «Graph Search, Shortest Paths, and Data Structures» | чат |
Shortest Paths Revisited, NP-Complete Problems and What To Do About Them | 4 недели | 4-8 часов в неделю | Курс «Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming» | чат |
Темы:
Компиляторы
Введение в Haskell
Изучаем Prolog сейчас!
Отладка программного обеспечения
Тестирование программного обеспечения
Продвинутые системы
Темы:
Курсы | Длительность | Затраты времени | Необходимые знания | Примечания |
---|---|---|---|---|
Структуры вычислений 1: Цифровые схемы |
Структуры вычислений 2: Архитектура компьютера
Структуры вычислений 3: Организация компьютера
Продвинутое теоретическое обучение
Темы:
Курсы | Длительность | Затраты времени | Необходимые знания |
---|---|---|---|
Теория вычислений |
Вычислительная геометрия
Теория игр
Информационная безопасность
Курсы | Длительность | Затраты времени | Необходимые знания |
---|---|---|---|
Основы веб-безопасности |
Управление безопасностью и соблюдение требований
Концепции цифровой криминалистики
Безопасное программирование: требования, дизайн и повторное использование
Безопасное программирование: реализация
Безопасное программирование: проверка и дополнительные специализированные темы
Вы можете изменить статус своей доски на «публичный» или «частный».
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )