Я всегда был в значительной степени независимым учеником, собирающим то, что могу, из Википедии и разных книг. Тем не менее, я боюсь, что я, возможно, предусмотрел мое самообразование путем непреднамеренного упущения тем и концепций. Моя цель - научить меня эквиваленту степени бакалавра в области компьютерных наук из высшего университета (неважно, какой из них).
С этой целью я купил и начал читать несколько академических учебников:
- Структура и интерпретация компьютерных программ
- Введение в алгоритмы
- Искусственный интеллект: современный подход
Как и несколько учебников, которые я оставил после занятий, которые я взял в среднем, лучшем государственном университете:
- Введение в методы компьютерного моделирования
- Исчисление: понятия и подключения
- Компьютерная организация и архитектура
- Концепции операционной системы
- Первый курс в системах баз данных
- Официальные языки и автоматы
Мои вопросы:
- Какие темы не охватываются этой коллекцией?
- Существуют ли более строгие или тщательные (или даже более простые) книги, чем книги, перечисленные здесь?
- Есть ли какие-нибудь книги, которые являются пустой тратой моего времени?
- В каком порядке я должен читать книги?
- Что делает MIT или Stanford (или UCB или CMU...) учиться, что я могу пропустить?
Книги по разработке программного обеспечения приветствуются, но только в контексте академического обучения. Я знаю Code Complete и Pragmatic Programmer, но я ищу более теоретический подход. Благодарю!