|
eFo
|
|
...
|
|
|
|
|
|
|
Рег.: 16.11.2007
|
|
Сообщений: 39
|
|
|
|
Рейтинг: 30
|
|
Учимся программированию
01.05.2012 20:03
|
|
|
Всем привет! Возникло такое дело, что срочно стало нужным выучить computer science практически с нуля. В планах - знать все про computer architecture, алгоритмы, complexity, ОС, парочка языков (типо PHP, Python) etc. Короче, планы грандиозные, как на ВМК проучиться пять лет=) Посоветуйте, пожалуйста, как наиболее удобно достичь хотя бы некоторой части из всего этого... Книги, самоучители? Платные курсы? Бесплатные курсы других универов (прохожу парочку из Стэнфорда и MIT)? Времени свободного вроде бы достаточно... Но хочется услышать советов, как это все систематизировать, в какой последовательности что учить (нужны довольно глубокие знания) и каким способом. Второе высшее не предлагать) Спасибо за советы заранее!
|
|
|
Nine17
|
|
Furia Roja
|
|
|
|
|
|
|
Рег.: 26.06.2003
|
|
Сообщений: 25557
|
|
|
|
Рейтинг: 13162
|
|
Re: Учимся программированию
[re: eFo]
01.05.2012 20:50
|
|
|
Можно, конечно, учить архитектуру, компиляторы, алгоритмы и т.д., а можно выучить только PHP!
|
Entre flores fandanguillos y alegria nació España mi tierra de amor! |
|
|
sadreamer
|
|
nuclear eclair
|
|
|
|
|
|
|
Рег.: 21.09.2009
|
|
Сообщений: 487
|
|
|
|
Рейтинг: 1464
|
|
Re: Учимся программированию
[re: eFo]
01.05.2012 20:53
|
|
|
Почитай 1. Таненбаума: Архитектура ПК, Современные ОС 2. Кормена: Алгоритмы - Построение и анализ. Можно еще Кнута, если любишь похардкорить Освоишь хотя бы половину - уже молодец. Чтобы выучить язык, нужно постоянно практиковаться. Но везде есть хорошие книги. 3. Макконнелл: Совершенный код. Маст рид, чтобы не творить говна 4. Шаблоны проектирования банды четырех. Это уже когда реально что-то делать начнешь
Вот в принципе небольшой список хорошей классической литературы
В ответ на:
Короче, планы грандиозные, как на ВМК проучиться пять лет
Фигня, на вмк другому учат. Читай книжки и делай своими руками - профит
Удачи
|
|
|
marufa
|
|
veteran
|
|
|
|
|
|
|
Рег.: 23.05.2008
|
|
Сообщений: 1961
|
|
|
|
Рейтинг: -2366
|
|
|
В ответ на:
Макконнелл: Совершенный код. Маст рид, чтобы не творить говна
Да, поддерживаю! Очень ВАЖНАЯ книга!
Кроме того, могу посоветовать сразу учить Java. Этот язык довольно простой в изучении, ясный и без лишних тонкостей (как, напр., С++), но в тоже время в достаточной мере тонкий для освоения объектно-ориентированного подхода в программировании. PHP же для целей освоения ООП, на мой взгляд, подходит хуже, чем Java, ибо тонок в недостаточной мере (PHP в связи с этим часто называют "деревянным" языком).
|
|
|
grigory007
|
|
stranger
|
|
|
|
|
|
|
Рег.: 07.11.2011
|
|
Сообщений: 13
|
|
Из: .
|
|
Рейтинг: 17
|
|
Re: Учимся программированию
[re: marufa]
01.05.2012 21:13
|
|
|
Aho, Lam, Sethi, Ullman "Compilers. Principles, Techniques & Tools"
|
. |
|
|
vissi
|
|
|
|
|
|
|
|
|
Рег.: 30.09.2007
|
|
Сообщений: 9275
|
|
|
|
Рейтинг: 8222
|
|
Re: Учимся программированию
[re: marufa]
01.05.2012 22:25
|
|
|
В ответ на:
но в тоже время в достаточной мере тонкий для освоения объектно-ориентированного подхода в программировании. PHP же для целей освоения ООП, на мой взгляд, подходит хуже, чем Java, ибо тонок в недостаточной мере (PHP в связи с этим часто называют "деревянным" языком).
Зачем нужен ООП? В смысле, неужели он нужен настолько, чтобы под него затачиваться? php вообще плох для обучения, это нишевый и очень неочевидный в использовании язык (хотя, конечно, начинать писать на нем можно хоть с первого дня), лучше тогда питон. А вообще интереснее прогать на ФЯ, тут есть классические SICP/HtDP.
|
|
|
|
vissi
|
|
|
|
|
|
|
|
|
Рег.: 30.09.2007
|
|
Сообщений: 9275
|
|
|
|
Рейтинг: 8222
|
|
Re: Учимся программированию
[re: eFo]
01.05.2012 22:31
|
|
|
В ответ на:
В планах - знать все про computer architecture
Дорогу осилит идущий =) Более конкретных целей еще не сформировалось? В смысле, где в индустрии (или в жизни) планируется применять знания?
|
|
|
|
unkulunkulu
|
|
unkulunkulunkulu
|
|
|
|
|
|
|
Рег.: 12.11.2006
|
|
Сообщений: 18453
|
|
Из: 13000
|
|
Рейтинг: 11759
|
|
|
Quote:
2. Кормена: Алгоритмы - Построение и анализ. Можно еще Кнута, если любишь похардкорить
к черту, Шеня прорешать, и уже будешь круче 60% ВМК 
|
|
|
sadreamer
|
|
nuclear eclair
|
|
|
|
|
|
|
Рег.: 21.09.2009
|
|
Сообщений: 487
|
|
|
|
Рейтинг: 1464
|
|
|
Не знаю, не читал его. Но, я так понимаю, там уже чисто олимпиадный уклон. Сам по этой теме как-то читал книгу Олимпиадные задачи по программированию (Скиена, Ревилла). Ну и всякие контесты решать, самое главное В Кормене, кстати, тоже есть задачки, но они чисто на понимание материала
|
|
|
unkulunkulu
|
|
unkulunkulunkulu
|
|
|
|
|
|
|
Рег.: 12.11.2006
|
|
Сообщений: 18453
|
|
Из: 13000
|
|
Рейтинг: 11759
|
|
|
просто Кормен (а тем более Кнут, его для изучения программирования вообще сложно рекомендовать, книга-то математическая) более сфокусирован на всяких готовых довольно хитрых алгоритмах. А Шень настроен на обучение, большинство алгоритмов там строится постепенно, в частности через задачи, поэтому для обучения именно он подходит очень хорошо. Еще там есть несложные задачи, которые надо написать идеально (для этого к Шеню желателен хороший проверяющий этих задач с педагогическим чутьем, который сможет подкорректировать). Олимпиадного уклона там не особо, там вполне такой академический подход, в частности к динамике. Именно динамика помогает в олимпиадах больше, чем в коммерческом программировании, но все же именно олимпиадных задач там не очень много.
|
|
|
sadreamer
|
|
nuclear eclair
|
|
|
|
|
|
|
Рег.: 21.09.2009
|
|
Сообщений: 487
|
|
|
|
Рейтинг: 1464
|
|
|
Понятно. Заценю как-нибудь!
|
|
|
eFo
|
|
...
|
|
|
|
|
|
|
Рег.: 16.11.2007
|
|
Сообщений: 39
|
|
|
|
Рейтинг: 30
|
|
Re: Учимся программированию
[re: vissi]
02.05.2012 00:22
|
|
|
Пока нужно для собственных научных нужд, но в будущем планируется индустрия. Конечно, вряд ли все, что я написал, нужно для успешной работы в программинге, но т.к. я идеалист, то думал, что чтобы все-таки быть успешным на этом поприще, нужны достаточно глубокие знания. Или я неправ? А так спасибо за советы)
|
|
|
vissi
|
|
|
|
|
|
|
|
|
Рег.: 30.09.2007
|
|
Сообщений: 9275
|
|
|
|
Рейтинг: 8222
|
|
Re: Учимся программированию
[re: eFo]
02.05.2012 00:32
|
|
|
В ответ на:
чтобы все-таки быть успешным на этом поприще, нужны достаточно глубокие знания. Или я неправ?
Знания вряд ли будут лишними, но, например, изучение книги Ахо от корки до корки если нет необходимости строить свой компилятор или допиливать чужой - преждевременная оптимизация, которая, как говорит Кнут - корень зла )
|
|
|
|
unkulunkulu
|
|
unkulunkulunkulu
|
|
|
|
|
|
|
Рег.: 12.11.2006
|
|
Сообщений: 18453
|
|
Из: 13000
|
|
Рейтинг: 11759
|
|
Re: Учимся программированию
[re: eFo]
02.05.2012 16:06
|
|
|
а вот, кстати, у меня тоже вопрос.
Тут вот все советуют книги с алгоритмами, но это как бэ уже чуть выше уровень. А есть ли более-менее серьезные книги, где учат алгоритмизации вообще, т.е. более абстрактные задачи, где писать программы на конкретных языках как бэ и не обязательно. Шень в этом плане тоже немного подходит, но там очень быстро от поиска максимума переходят к сильно более серьезным вопросам.
|
|
|
heggy
|
|
Веселый еж
|
|
|
|
|
|
|
Рег.: 21.06.2006
|
|
Сообщений: 3781
|
|
Из: Moscow
|
|
Рейтинг: 7053
|
|
|
Возможно в этом плане подойдет Skiena "The Algorithm Design Manual". Там две части, первая вводная, он рассказывает, какие есть задачи и алгоритмы для их решения, какая бывает сложность, вводит структуры данных. Вторая - большой справочник по алгоритмам, если ищешь что-то конкретное.
|
|
|
samat
|
|
Samat
|
|
|
|
|
|
|
Рег.: 05.01.2008
|
|
Сообщений: 445
|
|
Из: ГЗ-Б
|
|
Рейтинг: 69
|
|
Re: Учимся программированию
[re: eFo]
02.05.2012 17:42
|
|
|
ШАД Яндекса 
|
|
|
eiv
|
|
|
|
|
|
|
|
|
Рег.: 03.09.2009
|
|
Сообщений: 1137
|
|
|
|
Рейтинг: 2328
|
|
|
В ответ на:
Шеня прорешать
спасибо, скачал на сайте МЦНМО, посмотрел несколько задачек наугад - отличная вещь жаль, что не всем школьникам так везет с преподавателями хорошо бы им сделать свою courser'у 
|
|
|
unkulunkulu
|
|
unkulunkulunkulu
|
|
|
|
|
|
|
Рег.: 12.11.2006
|
|
Сообщений: 18453
|
|
Из: 13000
|
|
Рейтинг: 11759
|
|
Re: Учимся программированию
[re: eiv]
02.05.2012 19:31
|
|
|
Quote:
сделать свою courser'у
что это?  Да, этого Шеня не зря на всех олимпиадах дарят (дарили лет 7 назад). У нас в сунце по задачам из него был информационный бой, собственно, тогда я его и оценил, а до этого тоже серьезно не относился.
|
|
|
eFo
|
|
...
|
|
|
|
|
|
|
Рег.: 16.11.2007
|
|
Сообщений: 39
|
|
|
|
Рейтинг: 30
|
|
|
|
|
|
eiv
|
|
|
|
|
|
|
|
|
Рег.: 03.09.2009
|
|
Сообщений: 1137
|
|
|
|
Рейтинг: 2328
|
|
Re: Учимся программированию
[re: eFo]
02.05.2012 22:24
|
|
|
кстати, там недавно был вводный курс по алгоритмам (стэнфордский), запись вроде закрывали, а вот видеолекции вроде доступны еще
|
|