Advertisement
Fail_O_Man

"О диванный новый мир"

Feb 25th, 2013
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.66 KB | None | 0 0
  1. Высшее образование в IT своми руками:
  2.  
  3. Введение: Мотивация, базовые навыки для дальнейшего изучения.
  4.  
  5. Книги: «А я был в компьютерном городе», рандомный советский школьный учебник по информатике, SICP, конкретная математика.
  6.  
  7. Усердно изучаешь английский. Читать лучше на английском. Сложно только первую книгу.
  8. Как только разберёшься (вместе с английским это была самая сложная часть курса), тебе понадобится какой-нибудь язык программирования.
  9. Ещё не для того, чтобы программировать, а для того, чтобы писать учебные примеры (на схеме это делать достаточно муторно).
  10. Чтобы меня не сочли троллем в первом абзаце пасты предлагаю
  11. 1) C (Учебник Дейтелов, кресты (c++) долго не используй, зашкваришься)
  12. 2) Java («Философия» Эккеля) или
  13. Python (DIVE INTO PYTHON из той самой пасты) на выбор. Можно оба.
  14. Всё достаточно лёгкое (C в меньшей степени), всё считается местными говном (C в меньшей степени). После SICPа идти будет очень легко, си тебе сам по себе не понадобится, но скиллы писания на нём пригодятся ещё много раз.
  15. Пишешь на выбранном языке 10 простых программ (решение уравнений, перемножение матриц, игры а-ля 90-е, ИИ для какой-нибудь из игр, просто что-нибудь прикольное, что в голову придёт). Вооружившись этой хуйнёй переходишь к изучению матчасти.
  16.  
  17. Матчасть: Твоя задача на данном этапе — получение фундаментальных представлений по CS.
  18. Книжки будут вдвое толще, чем на предыдущем этапе, понимать сразу всё не будешь, но перечитывай мере необходимости.
  19.  
  20. а) Дискретка. НЕ ОТЛЫНИВАТЬ. Читай любой учебник.
  21. Понимать (отчётливо): множества, алгебры, отображения, логику, графы.
  22. Реши простейшие задачи, докажи несложные теоремы. Остальное можешь отложить.
  23.  
  24. б) Базы данных — нужно разобраться с БД, обычно этот шаг пропускают и начинаются серьёзные проблемы и откровенно кривые архитектуры.
  25. Учебники: Си Джей Дейт, введение в системы баз данных.
  26. Весь можешь не читать, прочитай 2/3, чтобы понимал про транзакции, нормальные формы (хоть первые 4 штуки), ER-модель, реляционное счисление, отображение из ER-модели в реляционное счисление.
  27. Потом берёшь любой учебник по SQL (Моисеенко какой-нибудь сканает).
  28. Базы данных в заданиях ты должен проектировать в уме, сразу в 3NF и быстро. Учишь SQL.
  29. Пишешь какое-нибудь приложение на своём языке, которое использует БД (гостевуху с примитивным интерфейсом можешь сваять, поймёшь, что веб — говно и бросишь эту парашу на этом этапе).
  30. Решаешь задачки у Моисеенко.
  31.  
  32. в) Архитектура ЭВМ. Читаешь Таненбаума. Знать: что такое вентиль, что из них составляют: там очень подробно описано по разделам.
  33. Спроектировать простейший «железный» компьютер из блоков. Знать про адресацию памяти, прерывания.
  34. Спроектировать всякой хуйни в эмуляторе схем. Лёгкая интересная часть.
  35.  
  36. г) Алгоритмы. Понимать: как работает процессор, как оценивается скорость алгоритма, почему существует много алгоритмов, как выбрать нужный.
  37. Знать базовые алгоритмы сортировки, поиск можешь пока не трогать. Знать структуры данных и связанные с ними алгоритмы.
  38. Знать (в общих чертах, не трать на это много времени), что из себя представляет ассемблер.
  39. Всякие связанные списки из массивов ты должен уметь реализовывать стоя у доски с маркером.
  40.  
  41. Книги: Вирт, Ахо по алгоритмам и структурам данных. Начни читать Кнута, по крайней мере разберись с его компьютерами и напиши для них несколько программ на бумажке.
  42. Сделай свой виртуальный компьютер, но не такой старый и сложный, как у Кнута. Сделай для него ассемблер и напиши пару простых программ.
  43.  
  44. д) Операционные системы. Знать алгоритмы для многозадачности, потоки, процессы, нити. Обедающие философы.
  45. Знать про планирование ресурсов. Знать про файловые системы. Про микроядра всякие почитай. Хорошо разберись в параллельном программировании.
  46. Помнишь толстенный учебник Дейтелов по си? Ну вот, у них и про ОС есть, почитай. И у Таненбаума тоже не только архитектура.
  47. Пишешь сложную многопоточную программу, чтобы были синхронизации, пайпы, семафоры и всё такое.
  48. Тут жава лучше пистона, тебе будут советовать кресты и QT, но… Можно и так, в общем.
  49.  
  50. е) Формальные языки и теория трансляции — нужно научиться обрабатывать текст и глубоко понять, как работают компиляторы.
  51.  
  52. Книги: читаешь главу своего учебника по дискретке (помнишь, ты её бросил?) про формальные языки. В центре внимания Ахо, Книга Дракона.
  53. Понимать: грамматики, языки, регулярные выражения, текстовые анализаторы — компиляторы, трансляторы, интерпретаторы, стадии компиляции,
  54. линковка, оптимизации. Ахо ты целиком всё равно не осилишь, но постарайся понять как можно больше.
  55. Пишешь интерпретатор простого языка программирования (можешь взять любой говноакадемический язычишко).
  56. Потом пишешь для него компилятор для своей виртуальной машины из пункта г.
  57. Читаешь книгу издательства О'Рейли по регуляркам. Удобная штука. Открываешь для себя вёрстку: LaTeX, html, css, xml.
  58. Особенно последний Глянь быстренько XPath.
  59.  
  60. ж) Парадигмы программирования. Заходишь сюда, создаёшь тред [ООП-парадигма|функциональщина|няшная сишечка] соснула.
  61. Записывашь баззворды, гуглишь, участвуешь в срачах.
  62. У тебя уже есть опыт писанины и на императивщине, и на ООП, и схему ты тоже неплохо знаешь: скобками голыми тебя не запугаешь.
  63. Можешь подучить простой хаскелл и понтоваться плохими программами перед местными школьниками.
  64.  
  65.  
  66. Свободное плаванье: К этому времени пора бы определяться с работой.
  67.  
  68. а) Хотя веб-петухи встают, когда ты входишь в комнату, можешь податься в очень продвинутый веб (если ты с него не очень сильно блевал).
  69. Гугловское/амазоновское облако, корпоративные проекты на жабе и дотнете, хуйлоад. Глянь в сторону банков, у них есть достаточно системы.
  70. Есть целые конторы, которые автоматизируют это барахло. Очень пригодятся БД, параллельное программирование и.т.д. Языки: пистон, жава ЕЕ.
  71. Придётся изучать глубже, но у тебя уже хорошая база по этим языкам.
  72.  
  73. б) Базы данных. Зачитывался Дейтом? В конце концов добро пожаловать в мир высокой надёжности, параллелизма и прочей ерунды.
  74. Тебя ждут оракловые базы данных, PL/SQL. Очень необычно и интересно, большие зарплаты, веб-петухи стонут.
  75.  
  76. в) Гейдев. Добиваешь математическую базу в области линала и идёшь в гей-дев.
  77.  
  78.  
  79.  
  80. Успешное грядкоёбство
  81.  
  82. Тут как мозгов хватит устроится, ОП. Мне 34 года и я ни дня нигде не работал. На последнем курсе института суетился на счет армии. Лег в дурку, поставили шизофрению за 1000 рублей. Через год лег повторно уже сам в областную дурку - дали вторую группу инвалидности. Пенсия 8500. За 2500 снимаю зимний дом в своем райцентре на окраине с участком чернозема на 14 соток с яблоневым садом и банькой, завел курей, огородик (2 сотки картошки, 3 грядки тыкв, по 2 грядки морковки, капусты и лука, клубника, зелень), высадил коноплю и мак. Из оставшихся 6 тыр - 3 уходит на интернеты, свет, воду и дрова. Остается еще 3000 на тушенку, хлеб, соль и нехитрую одежонку. Зима лучшее время - на огороде работы нет, зато конопля еще не кончилась (мак сторчал еще осенью, ну и хорошо - уже и не тянет, только воспоминания теплые и радостная надежда на следующий урожай). Утром встаю - курочек покормлю и на печь с косячком и ноутом. Сейчас буду картошку жарить с луком и глазуньей. На хавчик пробило. Так что взрослая жизнь - заебок. Главное не быть чсвшным быдлом и класть болт на общество.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement