188 / 120 / 4
Регистрация: 23.01.2010
Сообщений: 1,320
|
|
1 | |
План изучения С++22.01.2012, 14:54. Показов 20019. Ответов 23
Метки нет (Все метки)
План изучения С++ (СИ Плаз плаз)
Сегодня в этой теме я хочу поднять технологию изучения С++ от нуля до мастера. И хотелось бы чтобы знающие люди, которые учатся или проходят обучения в ВУЗ (Высших Учебных Заведениях) прокомментировали в какой последовательности они получали знания. Статья по сути банальная, но многие люди, которые изучаю данный язык, самостоятельно и не являющиеся студентами ВУЗов не знают, как подходить правильно к изучению. Любое практическое дело должно базироваться на твердых и полных четко представляемых знаниях, которые, как правило, у начинающих студентов отсутствуют, а литература именуемая самоучителями хоть и присутствует в большом количестве, но не дает глубокого понимания сложных элементов программирования. Цель статьи: o - расписать последовательность изучения языка программирования С++ o - дать четкие цели и представление о языке o - ввести суть С++ с четко сформулированной информацией и практическими работами.
0
|
22.01.2012, 14:54 | |
Ответы с готовыми решениями:
23
План изучения Объясните план изучения C++ План изучения План изучения ассемблера |
1186 / 542 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
22.01.2012, 15:15 | 2 |
Сообщение было отмечено как решение
РешениеНе по теме: Вы и правда думаете что кто-то будет писать вам статью в публицистичном стиле в этой теме? Программисты не журналисты же. Коротко: берём книгу и читаем её решая задания что идут после глав (желательно чтобы в книге эти задания после глав присутствовали). Больше нечего тут размышлять. Как пример: советую взять книгу Дейтелов. Добавлено через 36 секунд
3
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
22.01.2012, 15:19 | 3 |
n971030, книги как раз-таки дают вполне чёткий план обучения, ему же, соответственно, и следуют. А то, что они не дают "глубокого понимания сложных элементов программирования", так это от того, что не в тех книгах эти элементы ищутся. Вот такой план предлагаю я:
Прочитать что-нибудь для новичков, например, Лафоре, Экклея, Дейтелов, Прату, Липпмана... Читать всё для более высокого уровня, что попадётся - Мейерса, того же Эккеля, Страуструпа, Саттера... И это только по языку. По проектированию, например, Банду Четырёх (по паттернам), Буча, Фримен-Фримен-Сьерра-Бейтс (тоже по паттернам)... Вот вполне чёткий план.
1
|
385 / 229 / 12
Регистрация: 06.07.2011
Сообщений: 512
|
|
22.01.2012, 15:27 | 4 |
1. Зашел в интернет. Попросил посоветовать самые признанные книги по программирвоанию.
2. Скачал/купил. 3. см. пост Gepar'а. 4. Параллельно с п.3 лазишь по форумам подобным этому, Хабру, и впитываешь решения чужих проблем. спрашиваешь сам, предлагаешь свои решения. 5. Параллельно с п.3 и п.4 нужно постоянно что-то писать самому. Лучше какой-то проект с четкой целью. 5. Когда какая-то база появилась, ищешь более продвинутые книги, книги, оторванные от языков (по проектированию ПО), изучаешь сторонние библиотеки, стандарты. 6. go to 2
1
|
32 / 32 / 2
Регистрация: 07.08.2011
Сообщений: 89
|
|
22.01.2012, 15:48 | 5 |
В ВУЗах дают лекции, объясняющие книгу Б.Страуструпа, экзамен всего-лишь его понимание, практикум - написать некоторую программу(зачастую на линукс, иногда с использованием fork(), socket) и сдать её(варианты можно найти гуглём, они не секретные как правило). Ничего особенного, чего нет в книгах. Некоторые после этого курса продолжали писать на яве не зная С++. Практика - лучший учитель.
Лично мне больше помогает при написании программы наличие двух факторов: 1. мануал языка, на котором пишу. С++, ява, питон, без разницы. Онлайн/мануал с поиском быстрее бумажного и содержат более формальную и краткую информацию, поэтому зачастую они лучше. Однако, в книгах иногда написано почему так делать надо, а не иначе, а в интернете надо за этим лезть в историю форума как правило, что не быстро. Это лучше для начинающих. 2. Алгоритм того, что я делаю и как его сделать быстрым и эффективным. Или быстро и эффективно. Два разных понятия. Развивайте стили программирования: смотрите как например пишут на LISP, PROLOG или Java - совершенно различные подходы, которые вдруг могут оказаться эффективнее и быстрее. Изучайте алгоритмы: Но это относится не только к С++, т.к. это - алгоритмы и стиль написания программ. Основные правила: На всё нужно время, за день на С++ мастером не стать. Практика - лучший учитель. Мастер С++ знает не только С++. ASM вставки, необычные решения - это не С++.
1
|
22.01.2012, 20:40 | 6 |
То, что дают в ВУЗах ИМХО - не может быть примером для подражания. Есть ощущение, что программа обучения программистов (в моем вузе) писалась еще во времена, когда компьютер занимал целый этаж, а этажом ниже была расположена система охлаждения для этого компьютера.
Если интересно, то программирование нам давали в такой последовательности: 1ый курс - FORTRAN 2ой курс - Prolog, Lisp, C 3ий курс(сейчас) - assembler, Matlab. Еще есть предмет "ОС", где разрешили писать задания на С++ (если кто-то им владеет) или на bash'e в следующем семестре будет С++ в рамках предмета "ООП". Еще стоит упомянуть, что все это давалось в ничтожном количестве. Так же параллельно идет дискретная математика (не последний предмет для программиста). Я начал осваивать С++ самостоятельно по книгам, не дожидаясь, когда нас начнут учить. Теперь вот с умным видом рассуждаю, о несовершенстве учебного плана в нашем вузе
1
|
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
|
|
22.01.2012, 20:46 | 7 |
Весьма годный последовательный набор. После второго курса уже должно быть можно писать на чем угодно, просмотрев мануал по диагонали.
0
|
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
|
|
22.01.2012, 20:58 | 9 |
Kastaneda, ага, особенно клево вдалбливать простейшие алгоритмы работы с массивами проценту, моментально путающемуся в указателях(ибо время ещё не пришло). Сначала нужно понять, как вообще составлять алгоритмы, имея десяток базовых операторов.
0
|
22.01.2012, 21:02 | 10 |
Я ж говорю
После этого вопрос об указателях отпадет сам собой. Когда своими руками научишься блоки памяти перелапачивать. Я после асма взялся за С, главу про указатели почти пролистал, только на синтаксис посмотрел.
0
|
go
|
22.01.2012, 21:16
#11
|
Не по теме: Начинать необходимо с Паскаля ;)
1
|
Kastaneda
|
22.01.2012, 21:35
#13
|
Не по теме: Я знал, что кто-нибудь это скажет:) Многие (если не сказать больше) советуют начинать именно с Паскаля. Думаю, это связанно с тем, что они сами с него начинали. Наткнулся как-то на интересную статью, в которой вроде не глупый дядька пишет, что с Паскаля начинать не в коем случае нельзя, т.е. это убивает в человеке программиста на корню. Там же он приводит вполне аргументированные доводы в поддержку своих слов. Я Паскаля не знаю, поэтому не могу присоедениется к его словам, как и опровергнуть их. Люди советут тот язык, с которого они начинали. Я вот начал с асма, потом С, потом С++, потом, что придется) Если принять во внимание, что в итоге я чему-то научился (а я все же так считаю)), то можно с уверенностью сказать, что мой путь, как минимум, не ошибочный (или, как максимум, самый правильный)) К чему я это все? К тому, что наверное все согласятся с тем, что не существует идеального пути для обучению программированию. Как и абсолютно неправильного наверное тоже. С какого бока не подойди, все равно в итоге ты чему-то научишся, а чему - тут уже скорее от человека зависит, а не от "правильно" выбранного первого языка. Вот, где-то так:)
0
|
silent_1991
|
22.01.2012, 21:39
#14
|
Не по теме: Kastaneda, моим самым первым языком был Паскаль (тогда я ещё не планировал программировать, но так получилось, что мне пришлось писать на Паскале). Так вот, мне он совершенно не нравился. Потом я стал писать на Пи (тоже не предполагая, что буду реально программировать, опять же, так сложились обстоятельства). И вот благодаря именно Пи я полюбил программирование. Потом сам начал учить плюсы, и тоже благодаря тому, что они являются (или являлись в начале) идейным продолжением Си. Так что не всегда первый язык считают лучшим.
0
|
48 / 48 / 11
Регистрация: 25.11.2011
Сообщений: 275
|
|
22.01.2012, 21:46 | 15 |
Также в интернете множество видеоуроков, которые неплохо подходят для новичков.
0
|
NoMasters
|
22.01.2012, 21:48
#16
|
Не по теме: По-твоему такое вообще возможно? Что бы писать код достаточно уметь составлять и формализировать алгоритмы. Паскаль тут никак не помешает, а может даже и поможет отсутствием лишних заморочек. Моим первым языком с одинаковый натяжкой можно считать бейсик в школе и пыхи как первое осмысленное. Потом внезапно был ассемблер, но это уже другая история.
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
22.01.2012, 21:50 | 17 |
Ни в коем случае! Никаких видеоуроков!
2
|
Jupiter
|
22.01.2012, 21:56
#18
|
0
|
go
|
22.01.2012, 22:04
#19
|
Не по теме: Kastaneda, начинать программировать с ассемблера я считаю большой ошибкой. Вам это удалось, дело случая... Я знаю много примеров, когда у человека не получалось написать элементарные программы на Си, хотя в паскале он был в состоянии их сделать. А все потому, что он знал только азы паскаля, и не умел толком составлять алгоритмы. Мне самому паскаль не нравится, но в нем понимаешь азы программирования. Не нужно заморачиваться с преобразованиями типов, выделением памяти и т.д. Все ошибки отсекаются на этапе компиляции(например, выход за пределы)... Но он не дает столько свободы, сколько С/С++. Про ассемблер много говорить не буду, но считаю, что он должен быть вторым-третьим языком. Не раньше!!!
1
|
NoMasters
|
22.01.2012, 22:08
План изучения С++
#20
|
Не по теме: Зато рисование из коробки) По-моему единственное, что может более-менее серьезно затруднить дальнейшее обучение — старт с формоклепания. Хотя хождения по граблям тех, кто начинает с высокоуровневых, тоже частенько заставляют прикладывать руку к лицу. И видео-уроки ещё, ага:)
0
|
22.01.2012, 22:08 | |
План изучения STM32F3 План изучения J2EE Подскажите правильный план изучения Объясните пожалуйста план изучения Java Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |