Какие книги я должен считать, чтобы иметь неполное высшее образование в Информатике? [закрытый]

Указатель NULL - это тот, который указывает на никуда. Когда вы разыскиваете указатель p, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p является нулевым указателем, местоположение, хранящееся в p, является nowhere, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception.

В общем, это потому, что что-то не было правильно инициализировано.

35
задан ChrisF 25 July 2013 в 13:14
поделиться

21 ответ

Самые большие два пропуска я вижу:

Для операционных систем я предпочитаю Tanenbaum вместо Silberschatz, но оба хороши:

И о порядке, который зависел бы от Ваших интересов. Нет многих предпосылок, автоматы для компиляторов самый очевидный. Сначала прочитайте книгу автоматов и затем дракона один.

я не знаю все книги, которые Вы имеете, но те я знаю, достаточно хороши так, чтобы мог означать, что другие достойны также.

Вы пропускаете [приблизительно 113] логику и дискретная математика книги также.

И позволяют нам не забыть [приблизительно 115] книги теории баз данных !

13
ответ дан Vinko Vrsalovic 27 November 2019 в 07:02
поделиться

Файловые структуры: объектно-ориентированный подход с C++

Много хорошей информации о блочных устройствах и структурировании файла, которое Вы не найдете ни в одной из книг, что перечислили. Это получило несколько критических обзоров на Amazon, потому что людям не нравились его примеры кода, но точка книги должна преподавать понятия, не дать вырезанные и вставленные примеры кода.

Также удостоверяются, что получили книгу по компиляторам

0
ответ дан 27 November 2019 в 07:02
поделиться

У Вас должна также быть книга по общим базам данных, не идя глубоко в специфические особенности Oracle, MySQL, SQL Server, и т.д.

я рекомендовал бы: Системы баз данных: Полная Книга

1
ответ дан Ryan Guest 27 November 2019 в 07:02
поделиться

Книги по Профессиональному покрытию Разработки программного обеспечения, как проекты программного обеспечения работают, различные методологии, и разрабатывают скороговорки, являются замечательными. Знание веб-дизайна также очень полезно когда дело доходит до занятости.

я не понимаю, почему Вы пытаетесь сделать это сами все же. Даже 'посредственный в лучшем случае' университет будет в состоянии преподавать Вам навыки намного лучше, чем можно самостоятельно учиться. Именно все о встречающихся людях имеет опыт, на самом деле работающий в вычислительной промышленности.

Это не об университете, который это об усилии, которое Вы вставляете, который определяет, как хорошо Вы делаете.

Мой ответ, возможно, бесполезен Вам хотя, потому что я не знаю, откуда Вы. В Шотландии, где я живу, я добрался для учений в университете бесплатно, это не может иметь место для Вас.

0
ответ дан Scottm 27 November 2019 в 07:02
поделиться

Это - довольно хороший список. Этими двумя темами, которые я определенно добавил бы к соединению, является дискретная математика и сети. Другими темами, которые могут быть интересны Вам, являются компиляторы, компьютерная графика, распределенные операционные системы. Существуют также прохладные подполя AI, как машинное зрение и машинное обучение. И для обработки всего этого, Вам определенно нужны линейная алгебра и вероятность.

И само собой разумеется, что Вы не можете действительно сделать информатики, просто читая книги. Для реального понимания каждой темы необходимо сделать проекты в нем. Я также предложил бы смотреть на MIT, Открывают Courseware, где преподаватели отправляют программу, примечания лекции и присвоения.

1
ответ дан Dima 27 November 2019 в 07:02
поделиться

Конкретная Математика

1
ответ дан user9282 27 November 2019 в 07:02
поделиться

Перед чем-либо еще читайте Информатика: современное Введение . Это даст Вам, хорошее основание и обзор предметов там должны преследовать.

Введение в Алгоритмы очень хорошо. Для введения в функциональное программирование я рекомендую работать до Мл для рабочего программиста .

области, которые дифференцируют программиста от программиста: основание в дискретной математике, основном понимании VLSI и системной архитектуры, понимании основ криптографии и безопасности, понимании теории вычислимости, понимании теории информации.

1
ответ дан moonshadow 27 November 2019 в 07:02
поделиться

Я не знаю, как это находится в США, но в моей стране мы изучаем дискретную математику и введение в теорию графов перед формальными языками и автоматами.

кроме того, я не вижу, что какая-либо книга касается компьютерных сетей..., почему Вы не судите Andrew Tanenbaum Компьютерные сети ?

1
ответ дан Pablo Marambio 27 November 2019 в 07:02
поделиться

Я думаю, что можно использовать большинство других книг для ссылки и просто поглотить Жемчуг Программирования в целом. Выполнение так сделало бы Вас лучше, чем 90% программистов, которых я когда-либо встречал.

2
ответ дан Ben Hoffstein 27 November 2019 в 07:02
поделиться

Во-первых, я не волновался бы об этом. Но если бы Вы хотели бы, чтобы книга изучила некоторые абстрактные идеи CS, я рекомендовал бы Автобус Turing или Теоретическое Введение в Программирование .

, Если бы я решал между наймом двух программистов, и ни у одного не было большого опыта, но у каждого был градус CS, и другой не сделал, я нанял бы тот с градусом CS. Но когда Вы добираетесь до сравнения двух программистов с дюжиной лет опыта, градус едва имеет значение.

3
ответ дан John D. Cook 27 November 2019 в 07:02
поделиться

Извините, Вы не можете заменить четыре года университета путем чтения книги или многих книг, неважно, насколько хороший книги. Если бы Вы могли, почему кто-либо учился бы в университете?

3
ответ дан Graeme Perrow 27 November 2019 в 07:02
поделиться

Много курсов в лучших университетах не используют учебник, потому что ни одна из доступных книг не достаточно хороша. (Я получил образование в Принстоне и преподавал в течение 8 лет в Гарварде.), Когда кто-то рекомендует книгу, спросите, ли книга действительно хороша или если это всего наилучшее имеющееся в поле .

, Например, в компиляторы , я не большой поклонник 'Книги Дракона'; мне никогда не нравился подход, и текущий выпуск очень устарел. Я думаю, что Вы были бы более обеспечены с книгой как Michael Scott Прагматика Языка программирования , который, хотя немного незапланированный является прекрасной книгой для чтения. (Я никогда не преподавал от него, таким образом, я не могу сказать, какие студенты думают о нем.) Я не знаю о действительно хорошей книге по конструкции компилятора для самоучки, хотя Вы могли бы посмотреть на Cooper и Torczon Разработка Компилятор , потому что это актуально и записано двумя из лучших инженеров компилятора в бизнесе.

4
ответ дан Norman Ramsey 27 November 2019 в 07:02
поделиться
9
ответ дан dacracot 27 November 2019 в 07:02
поделиться

Лучший подход, который я нашел, должен выбрать Ваш любимый Университет, перейдите к их веб-сайту и проверьте курсы для градуса. Многим большим опубликовали их необходимые чтения для каждого курса. MIT Открывает, Course Ware является хорошим примером.

Это, между прочим, работает на программы на получение степени неCS также.

12
ответ дан therealhoff 27 November 2019 в 07:02
поделиться
  • Дискретная Математика I & II (моя частная школа)
  • Физика I (Миссури большинство школ состояния)
  • криптография I
  • Статистики (дополнительный, но мне понравился он)
  • OpenGL в C++ (дополнительный, но аккуратный)
  • Системный анализ и Дизайн (Разработка программного обеспечения с бизнес-точки зрения. Класс был так себе.)

  • Этика.

  • Сети (преподает сетевые алгоритмы, комбинации двоичных разрядов, имеющие дело с сетевыми данными).

    существуют [приблизительно 1 113] вещи, которые для понимания их требуют справка; не обязательно профессор (tho они делают это для жизни), но возможно друг, который посещал урок или изучил поле.

книги Чтения по этим предметам не означают знание их. Выполнение математики на математике, кодирование на коде, и так далее - то, что помогает Вам понять и показывает, что Вы знаете предмет в конце.

2
ответ дан J.J. 27 November 2019 в 07:02
поделиться

Я бы добавил Введение в теорию вычислений в список

0
ответ дан 27 November 2019 в 07:02
поделиться

Элементы вычислительных систем

Эта книга проведет вас от основ проектирования аппаратного обеспечения до написания программ на объектно-ориентированных языках. Используя симулятор, вы создаете полноценный компьютер. Затем вы пишете ассемблер, операционную систему, компилятор (для объектно-ориентированного языка, скомпилированного для работы на виртуальной машине), а затем игру, написанную с использованием этого языка.

Это большая работа, но авторы тщательно сделали задача максимально простая. Вам придется много работать над этим, но он дает вам полное представление о компьютерном программировании.

Вы можете просмотреть несколько примеров глав, а также поиграть с симуляторами здесь . . 1274] Настоятельно рекомендуется! (Даже для выпускников CS)

3
ответ дан 27 November 2019 в 07:02
поделиться

Я, вероятно, не могу предложить лучшие книги, но есть несколько важных предметов, которые вы отсутствуют:

  • Статистика
  • Линейная алгебра
  • Теория графов и дискретная математика
  • Компьютерная графика
  • Научные вычисления
  • Компьютерные сети
  • Программная инженерия
  • Структуры данных

Некоторые темы которые могут считаться более «необязательными», могут быть:

  • Криптография
  • Обработка изображений / шаблонов и распознавание
  • Биоинформатика
  • Интернет-вычисления
  • Классическая физика
3
ответ дан 27 November 2019 в 07:02
поделиться

MIT представил свою программу «OpenCourseWare» несколько лет назад. Они размещают книги / домашние задания / лекции в Интернете, так что вы можете следить за учебной программой MIT:

http://web.mit.edu/catalogue/degre.engin.ch6.shtml

6
ответ дан 27 November 2019 в 07:02
поделиться

"Банда четырех" Книга шаблонов дизайна . Курс по шаблонам дизайна, который я прошел в колледже, был, вероятно, самым полезным курсом, который я когда-либо посещал.

0
ответ дан 27 November 2019 в 07:02
поделиться

Concepts, Techniques and Models of Computer Programming seems to have the broadest overview I've seen of the various higher-level language programming styles and techniques.

1
ответ дан 27 November 2019 в 07:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: