Форум программистов, компьютерный форум CyberForum.ru

План изучения С++ - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 56, средняя оценка - 4.95
n971030
 Аватар для n971030
163 / 95 / 1
Регистрация: 23.01.2010
Сообщений: 1,169
22.01.2012, 14:54     План изучения С++ #1
План изучения С++ (СИ Плаз плаз)

Сегодня в этой теме я хочу поднять технологию изучения С++ от нуля до мастера. И хотелось бы чтобы знающие люди, которые учатся или проходят обучения в ВУЗ (Высших Учебных Заведениях) прокомментировали в какой последовательности они получали знания. Статья по сути банальная, но многие люди, которые изучаю данный язык, самостоятельно и не являющиеся студентами ВУЗов не знают, как подходить правильно к изучению.
Любое практическое дело должно базироваться на твердых и полных четко представляемых знаниях, которые, как правило, у начинающих студентов отсутствуют, а литература именуемая самоучителями хоть и присутствует в большом количестве, но не дает глубокого понимания сложных элементов программирования.
 Цель статьи:
o - расписать последовательность изучения языка программирования С++
o - дать четкие цели и представление о языке
o - ввести суть С++ с четко сформулированной информацией и практическими работами.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2012, 14:54     План изучения С++
Посмотрите здесь:

C++ О порядке изучения
Продолжение изучения C++ C++
C++ Продолжение изучения C++
Объясните план изучения C++ C++
C++ Продолжение изучения C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
22.01.2012, 15:15     План изучения С++ #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ

Не по теме:

Вы и правда думаете что кто-то будет писать вам статью в публицистичном стиле в этой теме? Программисты не журналисты же.


Коротко: берём книгу и читаем её решая задания что идут после глав (желательно чтобы в книге эти задания после глав присутствовали). Больше нечего тут размышлять. Как пример: советую взять книгу Дейтелов.

Добавлено через 36 секунд

Не по теме:

Цитата Сообщение от n971030 Посмотреть сообщение
(СИ Плаз плаз)
Цитата Сообщение от n971030 Посмотреть сообщение
которые учатся или проходят обучения в ВУЗ (Высших Учебных Заведениях)
фейспалмище

silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
22.01.2012, 15:19     План изучения С++ #3
n971030, книги как раз-таки дают вполне чёткий план обучения, ему же, соответственно, и следуют. А то, что они не дают "глубокого понимания сложных элементов программирования", так это от того, что не в тех книгах эти элементы ищутся. Вот такой план предлагаю я:
Прочитать что-нибудь для новичков, например, Лафоре, Экклея, Дейтелов, Прату, Липпмана...
Читать всё для более высокого уровня, что попадётся - Мейерса, того же Эккеля, Страуструпа, Саттера... И это только по языку. По проектированию, например, Банду Четырёх (по паттернам), Буча, Фримен-Фримен-Сьерра-Бейтс (тоже по паттернам)...
Вот вполне чёткий план.
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
22.01.2012, 15:27     План изучения С++ #4
1. Зашел в интернет. Попросил посоветовать самые признанные книги по программирвоанию.
2. Скачал/купил.
3. см. пост Gepar'а.
4. Параллельно с п.3 лазишь по форумам подобным этому, Хабру, и впитываешь решения чужих проблем. спрашиваешь сам, предлагаешь свои решения.
5. Параллельно с п.3 и п.4 нужно постоянно что-то писать самому. Лучше какой-то проект с четкой целью.
5. Когда какая-то база появилась, ищешь более продвинутые книги, книги, оторванные от языков (по проектированию ПО), изучаешь сторонние библиотеки, стандарты.
6. go to 2
Teravisor
30 / 30 / 3
Регистрация: 07.08.2011
Сообщений: 89
22.01.2012, 15:48     План изучения С++ #5
В ВУЗах дают лекции, объясняющие книгу Б.Страуструпа, экзамен всего-лишь его понимание, практикум - написать некоторую программу(зачастую на линукс, иногда с использованием fork(), socket) и сдать её(варианты можно найти гуглём, они не секретные как правило). Ничего особенного, чего нет в книгах. Некоторые после этого курса продолжали писать на яве не зная С++. Практика - лучший учитель.

Лично мне больше помогает при написании программы наличие двух факторов:
1. мануал языка, на котором пишу. С++, ява, питон, без разницы. Онлайн/мануал с поиском быстрее бумажного и содержат более формальную и краткую информацию, поэтому зачастую они лучше. Однако, в книгах иногда написано почему так делать надо, а не иначе, а в интернете надо за этим лезть в историю форума как правило, что не быстро. Это лучше для начинающих.
2. Алгоритм того, что я делаю и как его сделать быстрым и эффективным. Или быстро и эффективно. Два разных понятия.
Развивайте стили программирования: смотрите как например пишут на LISP, PROLOG или Java - совершенно различные подходы, которые вдруг могут оказаться эффективнее и быстрее. Изучайте алгоритмы: Но это относится не только к С++, т.к. это - алгоритмы и стиль написания программ.

Основные правила:
На всё нужно время, за день на С++ мастером не стать.
Практика - лучший учитель.
Мастер С++ знает не только С++. ASM вставки, необычные решения - это не С++.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
22.01.2012, 20:40     План изучения С++ #6
Цитата Сообщение от n971030 Посмотреть сообщение
И хотелось бы чтобы знающие люди, которые учатся или проходят обучения в ВУЗ (Высших Учебных Заведениях) прокомментировали в какой последовательности они получали знания.
То, что дают в ВУЗах ИМХО - не может быть примером для подражания. Есть ощущение, что программа обучения программистов (в моем вузе) писалась еще во времена, когда компьютер занимал целый этаж, а этажом ниже была расположена система охлаждения для этого компьютера.

Если интересно, то программирование нам давали в такой последовательности:
1ый курс - FORTRAN
2ой курс - Prolog, Lisp, C
3ий курс(сейчас) - assembler, Matlab. Еще есть предмет "ОС", где разрешили писать задания на С++ (если кто-то им владеет) или на bash'e
в следующем семестре будет С++ в рамках предмета "ООП".
Еще стоит упомянуть, что все это давалось в ничтожном количестве. Так же параллельно идет дискретная математика (не последний предмет для программиста).

Я начал осваивать С++ самостоятельно по книгам, не дожидаясь, когда нас начнут учить. Теперь вот с умным видом рассуждаю, о несовершенстве учебного плана в нашем вузе
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,094
22.01.2012, 20:46     План изучения С++ #7
Весьма годный последовательный набор. После второго курса уже должно быть можно писать на чем угодно, просмотрев мануал по диагонали.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
22.01.2012, 20:53     План изучения С++ #8
Цитата Сообщение от NoMasters Посмотреть сообщение
После второго курса уже должно быть можно писать на чем угодно
Имхо - я бы начал учить с С в связке с асмом. Потом как нибудь ООП вдолбить, а потом реально на чем угодно писать можно.
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,094
22.01.2012, 20:58     План изучения С++ #9
Kastaneda, ага, особенно клево вдалбливать простейшие алгоритмы работы с массивами проценту, моментально путающемуся в указателях(ибо время ещё не пришло). Сначала нужно понять, как вообще составлять алгоритмы, имея десяток базовых операторов.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
22.01.2012, 21:02     План изучения С++ #10
Цитата Сообщение от NoMasters Посмотреть сообщение
Kastaneda, ага, особенно клево вдалбливать простейшие алгоритмы работы с массивами проценту, моментально путающемуся в указателях(ибо время ещё не пришло).
Я ж говорю

Цитата Сообщение от Kastaneda Посмотреть сообщение
я бы начал учить с С в связке с асмом
После этого вопрос об указателях отпадет сам собой. Когда своими руками научишься блоки памяти перелапачивать.
Я после асма взялся за С, главу про указатели почти пролистал, только на синтаксис посмотрел.
go
22.01.2012, 21:16
  #11

Не по теме:

Начинать необходимо с Паскаля

ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,061
22.01.2012, 21:19     План изучения С++ #12
Цитата Сообщение от n971030 Посмотреть сообщение
я хочу поднять технологию изучения С++ от нуля до мастера.

Не по теме:

"Теория без практики мертва, а вечно зелено лишь древо жизни" (с) "Фауст" Гёте

Kastaneda
22.01.2012, 21:35
  #13

Не по теме:

Цитата Сообщение от go Посмотреть сообщение

Не по теме:

Начинать необходимо с Паскаля

Я знал, что кто-нибудь это скажет
Многие (если не сказать больше) советуют начинать именно с Паскаля. Думаю, это связанно с тем, что они сами с него начинали. Наткнулся как-то на интересную статью, в которой вроде не глупый дядька пишет, что с Паскаля начинать не в коем случае нельзя, т.е. это убивает в человеке программиста на корню. Там же он приводит вполне аргументированные доводы в поддержку своих слов. Я Паскаля не знаю, поэтому не могу присоедениется к его словам, как и опровергнуть их.
Люди советут тот язык, с которого они начинали. Я вот начал с асма, потом С, потом С++, потом, что придется) Если принять во внимание, что в итоге я чему-то научился (а я все же так считаю)), то можно с уверенностью сказать, что мой путь, как минимум, не ошибочный (или, как максимум, самый правильный))
К чему я это все? К тому, что наверное все согласятся с тем, что не существует идеального пути для обучению программированию. Как и абсолютно неправильного наверное тоже. С какого бока не подойди, все равно в итоге ты чему-то научишся, а чему - тут уже скорее от человека зависит, а не от "правильно" выбранного первого языка.
Вот, где-то так

silent_1991
22.01.2012, 21:39
  #14

Не по теме:

Kastaneda, моим самым первым языком был Паскаль (тогда я ещё не планировал программировать, но так получилось, что мне пришлось писать на Паскале). Так вот, мне он совершенно не нравился. Потом я стал писать на Пи (тоже не предполагая, что буду реально программировать, опять же, так сложились обстоятельства). И вот благодаря именно Пи я полюбил программирование. Потом сам начал учить плюсы, и тоже благодаря тому, что они являются (или являлись в начале) идейным продолжением Си. Так что не всегда первый язык считают лучшим.

dickivs
 Аватар для dickivs
46 / 46 / 6
Регистрация: 25.11.2011
Сообщений: 267
22.01.2012, 21:46     План изучения С++ #15
Также в интернете множество видеоуроков, которые неплохо подходят для новичков.
NoMasters
22.01.2012, 21:48
  #16

Не по теме:

Цитата Сообщение от Kastaneda Посмотреть сообщение
это убивает в человеке программиста на корню
По-твоему такое вообще возможно? Что бы писать код достаточно уметь составлять и формализировать алгоритмы. Паскаль тут никак не помешает, а может даже и поможет отсутствием лишних заморочек. Моим первым языком с одинаковый натяжкой можно считать бейсик в школе и пыхи как первое осмысленное. Потом внезапно был ассемблер, но это уже другая история.

silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
22.01.2012, 21:50     План изучения С++ #17
Ни в коем случае! Никаких видеоуроков!
Jupiter
22.01.2012, 21:56
  #18

Не по теме:

Цитата Сообщение от NoMasters Посмотреть сообщение
Сообщение от Kastaneda
это убивает в человеке программиста на корню
По-твоему такое вообще возможно? Что бы писать код достаточно уметь составлять и формализировать алгоритмы. Паскаль тут никак не помешает, а может даже и поможет отсутствием лишних заморочек. Моим первым языком с одинаковый натяжкой можно считать бейсик в школе и пыхи как первое осмысленное. Потом внезапно был ассемблер, но это уже другая история.
NoMasters, не в обиду вам, но все же процитирую
"Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации" Дейкстра
и после одной лабы на бейсике я с этим высказыванием согласен

go
22.01.2012, 22:04
  #19

Не по теме:

Kastaneda, начинать программировать с ассемблера я считаю большой ошибкой. Вам это удалось, дело случая... Я знаю много примеров, когда у человека не получалось написать элементарные программы на Си, хотя в паскале он был в состоянии их сделать. А все потому, что он знал только азы паскаля, и не умел толком составлять алгоритмы. Мне самому паскаль не нравится, но в нем понимаешь азы программирования. Не нужно заморачиваться с преобразованиями типов, выделением памяти и т.д. Все ошибки отсекаются на этапе компиляции(например, выход за пределы)... Но он не дает столько свободы, сколько С/С++. Про ассемблер много говорить не буду, но считаю, что он должен быть вторым-третьим языком. Не раньше!!!

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2012, 22:08     План изучения С++
Еще ссылки по теме:

C++ учебный план
C++ Учебный план подготовки специалистов
C++ Начало изучения С++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
NoMasters
22.01.2012, 22:08     План изучения С++
  #20

Не по теме:

Цитата Сообщение от Jupiter Посмотреть сообщение
и после одной лабы на бейсике я с этим высказыванием согласен
Зато рисование из коробки) По-моему единственное, что может более-менее серьезно затруднить дальнейшее обучение — старт с формоклепания. Хотя хождения по граблям тех, кто начинает с высокоуровневых, тоже частенько заставляют прикладывать руку к лицу. И видео-уроки ещё, ага

Yandex
Объявления
22.01.2012, 22:08     План изучения С++
Закрытая тема Создать тему
Опции темы

Текущее время: 04:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru