Участники рейтинга
Программирование
Программирование на языке С++ в среде Qt Creator
- Авторы: Е. Алексеев (к.т.н, доцент, профессор кафедры прикладной математики и информатики Вятского государственного университета, г. Киров),
Г. Злобин (к.т.н., доцент кафедры радиофизики и компьютерных технологий Львовского национального университета им. И. Франко),
Д. Костюк (к.т.н., доцент кафедры электронных вычислительных машин и систем Брестского государственного технического университета),
О. Чеснокова (старший преподаватель кафедры «Вычислительная математика и программирование» Донецкого национального технического университета),
А. Чмыхало (выпускник факультета электроники Львовского национального университета им. И. Франко), http://freeschool.altlinux.ru/?p=5212
Основы C++, первый семестр
Основы C++, второй семестр
C/C++
Наш подход
Для сравнения курсов мы определили несколько параметров. А именно следующие: интерфейс, содержание, иллюстративный материал, сертификация. Каждый из параметров предполагает присвоение оценки (от 1 до 5), а также имеет свой вес (от 1 до 5). Умножение оценки параметра на его вес дает итоговый балл. Сумма итоговых баллов всех параметров определяет место в рейтинге.
Стоит отметить, что максимальный вес мы присвоили только параметру «содержание» – 5. На балл ниже был оценен параметр «интерфейс» – 4. А два оставшихся параметра – «иллюстративный материал» и «сертификация» – получили оценку 3.
Программирование
Курс «Программирование» (см. рис. 1) был создан на механико-математическом факультете МГУ им. Ломоносова и включает в себя двадцать больших глав. Каждая из глав посвящена той или иной проблеме и состоит из нескольких лекций. А всего, как мы указали выше, их 163, что является «рекордным» количеством для нашего рейтинга, как текущего, так и предыдущих. Предлагаются лекции, которые не ограничиваются лишь теоретическим описанием, но подробно рассматриваются и программная составляющая, ее использование, необходимая для создания базовых программ на C/C++. Таким образом, теория органично перемежается в курсе с практикой, практическими примерами. Курс ориентирован на студентов и преподавателей вузов.
Рисунок 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»
Авторы начинают со знакомства с 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++, второй семестр»
Начать слушателям предлагается в лучших традициях – с цели, задач, структуры курса. Затем внимание уделяется языку программирования С и основам организации оперативной и сверхоперативной памяти в соответствующих программах. В частности, затрагиваются такие проблемы, как место С в промышленной разработке, новшества С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. Итоговый рейтинг курсов
Курс «Программирование», занявший второе место, также предлагает возможность получения сертификата, но не снабжен иллюстративным материалом.
А все остальные курсы не имеют ни иллюстративной составляющей (дополнительной к видеолекциям), ни возможности получения сертификата.
Стоит отметить, что лидер рейтинга не набрал абсолютное количество баллов, так как сертификация не получила высший балл.
- Статья в Википедии, посвященная Full HD – https://ru.wikipedia.org/wiki/Full_HD.
- Академия ALT Linux на портале Intuit.ru – http://www.intuit.ru/academies/companiesn/224/info.