Образование в сети: программирование на C++::Журнал СА 11.2015
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Наука и технологии
Подписка
Где купить
Авторам
Рекламодателям
Архив номеров
Контакты
   

  Опросы
  Статьи

Электронный документооборот  

5 способов повысить безопасность электронной подписи

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

 Читать далее...

Рынок труда  

Системные администраторы по-прежнему востребованы и незаменимы

Системные администраторы, практически, есть везде. Порой их не видно и не слышно,

 Читать далее...

Учебные центры  

Карьерные мечты нужно воплощать! А мы поможем

Школа Bell Integrator открывает свои двери для всех, кто хочет освоить перспективную

 Читать далее...

Гость номера  

Дмитрий Галов: «Нельзя сказать, что люди становятся доверчивее, скорее эволюционирует ландшафт киберугроз»

Использование мобильных устройств растет. А вместе с ними быстро растет количество мобильных

 Читать далее...

Прошу слова  

Твердая рука в бархатной перчатке: принципы soft skills

Лауреат Нобелевской премии, специалист по рынку труда, профессор Лондонской школы экономики Кристофер

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 9901
Комментарии: 0
Потоковая обработка данных

 Читать далее...

19.03.2018г.
Просмотров: 8115
Комментарии: 0
Релевантный поиск с использованием Elasticsearch и Solr

 Читать далее...

19.03.2018г.
Просмотров: 8215
Комментарии: 0
Конкурентное программирование на SCALA

 Читать далее...

19.03.2018г.
Просмотров: 5202
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 5885
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

Друзья сайта  

 Образование в сети: программирование на C++

Архив номеров / 2015 / Выпуск №11 (156) / Образование в сети: программирование на C++

Рубрика: Карьера/Образование /  Рейтинг

Игорь Штомпель ИГОРЬ ШТОМПЕЛЬ, инженер, системный администратор. Сфера профессиональных интересов – свободное ПО, keepercoder@gmail.com

Образование в сети:
программирование на C++ 

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

Участники рейтинга

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

  • Авторы: В. Борисенко (к.ф-м.н., старший научный сотрудник кафедры теоретической информатики отделения математики механико-математического факультета МГУ им. М.В. Ломоносова, http://istina.msu.ru/profile/vladimir_borisenko, http://math.msu.su/~vvb)
  • Учебное заведение: ИНТУИТ (http://intuit.ru)
  • Специальность: программист
  • Лекции: 163 лекции
  • Материалы: видео
  • Уровень сложности: специалисты
  • Сертификат: да
  • Адрес: http://www.intuit.ru/studies/courses/13869/1266/info

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

  • Авторы: Е. Алексеев (к.т.н, доцент, профессор кафедры прикладной математики и информатики Вятского государственного университета, г. Киров),

Г. Злобин (к.т.н., доцент кафедры радиофизики и компьютерных технологий Львовского национального университета им. И. Франко),

Д. Костюк (к.т.н., доцент кафедры электронных вычислительных машин и систем Брестского государственного технического университета),

О. Чеснокова (старший преподаватель кафедры «Вычислительная математика и программирование» Донецкого национального технического университета),

А. Чмыхало (выпускник факультета электроники Львовского национального университета им. И. Франко), http://freeschool.altlinux.ru/?p=5212

Основы C++, первый семестр

Основы C++, второй семестр

  • Авторы: Е. Линский (к.т.н., доцент кафедры комплексной защиты информации СПб ГУАП (ЛИАП), https://www.lektorium.tv/speaker/2936)
  • Учебное заведение: Лекториум (http://lektorium.tv)
  • Специальность: программист
  • Лекции: 10 лекций
  • Материалы: видео
  • Уровень сложности: специалисты
  • Сертификат: нет
  • Адрес: https://www.lektorium.tv/course/22858https://www.youtube.com/playlist?list=PL-_cKNuVAYAWx8lq9HICEj4Km01V_ZV6h

C/C++

  • Авторы: А. Петров (ассистент кафедры «Информационные системы и телекоммуникации» Московского государственного технического университета (МГТУ) им. Н.Э. Баумана, http://school.system-analysis.ru/aleksey-petrov)
  • Учебное заведение: Технопарк Mail.Ru (https://park.mail.ru)
  • Специальность: программист
  • Лекции: 9 лекций
  • Материалы: видео
  • Уровень сложности: специалисты
  • Сертификат: нет
  • Адрес: https://park.mail.ru/materials/video/#3

Наш подход

Для сравнения курсов мы определили несколько параметров. А именно следующие: интерфейс, содержание, иллюстративный материал, сертификация. Каждый из параметров предполагает присвоение оценки (от 1 до 5), а также имеет свой вес (от 1 до 5). Умножение оценки параметра на его вес дает итоговый балл. Сумма итоговых баллов всех параметров определяет место в рейтинге.

Стоит отметить, что максимальный вес мы присвоили только параметру «содержание» – 5. На балл ниже был оценен параметр «интерфейс» – 4. А два оставшихся параметра – «иллюстративный материал» и «сертификация» – получили оценку 3.

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

Курс «Программирование» (см. рис. 1) был создан на механико-математическом факультете МГУ им. Ломоносова и включает в себя двадцать больших глав. Каждая из глав посвящена той или иной проблеме и состоит из нескольких лекций. А всего, как мы указали выше, их 163, что является «рекордным» количеством для нашего рейтинга, как текущего, так и предыдущих. Предлагаются лекции, которые не ограничиваются лишь теоретическим описанием, но подробно рассматриваются и программная составляющая, ее использование, необходимая для создания базовых программ на C/C++. Таким образом, теория органично перемежается в курсе с практикой, практическими примерами. Курс ориентирован на студентов и преподавателей вузов.

 Рисунок 1. Курс «Программирование»

Рисунок 1. Курс «Программирование»

Содержание лекций ориентировано на обучение основам программирования на C/C++. Но отмечается, что будет полезно «студентам и преподавателям вузов». Действительно, автор начинает с того, что рассказывает о преподавании программирования на механико-математическом факультете МГУ им. Ломоносова, а также соотношении материала курса с последним. Слушатели начнут свое погружение в мир C/C++ с аппаратных основ – архитектура Фон-Неймана, ассемблера и основ C до работы с матрицами в этих языках и численных методов (интерполяция функций многочленами, вычисление определенных интегралов).

Получив представление об основах С, слушатели смогут перейти к изучению в C/C++, работы с целыми числами. Стоит отметить, что автор много внимания уделяет алгоритмам. Вот, например, после главы, посвященной работе с целыми числами, предлагается рассмотреть алгоритм Евклида, а затем перейти к исследованию массивов и указателей (здесь же речь идет о стековой памяти и аппаратном стеке), их реализации. После этого становится возможным обратить пристальное внимание и на виды памяти и соответствующие два стиля программирования (использование массивов или указателей).

В целом в лекциях можно обнаружить всю необходимую базовую информацию для знакомства с C/C++. Это и сложные типы C, и индуктивные функции, циклы, поиск и сортировка (последней уделено шесть глав), массивы. Интересна составляющая курса – представление чисел в компьютере (целых, вещественных) и особенности работы с ними. Тема представления чисел рассмотрена достаточно подробно – три главы. Две последние главы затрагивают математические аспекты. Одна посвящена работе с матрицами в C/C++ и численным методам (интерполяция функций многочленами, вычисление определенных интегралов).

Максимальный балл получает интерфейс портала Intuit.ru. Он прост, понятен и удобен. Два воспроизведения лекций используются свой движок и плеер, на нем основанный. Он позволяет воспроизводить видео с разным разрешением (от 480 pуб. до 1920 pуб. – прогрессивный формат HDTV) [1]. Кроме того, интерфейс воспроизведения видео позволяет управлять громкостью, показывает время воспроизведения, раскрытие на весь экран. Интерфейс позволяет перейти на любое место видео. Но, к сожалению, лекции курса не снабжены аннотацией и кратким описанием.

Иллюстративный материал к курсу отсутствует. А вот тестирование доступно, но, к сожалению, максимальной балл оно не получает. Хотя возможность получить сертификат после прохождения тестирования имеется. Но в ИТ-секторе широкого признания данные сертификаты пока не получили. Это скорее свидетельство самомотивации его обладателя на профессиональное развитие, свидетельство того, что он способен самообучаться в заданные сроки.

 

Оценка

Коэффициент «Содержание» (С)

Итоговый балл

Содержание

5

5

25

Интерфейс

5

4

20

Иллюстративный материал

0

3

0

Сертификация

4

3

12

 

57

 Таблица 1. Рейтинг курса «Программирование» 

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

В рамках Академии ALT Linux на портале Интернет-Университета Информационных Технологий, как показано на рис. 2, стал доступен курс с названием «Программирование на языке С++ в среде Qt Creator» [2]. Он имеет две особенности. Во-первых, он не требует знакомства с программированием для успешного усвоения материалов лекций, во-вторых, он основан на среде разработки Qt Creator. Эта среда является кроссплатформенной, позволяет создавать визуальные приложения. И, кроме того, в отличие от всех остальных рейтингов курса этот – текстовый. Таким образом, кроме знакомства с алгоритмизацией, программированием, слушатели получают представление о работе с Qt Creator, редактором Geany, библиотекой MathGL (кроссплатформенная). То есть, с одной стороны, слушатели учатся программированию на C++, а с другой, исследуют создание визуальных приложений в Qt Creator.

Рисунок 2. Курс «Программирование на языке С++ в среде Qt Creator»

Рисунок 2. Курс «Программирование на языке С++ в среде Qt Creator»

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

Вторая лекция целиком посвящена основам языка программирования C++: алфавит, переменные, константы, типы данных, основные операции, стандартные функции, средства ввода-вывода и т.п. В последующих лекциях продолжается знакомство с языком и затрагиваются такие темы, как операторы управления, функции, массивы, статические и динамические матрицы, организация ввода-вывода в C++, строки, структуры.

Изучение ООП начинается в 10-й лекции. Именно в ней слушатели получат информацию о парадигме ООП, классах, объектах, создании и удалении объектов, шаблонах классов и т.п. После этого авторы переходят к знакомству с библиотекой Qt. Уделяется внимание ее истории, политике лицензирования, настройке. Далее слушатели узнают о структуре проекта Qt, особенностях компиляции Qt-проекта, классах Qt.

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

15-я лекция предлагает информацию о собственных классах Qt (например, QObject, QMouseEvent, QKeyEvent и др.) и о создании элементов графических интерфейсов. Соответственно, после изучения основ создания графического интерфейса и его элементов средствами Qt авторы предлагают ознакомиться с разработкой программ с графическим интерфейсом. Изложение материала построено на базе использования виджетов Qt.

В дополнение к лекциям курса авторы подготовили дополнительные материалы. Они посвящены редактору Geany и компилятору командной строки, основам библиотеки MathGL (установка, построение двухмерных и трехмерных графиков).

Несколько слов об интерфейсе текстовых курсов ИНТУИТ. Все необходимые возможности доступны. Это и переход на любую лекцию из текущей, и по гиперссылкам, и к упоминающемуся рисунку по ссылке (а сами ссылки выделены цветом). Таким образом, навигация по курсу удобна, проста. Это максимальный балл, с учетом того, что речь идет о текстовом курсе.

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

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

 

Оценка

Коэффициент «Содержание» (С)

Итоговый балл

Содержание

5

5

25

Интерфейс

5

4

20

Иллюстративный материал

5

3

15

Сертификация

4

3

12

 

72

 Таблица 2. Рейтинг курса «Программирование на языке С++ в среде Qt Creator» 

Основы C++, первый семестр

Расширить свое представление о C++ позволяет данный курс, который стал доступен на портале проекта Лекториум. Он содержит много практической информации, снабжен массой примеров, которые призваны помочь в освоении материала. Будет полезен начинающим, желающим повысить свои знания о языке программирования C++.

В целом условно курс можно разделить на две части: базовая (лекции 1-5) и ООП (лекции 5-12). Лекции начинаются с рассмотрения компиляции и линковки, соответственно и с программ, состоящих из нескольких файлов. Отдельное внимание уделено утилите make. В рамках базовой части, далее предлагается изучить указатели, ссылки, глобальную память, стек, кучу. Кроме того, отдельное внимание – динамическому выделению памяти. Завершается базовая часть обзором стандартной библиотеки языка C. И в этой же лекции рассматривается то, для чего необходимо изучать объектно-ориентированное программирование (далее – ООП).

Слушатели начнут изучение ООП на базе С++ со знакомства с инкапсуляцией, рассмотрят конструктор копий и ключевые слова const, enum, typedef, static, inline, а также структуры. А также до перехода к изучению наследования автор предлагает исследовать выделение объектов в куче, декомпозицию программы на части и умные указатели.

Завершают курс две лекции, в которых дается представление о наследовании и полиморфизме.

Курс доступен на двух порталах: собственно Lektorium.tv и канале Youtube.com. Но это условно, так как на портале Lektorium.tv доступен не его движок для воспроизведения видео, а просто интегрировано видео с Youtube.com. О преимуществах воспроизведения видео на этом портале нет необходимости говорить.

Отметим следующее: на Youtube.com курс доступен в виде плейлиста, что позволяет при просмотре той или иной лекции перейти на любую необходимую. Таким образом, автор в полном объеме использует один из факторов успеха онлайн-курсов, а именно удобный интерфейс, который, в свою очередь, способствует хорошему восприятию учебных материалов.

Соответственно, максимальный балл в этом рейтинге получает и интерфейс портала Youtube.com.

Иллюстративный материал отсутствует, как и недоступно получение сертификата.

 

Оценка

Коэффициент «Содержание» (С)

Итоговый балл

Содержание

5

5

25

Интерфейс

5

4

20

Иллюстративный материал

0

3

0

Сертификация

0

3

0

 

45

 Таблица 3. Рейтинг курса «Основы C++, первый семестр» 

Основы C++, второй семестр

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

Автор начинает с приведения типов, константного объекта и указателя на функции. Далее слушатели познакомятся с шаблонами, вложенными классами, пространством имен, а затем им предлагается перейти к освоению Standard Template Library (STL, Стандартная библиотека шаблонов).

В рамках STL исследуются последовательные контейнеры (vector, deque, list, string) и ассоциативные контейнеры (set, multiset, map, multimap). Кроме того, уделено внимание итераторам и функторам.

В заключительных лекциях уделяется внимание использованию XML, исключениям, приведению типов в стиле языка программирования C, вводу-выводу в STL, перегрузке операторов, MVC (Model-View-Controller), Boost и др.

Все, что сказали об интерфейсе, иллюстрациях и сертификации для первой части курса, справедливо и для второй части. 

 

Оценка

Коэффициент «Содержание» (С)

Итоговый балл

Содержание

5

5

25

Интерфейс

5

4

20

Иллюстративный материал

0

3

0

Сертификация

0

3

0

 

45

Таблица 4. Рейтинг курса «Основы C++, второй семестр» 

C/C++

Видеокурс от совместного проекта МГТУ им. Н. Э. Баумана и Mail.Ru Group, который получил простое название «Технопарк».

Слушатели смогут познакомиться не только с программированием на C++, но и с разработкой архитектуры или дизайна. Другими словами, будут учиться проектированию для C++ (см. рис. 3).

Рисунок 3. Курс «Основы C++, второй семестр»

Рисунок 3. Курс «Основы C++, второй семестр»

Начать слушателям предлагается в лучших традициях – с цели, задач, структуры курса. Затем внимание уделяется языку программирования С и основам организации оперативной и сверхоперативной памяти в соответствующих программах. В частности, затрагиваются такие проблемы, как место С в промышленной разработке, новшества С11, препроцессорная обработка, управление памятью и производительность кода, оперативная и сверхоперативная память (физическая и логическая организация), указатели, одномерные массивы, строки и т.п.

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

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

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

Библиотеки, которые исследуются автором, – STL и Boost. Стоит отметить, что дается представление о новшествах C11 применительно к STL, а среди тем, к ней относящихся, были затронуты итераторы, контейнеры, адаптеры и др. Кроме того, уделено внимание функциональному программированию в рамках C++. Так, например, автор дает представление о параметризации алгоритмов STL лямбда-функциями и применении замыканий. Что касается Boost, то слушатели узнают о ее составе и назначении, познакомятся с примерами использования, а также узнают, как можно с ее помощью повысить производительность и безопасность кода.

Завершает курс информация о принципах и шаблонах объектно-ориентированного проектирования, идиоматике C++, основах рефакторинга и качества исходного кода, стандартах кодирования и методологии разработки.

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

Презентации к лекциям не прилагаются. Иллюстративный материал отсутствует. Также отсутствует возможность получения сертификата.

Курс может стать хорошим подспорьем для тех, кто интересуется вопросами углубленного программированием на C++. Начинать знакомство с программированием вообще и с программированием на C/C++ в частности с этого курса не стоит. А вот расширить свои познания в области разработки и проектирования на основе языка программирования C++ можно. 

 

Оценка

Коэффициент «Содержание» (С)

Итоговый балл

Содержание

5

5

25

Интерфейс

5

4

20

Иллюстративный материал

0

3

0

Сертификация

0

3

0

     

45

Таблица 5. Рейтинг курса «C/C++»

 Итак, с большим отрывом в рейтинге побеждает курс Академии ALT Linux, за ним – курс от ИНТУИТ. А вот места с третьего по пятое поделили три оставшихся курса. Результаты требуют пояснений.

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

Курс

Итоговый
балл

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

72

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

57

Основы C++, первый семестр

45

Основы C++, второй семестр

45

С/C++

45

Таблица 6. Итоговый рейтинг курсов

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

А все остальные курсы не имеют ни иллюстративной составляющей (дополнительной к видеолекциям), ни возможности получения сертификата.

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

    1. Статья в Википедии, посвященная Full HD – https://ru.wikipedia.org/wiki/Full_HD.
    2. Академия ALT Linux на портале Intuit.ru – http://www.intuit.ru/academies/companiesn/224/info.

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru