@heyyyoyy

Как изучить компьютерные науки?

Я понимаю, что изучив один синтаксис языка далеко не уедешь
Давненько на хабре или другом форуме видел статью, как забугорный программист поделился своим опытом изучения. В картинке были обложки книг которые он изучил, ну и распределил их по иерархии
помогите найти эту статью или саму картинку, буду очень благодарен
  • Вопрос задан
  • 4939 просмотров
Пригласить эксперта
Ответы на вопрос 6
  • Neznayka1979
    @Neznayka1979
    Интересы - IT, психология...
    CS50 на русском языке:
    https://www.youtube.com/playlist?list=PLawfWYMUziZ...

    «Программа = алгоритмы + структуры данных» - выражение Никлауса Вирта
    Иными словами, ключевыми непосредственными задачами программирования являются - создание и использование алгоритмов и структур данных.
    Программирование - это строгость рассуждений и преобразований (Логика).
    Из вышесказанного становится ясно, что начинать следует с изучения Алгоритмов.
    Но что бы изучать алгоритмы и их практическое применение нужен инструмент для работы с ними - ЯП (язык программирования).
    Языки программирования часто классифицируют по уровню...
    (более подробнее см. тут: bourabai.ru/alg/a13.htm )
    Какой яп выбрать первым для изучения вопрос конечно не простой...
    Есть такое мнение, что практическое применение какого-либо яп в конечном итоге влияет на мышление человека...
    Если у человека очень много времени и он "не гонит лошадей", то лучшим решением пожалуй будет освоить первым - функциональный яп.
    Почему функциональный ? Потому что функциональный яп не содержит "ничего лишнего" и тем самым поможет освоить суть алгоритмов и выработать соответствующее мышление, т.е. научит мыслить Логически.
    Подводя итог вышесказанному начинающим программистам лучше начать с изучения одного из функциональных яп - Haskell или Scala, Lisp...
    А уже после можно переходить на яп С (Си), который поможет понять многие другие очень важные детали...
    И уже освоив на достаточном уровне яп С можно переходить на другие яп (С++, Java, С#...)
    Да, и ещё желательно (обязательно) освоить англ.яз и параллельно осваивать - Дискретную математику.
    Вся информатика - это, по сути, дискретная математика. Мозги ставит великолепно.
    Если есть сомнения по этому поводу см. тут:
    https://habrahabr.ru/post/252077/

    Если вас интересует Web-программирование, то следует последовательно осваивать:

    HTML5 ➤ CSS3 ➤ JavaScript ➤ JS + jQuery ➤ MySQL ➤ PHP и/или Python...

    А так же следует ознакомиться со Спира́льной моделью разработки ПО,
    т.к. данная модель особенно актуальна для Web-программирования.

    А если вас интересует GameDev (разработка игр), то см. тут:
    https://thequestion.ru/questions/205745/chto-uchit...
    https://habrahabr.ru/company/miip/blog/313326/
    https://habrahabr.ru/post/319582/
    https://dou.ua/lenta/articles/gamedev-for-programm...
    Ну и видео:
    https://www.youtube.com/playlist?list=PLR4wcBxrUGP...

    Немного о «Натуральных Ноотропиках»:

    Крепкий кофе. Кофеин — стимулятор быстрого действия, на концентрацию внимания не влияет,
    в течение часа–полутора возбуждение сменяются торможением, поэтому немедленный повторный прием эффекта не дает. Кроме того, к кофеину очень быстро развивается привыкание - для достижения желаемого эффекта потребуется увеличение дозы, что для сердечной мышцы может стать фатальным!

    Сладкий чай. Действующее вещество: сахароза.
    Это самый простой из сложных углеводов.
    Быстро и при мизерных энергозатратах она расщепляется на две идентичные молекулы глюкозы, энергетическая ценность каждой их которых в свою очередь, напротив, чрезвычайно высока. Для мозга это чистейшее топливо, многократно повышающее концентрацию и работоспособность.
    Но за количеством глюкозы в крови следит поджелудочная железа, поэтому на резкое повышение количества глюкозы следует немедленная лошадиная доза инсулина, который её связывает.
    А главное — поджелудочная железа не умеет вычислять, когда уровень глюкозы растёт, а когда падает, поэтому качает инсулин даже тогда, когда его количество уже в избытке.
    "Избыточный" инсулин связывает уже последнюю, жизненно необходимую для мозга глюкозу и последний начинает испытывать колоссальный энергетический голод!
    В результате вместо кратковременного повышения работоспособности получаем долговременную заторможенность и неодолимую сонливость.

    Из медицинских препаратов (ноотропиков) лично я предпочитаю использовать «Глицин».
    Очень редко использую «Модафинил», когда нужно поднапрячься, т.е. не спать несколько дней.

    А отличная "пища для мозга" - это сложные углеводы:
    салатики из овощей (обожаю "морковку по корейски" ) + орехи + сухофрукты (по 1-2 ягоды разных сухофруктов).

    Книги:
    «Алгоритмы. Вводный курс» Томас Х. Кормен
    «Алгоритмы. Построение и Анализ» Томас Х. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффорд Штайн.
    «Алгоритмы введение в разработку и анализ» Левитин А.В
    «Algorithms in a Nutshell, 2nd Edition»
    «Язык программирования Си. Лекции и упражнения» Стивен Прата
    «Компьютерные сети» Эндрю Таненбаум, Дэвид Уэзеролл
    «Архитектура компьютера» Эндрю Таненбаума, Т. Остин
    «Современные операционные системы» Эндрю Таненбаум, Х. Бос
    «Компьютерные сети. Принципы, технологии, протоколы. Учебник» Виктор Олифер, Наталия Олифе
    «Unix и Linux. Руководство системного администратора» - Немет Э., Снайдер Г., Хейн Т., Уэйли Б.
    «Командная строка Linux. Полное руководство» - Уильям Шоттс
    «Логика» Виноградов С. Н. и Кузьмин А. Ф _ 1954
    «Основы системного анализа» Спицнадель В.Н. (2000 г.)
    «Семь навыков высокоэффективных людей. Мощные инструменты развития личности» Стивен Р. Кови
    Ответ написан
  • @newpy
    web-dev
    1. CS50
    2. SICP
    Классика зарубежного образования в сфере компьютерных наук. Первый - это азы. Второй это посложнее. Скорей всего в любой из прочитанных статей так или иначе будут упоминаться этих два курса, либо они зачастую за рубежом адаптированы под конкретный университет.
    • Если вбить эти две аббревиатуры в гугл, вам откроются тайны аббревиатур
    • Если прочитать и изучить эти две аббревиатуры, то из вас точно получится что-то толковое.

    По первому есть даже переведенные видео-лекции от Javarush,
    По второму есть книга на русском языке. Лично я такую храню у себя в рабочей библиотеке в бумажном виде.
    Ответ написан
  • Вдобавок к перечисленному - идём на ютуб и ищем каналы "Computer Science Center", "Академия Яндекса" и "Технострим Mail.Ru Group" - в них нам интересно "Алгоритмы и структуры данных" и прочие "Основы" (умышленно не привожу здесь прямые ссылки).
    Внимательно смотрим, конспектируем. Непонятно - пересматриваем. С возникающими вопросами идём не на форум, а в книжки. Можно залезть на "ИНТУИТ" или там "Курсеру" - пройти курс, сдать экзамен и получить подобие сертификата.
    Это может занять не один месяц, а гораздо больше. Успешность затеи зависит лишь от вашего упорства. Материала в интернете - уйма: книжки, лекции, квизы и прочее. Всё для вас!
    Ответ написан
  • vechnoe
    @vechnoe
    Tornado, Django, Postgres, Asyncio, Clojure
    Все же нужно начать с математики. Отсутствие хорошей математической подготовки не позволит вам понимать сложные темы.

    Вот очень хорошая подборка тем для изучения: Теоретический минимум для программиста
    Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Вакансии с Моего Круга Все вакансии
Заказы с Фрилансим Все заказы