Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.90/107: Рейтинг темы: голосов - 107, средняя оценка - 4.90
188 / 120 / 4
Регистрация: 23.01.2010
Сообщений: 1,320
1

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

22.01.2012, 14:54. Показов 20019. Ответов 23
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
План изучения С++ (СИ Плаз плаз)

Сегодня в этой теме я хочу поднять технологию изучения С++ от нуля до мастера. И хотелось бы чтобы знающие люди, которые учатся или проходят обучения в ВУЗ (Высших Учебных Заведениях) прокомментировали в какой последовательности они получали знания. Статья по сути банальная, но многие люди, которые изучаю данный язык, самостоятельно и не являющиеся студентами ВУЗов не знают, как подходить правильно к изучению.
Любое практическое дело должно базироваться на твердых и полных четко представляемых знаниях, которые, как правило, у начинающих студентов отсутствуют, а литература именуемая самоучителями хоть и присутствует в большом количестве, но не дает глубокого понимания сложных элементов программирования.
 Цель статьи:
o - расписать последовательность изучения языка программирования С++
o - дать четкие цели и представление о языке
o - ввести суть С++ с четко сформулированной информацией и практическими работами.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.01.2012, 14:54
Ответы с готовыми решениями:

План изучения
Всем привет! Я знаю C++ на уровне ООП (классы, наследование, шаблоны, исключения, перегрузка...

Объясните план изучения C++
мне один человек посоветовал такой план изучение С++(для самоучек) 1. Основа C++, с понятием об...

План изучения
Всем доброй ночи! Знаю,глупый и всем надоевший вопрос,но как учить джаву? Посмотрел,что надо знать...

План изучения ассемблера
Всем привет! Начал недавно изучать ассемблер, пока многое не понятно и не привычно, но я стараюсь...

23
1186 / 542 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
22.01.2012, 15:15 2
Лучший ответ Сообщение было отмечено как решение

Решение

Не по теме:

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


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

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

Не по теме:

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

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
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,116
Записей в блоге: 2
22.01.2012, 20:40 6
Цитата Сообщение от n971030 Посмотреть сообщение
И хотелось бы чтобы знающие люди, которые учатся или проходят обучения в ВУЗ (Высших Учебных Заведениях) прокомментировали в какой последовательности они получали знания.
То, что дают в ВУЗах ИМХО - не может быть примером для подражания. Есть ощущение, что программа обучения программистов (в моем вузе) писалась еще во времена, когда компьютер занимал целый этаж, а этажом ниже была расположена система охлаждения для этого компьютера.

Если интересно, то программирование нам давали в такой последовательности:
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
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,116
Записей в блоге: 2
22.01.2012, 20:53 8
Цитата Сообщение от NoMasters Посмотреть сообщение
После второго курса уже должно быть можно писать на чем угодно
Имхо - я бы начал учить с С в связке с асмом. Потом как нибудь ООП вдолбить, а потом реально на чем угодно писать можно.
0
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
22.01.2012, 20:58 9
Kastaneda, ага, особенно клево вдалбливать простейшие алгоритмы работы с массивами проценту, моментально путающемуся в указателях(ибо время ещё не пришло). Сначала нужно понять, как вообще составлять алгоритмы, имея десяток базовых операторов.
0
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,116
Записей в блоге: 2
22.01.2012, 21:02 10
Цитата Сообщение от NoMasters Посмотреть сообщение
Kastaneda, ага, особенно клево вдалбливать простейшие алгоритмы работы с массивами проценту, моментально путающемуся в указателях(ибо время ещё не пришло).
Я ж говорю

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

Не по теме:

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

1
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
22.01.2012, 21:19 12
Цитата Сообщение от n971030 Посмотреть сообщение
я хочу поднять технологию изучения С++ от нуля до мастера.

Не по теме:

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

0
Kastaneda
22.01.2012, 21:35
  #13

Не по теме:

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

Не по теме:

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

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

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

Не по теме:

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

0
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
22.01.2012, 21:50 17
Ни в коем случае! Никаких видеоуроков!
2
Jupiter
22.01.2012, 21:56
  #18

Не по теме:

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

0
go
22.01.2012, 22:04
  #19

Не по теме:

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

1
NoMasters
22.01.2012, 22:08     План изучения С++
  #20

Не по теме:

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

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.01.2012, 22:08

План изучения STM32F3
Привет всем), не могли бы мне помочь с планом изучения платы STM32F3 и в частности из изучением...

План изучения J2EE
Добрый день, пытаюсь научиться азам Java for Web, после пойти работать. Много пытался начать,...

Подскажите правильный план изучения
Добрый день. Хочу обратится за помощью к знающим разработчикам. Самостоятельно начал изучать язык...

Объясните пожалуйста план изучения Java
Я начинаю изучать Java , и просто никак не могу выбрать план изучения ... В разных книгах он...


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

Или воспользуйтесь поиском по форуму:
20
Закрытая тема Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru