Подборка для тех, кто привык воспринимать информацию в визуализированной форме: лучшие видео- и онлайн-курсы по С++ для разработчиков разных уровней от Библиотеки Программиста.

Видеокурсы

Изучение С++ с нуля

Видеокурс по основам языка, его основным принципам и структурам. Типы данных, динамическое управление памятью, работа с файлами, ссылки и указатели, шаблоны и основы ООП.

Программирование на С и С++

Фундаментальный курс по языку С и его тонкостям: структуры, функции, работа с памятью, потоки ввода-вывода, компиляция и сборка проекта. Три последние лекции посвящены ООП в С++.

Алгоритмы, структуры данных и программирование в С++

Подборка из десяти коротких лекций, дающих понимание основ алгоритмизации и структурирования задач, а также эффективной реализации практических приемов их решения.

Практическое решение задач на С++

Курс посвящен разбору реальных математических, алгоритмических, логических и оптимизационных задач. Данная серия ориентирована на людей, имеющих некоторый опыт и глубокое понимание алгоритмов, поэтому может быть несколько сложной для новичков.

Создание простых игр на С++

Кто из нас в детстве не мечтал делать игры? Данный курс состоит из 16 одно-/двухминутных видео, в каждом из которых под легкую музыку демонстрируется написание кода для классических игр вроде змейки, арканоида и Doodle Jump.

Программирование простых игр на С++ за 10 минут

В целом подборка аналогична предыдущей, за исключением, пожалуй, того, что демонстрируемый код содержит больше комментариев и в общем более понятен интуитивно. Каждое десятиминутное видео научит, как написать простую игру: шашки, сапера, тетрис и др.

Углубленный С++

Серия для уверенных знатоков С++, которая позволит углубить и расширить свои знания техник, методик и фич языка. Из этого курса вы узнаете о различиях между логической и физической константностью, виртуальных функциях, функциях, генерируемых компилятором, и многом другом.

Онлайн-курсы

CPA: Programming Essentials in C++

Англоязычный курс от поможет приобрести базовые навыки написания программ на языке C++, усвоить принципы объектно-ориентированного программирования, а также универсальные концепции разработки программного обеспечения. Курс подходит для подготовки к экзамену на получение сертификата CPA от C++ Institute.

Программирование на языке С++

Данный базовый курс, входящий в онлайн-программы по основам программирования и анализу данных , дает представление об основных средствах языка C++. Особое внимание уделяется обсуждению базовых принципов работы программ, а также процессу их компиляции.

(Code-Live)

Этот самоучитель создан для тех, кто хочет освоить основы программирования на C++. Уроки рассчитаны, в первую очередь на новичков, но будут полезны и тем, кто уже имеет небольшой опыт в программировании.

Введение в программирование (С++) (Яндекс)

Курс рассчитан на школьников, интересующихся программированием. Для его освоения достаточно знания программы 8 класса. Слушатели начнут изучать C++ с нуля, напишут множество небольших программ и познакомятся с основными конструкциями языка. Полученные знания станут отличной основой для продолжения обучения программированию в вузе.

Основы и тонкости языка программирования C++. Практические задания и тесты. Хотите научиться программировать? Тогда вы по адресу. Неважно, имеете ли вы опыт в программировании или нет, эти уроки помогут вам начать создавать, компилировать и отлаживать программы на языке C++ в разных средах разработки: Visual Studio, Code::Blocks, Xcode, Eclipse и других IDE. Множество примеров и подробных разъяснений. Отлично подойдут как для новичков (чайников), так и для более продвинутых. Объясняется всё с нуля и до самых деталей. Эти уроки (200+) дадут вам хорошую базу/фундамент в понимании программирования не только на С++, но и на других языках. И это абсолютно бесплатно!

От вас нужно только желание, желание учиться. Всё остальное вы найдёте здесь .

За репост +20 к карме и моя благодарность!

Глава №0. Введение. Начало работы

Глава №1. Основы C++

Глава №2. Переменные и основные типы данных в C++

Глава №3. Операторы в C++

Глава №4. Область видимости и другие типы переменных в C++

Изучение программирования - не то, чем можно заниматься между делом. Но не нужно тратить всю жизнь, чтобы понять основы. Есть множество способов облегчить себе обучение.

Нередко бывает, что новички начинают учиться, уже зная что-то о программировании. Сначала всё идёт хорошо, но по мере дальнейшего изучения начинаются проблемы. Почему? Новички быстро пробегают вступительную часть, думая, что и так всё знают, но на деле это бывает редко. Они знают часть материала, но этого недостаточно, чтобы хорошо понять основы.

В то же время нельзя прекращать развиваться. Вы можете двигаться медленно или быстро, но не пропускайте ни одну тему. Осваивая больше материалов, вы создаёте себе фундамент для будущего.

1. Изучайте примеры кода

Говоря о чтении, мы обычно подразумеваем чтение слов на странице, но программирование - это про чтение кода. Когда вы только учитесь программировать, вы должны изучать и пытаться понять каждый пример. Можно даже сперва читать и пытаться понять примеры кода, а уже потом читать текст. Это не всегда срабатывает, но зато учит смотреть код внимательно и вникать в каждую деталь.

2. Не просто читайте примеры кода - запускайте их!

Когда вы читаете обучающее руководство или учебник, легко посмотреть на пример и сказать: «Я понял, я понял. Да, в этом есть смысл». Конечно, вы могли понять его, но вы не знаете наверняка действительно ли вы поняли его правильно. Есть лишь один способ выяснить - сделать что-то с кодом.

Если вы до сих пор не сделали этого, установите среду разработки (IDE), которая поддерживает ваш язык программирования.

Затем перенесите пример в IDE - если вы набьёте его вместо того чтобы просто скопировать, вы действительно пройдётесь по нему от начала до конца. Ввод кода заставит вас уделять внимание деталям синтаксиса языка, например точкам с запятыми, которыми должна заканчиваться каждая строка.

Теперь скомпилируйте и запустите код. Убедитесь, что он делает именно то, что должен.

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

3. Начните писать свой код как можно раньше

Как только вы что-то поймёте про язык - даже если от него у вас уже кружится голова - начните писать программы на нём. Иногда трудно найти идеи для программ. Это нормально, в самом начале вам не надо придумывать свою идею.

Вы можете также воспроизвести упражнения из руководства или книги, которую вы читаете, не заглядывая в примеры. Это не так легко, как кажется. Ещё эта техника работает хорошо, если вы слегка измените код из примеров.

Если вы не хотите думать о маленьких программах, а хотите сразу писать нечто большее, вроде игр, вам надо начинать с маленьких кусочков, которые вы затем сможете использовать для создания игры. Независимо от того, будете вы их использовать или нет, вы получите ценнейший опыт.

4. Научитесь использовать отладчик

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

Отладчик позволяет быстро ответить на вопросы о том, что делает код.

Первое время исправление ошибок с отладчиком будет занимать много времени. Но по мере того, как количество ошибок в вашем коде будет расти, отладчик начнёт экономить уйму вашего времени. А количество ошибок, поверьте, будет измеряться десятками.

Новички часто не желают использовать отладчик. На самом деле, они усложняют жизнь самим себе, тратя годы на исправление очень простых ошибок. Чем раньше вы изучите отладчик, тем раньше это вам воздастся.

5. Ищите больше источников

Если вы что-то не понимаете, в первую очередь посмотрите альтернативные объяснения - интернет полон информации о программировании. Мы все воспринимаем новую информацию по-разному: может быть, вам для понимания нужны картинки, а кому-то другому - подробные инструкции или множество книг с детальными объяснениями.

Но если это не работает, то лучший способ разобраться с проблемой - спросить кого-то другого. Однако, если вы скажете «я не понимаю, пожалуйста, объясни», то, скорее всего, получите в ответ ссылку на тот же текст, который вы не поняли. Вместо этого, своими словами перескажите, как вы поняли текст. Чем больше вопрос раскрывает ваши мысли, тем легче будет знающему эксперту ответить на него. Программисты иногда кажутся раздражительными при ответе на вопросы. Но причина скорее в том, что они хотят продвинуться в диалоге, а это требует усилий от обеих сторон. Если вы зададите умный, подробный вопрос, который продемонстрирует, что вы думаете, то получите хорошие результаты.

1 голос

Здравствуйте, дорогие читатели!

О заработках программистов ходят легенды. О возможности работать разработчиком на фрилансе (то есть, в пижаме и за чашкой кофе либо на берегу океана) тоже. Этим легендам верят и в эту сферу хотят попасть.

Подогревает интерес то, что сами программисты твердят, будто путь в профессию открыт для всех, не только для технарей. Главное, знать, где его найти. Интересуетесь им тоже? Тогда эта статья, описывающая программирование для чайников – для вас!

Всем ли дано

Как-то Вуди Аллен сказал, что большая часть жизни – это показуха. Все хотят написать книгу, сценарий (программу), но дальше желаний мало у кого доходит, а зря. Если вы начали, вы на полпути к завершению. И не нужно откладывать начало на завтра, на следующий месяц либо на понедельник и искать причины не реализовать идею прямо сейчас.

Было бы желание. Подтверждает это и публикация на Хабре, которую написал незрячий программист. Незрячий, но опытный и умеющий хорошо кодить. Мы живем в XXI веке, а, значит, у нас море возможностей.

Правильный старт – полдела

На вопрос том, что нужно для того, чтобы обучиться программированию с нуля и потом этим зарабатывать, гуру отвечают: «Усвоение основ, которые впоследствии встречаются в работы повсеместно». Это:

  • алгоритм;
  • функция;
  • цикл;
  • условие.

Разобравшись с ними, можно будет понять, как работает программа и как алгоритмы ее работы реализовать на практике. Найти эти знания самостоятельно можно в книгах. Но еще более важно выбрать язык и определиться с направлением программирования.

С какого языка начать

В большинстве технических вузов обучение начинают с немного устаревших языков. Это могут быть Turbo Pascal и Turbo C. Сами программисты их сейчас практически не используют, но цель обучения эти языки оправдывают. Они помогают студентам разобраться с тонкостями работы с оперативной памятью и помогают постичь, какой путь требуется пройти, чтобы преобразовать замысел в работающую программу.

Кроме того, тот же язык С является своеобразной основой для создания современных языков и изучить его будущему программисту очень полезно.

Если же интересуют перспективные языки программирования, обратите внимание на:

  • Python. К слову, с него многие начинающие программисты и начинают. Секрет его популярности – не в обширном функционале, а в возможности быстро приступить к практике. Чтобы начать работу, достаточно скачать файл и его запустить. Разобраться в тонкостях работы также несложно: есть масса книг, написанных под Python. Кстати, этот язык используется во многих крупных компаниях, и те, кто хорошо в нем разбираются, всегда могут найти работу.
  • Java. Очень популярный, применяется на всех устройствах и платформах. Специалисты, которые освоили его, востребованы и всегда смогут найти высокооплачиваемую должность. К слову, он не имеет ничего общего с JavaScript.
  • PHP. . Его называют «не совсем настоящим» языком программирования, так как он заточен исключительно под веб, в то же время его редко применяют в веб-приложениях. Язык лежит в основе самых популярных «движков», или CMS. (В этой публикации я уже писал о том, что , а здесь вы можете увидеть, ) Поэтому, если вы разберетесь с ним, а затем и с WordPress, которая является одной из самых популярных систем управления сайтами, работу себе вы всегда найдете. .

Есть и другие языки: Ruby (как и Python скриптовый), С# (по функционалу похож на Java, позволяет создавать сайты и приложения на фреймворке.NET), С++ (сложная версия С, которая открывает массу возможностей, разбираться с которыми лучше с наставником).

Как изучать

Есть три способа выучить основы программирования, не имея никаких навыков.

Самообразование

В этом случае в свободное время нужно будет читать книги, например:

  • «Изучаем РНР и MySQL» Л. Бейли и М. Моррисон;
  • «Простой Python. Современный стиль программирования » Б. Любанович и др.

Затем полученные знания использовать на практике. Тогда за год – два при условии прилежного изучения можно будет освоить профессию бесплатно. Главное, помнить, ради чего все начиналось и постоянно практиковать.

Это самый тяжелый путь для начинающих, поэтому преодолеть его сможет только человек, который живет идеей, искренне любит программирование и сможет сам во всем разобраться.

Помощь ментора

Ментор – это опытный программист, который направит вас на путь истинный. Он и литературу посоветует, и код проверит, и задания на отработку практических навыков подкинет. Главное, его отыскать. Где? На форумах, онлайн-конференциях. Причем, отыскать и заинтересовать работать с вами.

Тренинги

Чтобы преуспеть в программировании, нужно много практиковать, используя теорию на практике. На этом основан курс GeekBrains . С его помощью вы сможете научиться кодить бесплатно в процессе просмотра обучающих видеороликов и выполнения домашнего задания.


Огромный плюс – общение с единомышленниками. Это не только вдохновляет, но и помогает развиваться: в команде чаще появляются сложности и ошибки, с которыми наставники учат вас справляться. Знать о них – значит, быть на шаг вперед конкурентов.

Куда податься

С чего начать обучение? С выбора направления, которое подскажет и выбор языка. Есть:

  • Веб-программирование – перспективная и быстроразвивающаяся область, для работы с которой нужен только компьютер и браузер. Позволяет создавать и поддерживать сайты. Освоив его, вы приобретете специальность, благодаря которой сможете хорошо зарабатывать. Хотите быть веб-программистом? Учите PHP.
  • Разработка программ и приложений. Сложное, но интересное направление, разобраться в котором без знания основ практически невозможно. Выбор языка зависит от сферы: мобильные, под Android () или другую платформу. Java подойдет.
  • Системное администрирование. Здесь все просто: нужно настраивать программы ранее кем-то созданные. В этом направление важно разностороннее развитие.

Путь к успеху во всех случаях лежит через умение совершенствоваться и саморазвиваться.

Поэтому подписывайтесь на блог, чтобы постоянно получать порцию полезной информации и на группу ВКонтакте . А также постоянно применяйте знания на практике: «пишите» для себя, решайте задачки в сети для программистов, наконец, ищите, где идет набор новичков в команду профи на биржах фриланса.

  • Технологии: HTML, CSS, JavaScript, Git, Node.js, React.js и другие.
  • Язык: английский.

Программа freeCodeCamp последовательно обучает пользователя всем основным аспектам веб-программирования от начальных понятий до сложных приёмов разработки. В начале каждого урока вы читаете теорию, затем применяете её на практике: пишете код в специальном редакторе, а система вас проверяет. Если возникают трудности, можно обсуждать их с другими учащимися на форуме.

В конце теоретических модулей вам показывают проекты, на примере которых вы должны создавать собственные веб-приложения. Результаты разработки нужно публиковать на ресурсе, после чего их могут оценивать другие пользователи.

Вдобавок freeCodeCamp помогает ученикам собираться в команды и работать совместно над реальными некоммерческими проектами. Это хороший шанс получить ценный опыт разработки и портфолио, необходимые для трудоустройства.

2. Codecademy

  • Технологии: HTML, CSS, JavaScript, Angular.js, React.js, Python, Ruby и другие.
  • Стоимость: бесплатно или от 20$ в месяц за дополнительный контент.
  • Язык: английский.
  • Уровень сложности: лёгкий-средний уровни.

Как и предыдущий ресурс, Codecademy делает ставку на обучение веб-программированию. Вы читаете теорию, после чего выполняете задания в интерактивном редакторе кода. К услугам пользователя отдельные курсы, посвящённые разным технологиям. Основная часть каждого из них доступна бесплатно, но проверочные тесты и задания по разработке проектов открываются после оформления подписки.

В Codecademy также есть комплексные платные программы, которые систематизируют и объединяют материалы разных курсов. К примеру, программа Build Websites from Scratch шаг за шагом обучает разработке простого сайта с нуля с использованием различных технологий.

3. Coursera

  • Технологии: HTML, CSS, JavaScript, Angular.js, Java, Python, Ruby, Swift и другие.
  • Стоимость: бесплатно или от 49$ в месяц за дополнительный контент.
  • Язык: английский, русский и другие.
  • Уровень сложности: все уровни.

На Coursera вы найдёте множество курсов по разным языкам программирования от ведущих мировых университетов. Здесь можно обучаться не только веб-разработке, но также созданию мобильных и настольных программ. Некоторые курсы самодостаточны, но большинство объединены в специализации - наборы связанных курсов.

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

4. edX

  • Технологии: HTML, CSS, JavaScript, Java, Python, Ruby и другие.
  • Стоимость: бесплатно или от 49$ в месяц за сертификат.
  • Язык: английский и другие.
  • Уровень сложности: все уровни.

На edX вы можете получить доступ к курсам от известных компаний и университетов. Среди них есть, к примеру, знаменитый вводный курс для начинающих программистов Introduction to Computer Science от Гарвардского университета. Образовательный контент представлен в основном видеолекциями и текстами. Некоторые курсы содержат тесты и другие интерактивные задания.

За прохождение большинства материалов платформа не просит денег. Но получить сертификат, подтверждающий успешное окончание того или иного курса, можно только за деньги.

5. ИНТУИТ

  • Технологии: HTML, CSS, JavaScript, алгоритмы и базы данных, C#, Java, Python, Ruby, и другие.
  • Стоимость: бесплатно или от 500 рублей в месяц за услуги тьютора.
  • Язык: русский.
  • Уровень сложности: все уровни.

В каталоге образовательной платформы «ИНТУИТ» есть текстовые и видеокурсы от российских учебных заведений и международных IT-компаний. Контент площадки охватывает все основные сферы программирования от разработки сайтов до создания настольных программ. Самостоятельное обучение бесплатно, но есть платная услуга, в рамках которой пользователю помогает персональный тьютор.

6. Stepic

  • Технологии: JavaScript, C#, нейронные сети, C++ и другие.
  • Стоимость: полностью бесплатно.
  • Язык: русский, английский.
  • Уровень сложности: легкий-средний.

Ещё одна некоммерческая площадка, курсы для которой создают российские компании и вузы. Хотя на Stepic не так много материала о конкретных языках программирования, здесь можно почерпнуть фундаментальные знания из области математики и теории алгоритмов, которые пригодятся каждому разработчику.

7. Современный учебник Javascript

  • Технологии: JavaScript и другие.
  • Стоимость: бесплатно или от 6 500 рублей за дополнительный курс.
  • Язык: русский.
  • Уровень сложности: все уровни.

Этот ресурс посвящён языку JavaScript и сопутствующим веб-технологиям. Здесь вы найдёте очень подробный, хорошо структурированный и доступный для понимания текстовый курс по JS. Задания после каждой темы помогут закрепить полученные знания. В то же время материал чисто теоретический и не учит созданию проектов на практике.

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