Разработка видеолекций по программированию С++
Видео обучение как форма дистанционного обучения и набор систематически подобранных видеолекций по заданной теме, записанных с экрана монитора с помощью специальных программ. Интерактивный процесс формирования навыков работы с языком программирования С++.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 18.05.2016 |
Размер файла | 1,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МИНИСТЕРСВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
"КУБАНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ"
(ФГБОУ ВПО "КубГУ")
Кафедра вычислительной математики и информатики
Факультет математики и компьютерных наук курс 4
Направление 02.03.01 Математика и компьютерные науки
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА БАКАЛАВРА
Разработка видеолекций по программированию С++
Работу выполнил Леонов
Научный руководитель
доктор физ.-мат. наук, профессор
К.А. Лебедев
Краснодар
2015
Содержание
- Введение
- 1. Преимущества и недостатки видеолекций
- 2. Выбор видеоредактора и среды разработки
- 3. Особенности языка программирования С++
- 3.1 Объектно ориентированный подход
- 3.2 Преимущества и недостатки языка программирования С++
- 4. Запись и редактирования видеоуроков
- 5. Видеолекции
- Заключение
- Список использованных источников
- Введение
- Видео обучение является одной из форм дистанционного обучения, представляющая собой набор систематически подобранных видеолекций по заданной теме, записанных с экрана монитора с помощью специальных программ с комментариями к уроку, либо снятых с озвучиванием на видеокамеру. Часто применяются средства компьютерной анимации для увеличения наглядности и интерактивности урока.
- Преимущество видеолекций состоит в их доступности, в любое время студент может получить доступ к материалам, ознакомиться м ними и проработать непонятные моменты. Видео уроки могут распространяться с помощью Интернет-ресурсов, а так же на переносных носителях информации. Видеолекции применяются чаще для самообучения, либо как вспомогательные материалы к уже имеющимся средствам обучения.
- Комбинация аудио и видео способствует стимулированию запоминания, развитию внимания и мышления (усвоение видеоинформации со звуковым сопровождением составляет 51 % после первого же просмотра, против 9 % для печатного текста и 17 % для аудиозаписи).
- Объект исследования: процесс формирования навыков работы с языком программирования С++.
- Цель работы: Разработка видеолекций для студентов по теме "Объектно-ориентированное программирование на языке C++".
- 1. Преимущества и недостатки видеолекций
- С распространением интернета стало меняться отношение к образованию. Получили распространение такие форму обучения, как дистанционное обучение и самообучение, для которых и можно использовать видеолекции.
- Любой преподаватель, при наличии определенных знаний и навыков может записать учебный материал в форме виде лекции. Получение знаний с помощью видеолекций уже набрало популярность.
- Преимуществами обучения с помощью видеоматериалов является:
- - возможность обучения в домашних условиях в удобное время;
- - возможность изучать материал в любом объеме;
- - пользователь воспринимает данный ему материал двумя органами чувств - зрение и слух;
- - возможность использовать средства управления воспроизведения: переходить к определенным моментам записи, регулировать громкость, воспроизводить видеозапись по кадрам, регулировать скорость воспроизведения, а так же регулировать размер изображения;
- - материал будет хорошо структурирован и продемонстрирован максимально наглядно.
- Однако, у такой формы обучения есть недостатки:
- - различие видеолекций у разных авторов по качеству и полезности;
- - низкая интерактивность, а так же вытекающие из нее недостаточная глубина решения задач и сложности индивидуализации обучения.
- Следует различать видеолекцию как самостоятельный вид средства обучения и мультимедийный компонент в составе других средств обучения. Во втором случае в мультимедийных записях выделяются фрагменты, ассоциируемые с различными элементами содержания средств обучения, а отражаемые в них сведения также воплощаются в текстовых и графических представлениях, охватываемых системой гиперсвязей. В результате мультимедийные записи, сохраняя целостность, приобретают определенную интерактивность, так как их фрагменты вовлекаются в общую систему гиперсвязей, накладываемых на учебный материал и становятся доступными из разных мест компьютерного средства обучения.
- Для создания мультимедиа уроков используются следующие технические средства:
- - компьютер;
- - видеоаппаратура;
- - аудиоаппаратура.
- К программным средствам относятся:
- - средства записи видео и аудиоматериалов с периферийных устройств;
- - средства создания и обработки видео и аудио материалов.
- Выделяются два метода создания видеолекций:
- - запись при помощи видеокамеры;
- - запись с экрана монитора.
- В первом случае может быть записано реальное учебное занятие или мероприятие, такие, как лекция, семинар, беседа, экскурсия, демонстрация изучаемой технологии и оборудования, научный или производственный эксперимент.
- Во втором способе записывается сигнал в специальном формате с монитора, телевизора и другой техники и производится последующая его обработка.
- Запись производится с помощью специального программного обеспечения, имеющего большое количество настроек. Аудиодорожка может записываться как вместе с видео так и отдельно с последующим наложением на видеоряд.
- Выбор методов записи звука зависит от возможностей аппаратуры, способа обработки звука и желаемого результата.
- Плюсами записи голосового сопровождения является экономия времени, так как аудио и видео пишутся сразу, а так жене требуется последующего видеомонтажа. Минусами же являются сложность записи.
- После записи материалов необходимо приступать к процессу видеомонтажа. Для этого существует большое количество программных продуктов, позволяющих производить обработку видео и аудио материалов, добавлять анимацию, текст и субтитры, а так же разные эффекты.
- 2. Выбор видеоредактора и среды разработки
- Для записи и монтажа видео нам потребуется воспользоваться программой, включающей набор инструментов, позволяющих редактировать видеофайлы.
- Для работы с видео, видеоредактор предлагает создать проект, представляющий совокупность всех изменений и настроек, записанных в отдельном файле проекта.
- В настоящее время существует большое количество видеоредакторов, позволяющих выполнять различный спектр задач. Разберем несколько и остановим свой выбор на одном из них.
- Sony Vegas - это профессиональная программа для многодорожечного монтажа, редактирования аудио и видео потоков. Предоставляет возможность работать с большим количеством аудио и видео дорожек,а так же с несколькими процессорами и мониторами.
- Позволяет работать с материалом в таких распространенных форматах, как: MPEG-1, MPEG-2, AVI, Quick Time, Real Video, Windows Media Video, Ogg, SWF и др.
- Плюсами является широкий набор средств для обработки звука и видео, обработка видео в реальном времени, возможности ускорения или замедления видео. Однако есть и минусы: набор эффектов наложения текста на видео может оказаться недостаточным, сложность в настройке формата видео и выборе качества.
- Adobe Premiere Pro - профессиональная программ для видеомонтажа от Adobe Systems.
- Предоставляет возможности высококачественного видеомонтажа в разрешении 4K и выше, с 32-битовым цветом в RGB и YUV, редактирования аудио дорожек, поддержки аудиоплагинов, звуковых дорожек 5.1 Surround. Позволяет работать с материалами большого количества аудио и видео форматов.
- Плюсами являются возможность работать с файлами высокого разрешения, широкие возможности по созданию специальных эффектов и большая популярность программы, вследствие чего большое количество обучающих материалов по работе с ней. Минусами программы являются высокие системные требования, нестабильная работа, создание больших временных файлов, а так же высокая стоимость.
- Windows Movie Maker - программа для создания и редактирования видеоклипов. Входит в комплект программ, поставляемых с операционными системами семейства Microsoft Windows, начиная с Windows ME. Обновлённая версия программы включена в Windows XP, Windows XP Media Center Edition и Windows Vista. После релиза Windows Vista поддержка программы была прекращена. На замену ей официально была предложена Киностудия Windows, которая входит в состав пакета бесплатных основных компонентов Windows Live компании Microsoft.
- Минусами является отсутствие поддержки некоторых видеоформатов, отсутствие версии для операционных систем не Windows, небольшой набор возможностей. Однако программа бесплатна и поставляется с операционной системой.
- Camtasia Studio - программа для захвата изображения с экрана, так же позволяет производить монтаж аудио и видео. Программа предлагает гибкий и дружественный интерфейс и плавный процесс работы. Плюсами являются удобный интерфейс, простой и мощный редактор видео, большое количество поддерживаемых форматов, поддержка HD-видео. Минусом является небольшое набор инструментов для работы со звуком.
- С учетом достоинств и недостатка рассмотренных программ, предпочтительным выбором стала Camtasia Studio, как наиболее удобная в использовании программа для захвата видео непосредственно с экрана или для записи голоса.
- В результате записи видеоклипы получаются небольшого размера, что позволяет работать с ними даже на компьютере с низкими техническими характеристиками.
- Теперь необходимо выбрать среду разработки, с использованием которой будут записаны видеоуроки по объектно-ориентированному программированию на языке С++.
- Интегрированная среда разработки (IDE) - это совокупность программных средств, поддерживающая все этапы разработки программного обеспечения от написания исходного текста программы, до ее компиляции и отладки, и обеспечивающая простое и быстрое взаимодействие с другими инструментальными средствами (программным отладчиком-симулятором, внутрисхемным эмулятором, эмулятором ПЗУ и программатором).
- Работа в интегрированной среде позволяет:
- - использовать встроенный многофайловый текстовый редактор, специально ориентированный на работу с текстами программ;
- - выявлять ошибки при компиляции, а так же редактировать текст, выводящийся одновременно в многооконном режиме ;
- - организовывать и вести параллельную работу над несколькими проектами;
- - подвергать перекомпиляции только редактируемые модули ;
- - загружать отлаживаемую программу в имеющиеся средства отладки, и работать с ними без выхода из оболочки;
- - подключать к оболочке практически любые программные средства.
- Microsoft Visaual Studio - среда разработки под ос Windows. Её редактор выполняет форматирование кода и подсвечивает синтаксис. Представляет большое количество различных типов проектов. Хорошо подходит для программирования под Windows и разработки крупных проектов.
- Среда Visual Studio оптимизирована для совместного проектирования, разработки и развертывания корпоративных решений. Позволяет создавать приложения, работающие на платформе .Net, разработки для Windows, Интернета, Sharepoint, мобильных устройств и облачных технологий. Однако компиляция даже небольших проектов занимает продолжительное время.
- Dev C++ - свободная интегрированная среда разработки приложений для C/C++. Это бесплатная IDE с открытым исходным кодом. Можно использовать портабельную версию, что позволяет транспортировать среду разработки вместе с проектами.
- Имеет редактор с подсветкой синтаксиса, заготовки кода и шаблоны для вставки, встроенный менеджер проектов, возможность автозавершения кода, гибкую настройку рабочей среды, редактора и компилятора, большое количество различных опций, мультиязычный пользовательский интерфейс. Существует возможность отладки проекта - есть встроенный дебаггер GDB.
- Net Beans - бесплатная IDE с открытым исходным кодом. Предназначена для профессиональной разработки приложений, веб-приложений, коропоративных систем, программ для мобильных устройств. Программа поддерживает множество языков программирования: Java, JavaFX, PHP, JavaScript, Ruby, Groovy, Python и C/C++, а также все языки разметки: XML ,HTML и стили CSS. Поддерживает большое количество технологий: J2SE, J2EE, J2ME, JavaFX SDK, PHP Zend framework, SOA, UML, Ajax,
- Ruby on Rails, Groovy and Grails.
- Имеет расширенные возможности по работе с базами данных MySQL, Postgres, Oracle и др. Является платформой для создания плагинов и расширения своей функциональности. Эта IDE подойдет как для начинающего разработчика, так и для профессионала.
- Qt Creator - кросплотформенная IDE с открытым исходным кодом для разработки на C и C++. Включает в себя графический интерфейс отладчика и визуальные средства разработки. Основная задача - это упрощение разработки приложений с помощью фреймворка Qt на разных платформах. В Qt реализовано автодополнение ключевых слов, введенных в стандарте С++11, существует подсветка синтаксиса, возможность выравнивания отступов и постановки скобок. Позволяет запускать написанное с его помощью ПО в большинстве современных операционных систем путём простой компиляции программы для каждой ОС без изменения исходного кода.
- Для создания видеолекций можно воспользоваться средой Microsft Visual Studio, т.к. она является наиболее популярной и современной интегрированной средой c большим количеством возможностей. Плюсом является то, что студенты могут получить бесплатную "Express" версию Visual Studio на официальном сайте "https://www.visualstudio.com".
- 3. Особенности языка программирования С++
- Язык С++ был создан Бьерном Страуструпом в 1979 году в компании Bell Laboratories и сначала имел название "С с классами". Страуструп утверждает, что некоторые объектно-ориентированные средства были инспирированы другим объектно-ориентированным языком - Simula67.
- Из всех объектно-ориентированных языков С++ является наиболее употребительным.
- Язык Java, лишенный указателей, шаблонов и множественного наследования делает его менее мощным и гибким по сравнению с С++.
- До 1998 года С++ развивался вне рамок стандартизации.
- Это означало, что каждый производитель компиляторов по-разному реализовывал нюансы языка.
- Тем не менее был разработал документ, "Стандартный С++", включающий в себя много дополнительных возможностей, как, например, стандартную библиотеку шаблонов.
- C++ унаследовал все возможности языка С. Строго говоря, С++ является расширением языка С.
- Любая конструкция на языке С является корректной и в С++, однако обратное неверно.
- Самыми значимыми нововведениями в С++ касаются классов, объектов и объектно ориентированного программирования.
- Однако между этими языками существует еще больше отличий, нежели кажется вначале.
- Язык С++, возможно, больше любого другого требует от программиста до написания программы провести подготовительный этап, заключающийся в ее проектировании.
- При добросовестном проектировании создается программа, которую легко отладить и изменять в будущем. Было подсчитано, что около 90% стоимости программного продукта составляет стоимость отладки и настройки.
- Удачно выполненное проектирование может значительно уменьшить эти расходы, а значит, и стоимость проекта в целом.
- 3.1 Объектно ориентированный подход
- Основной идеей объектно-ориентированного подхода является объединение данных и действий, которые производятся над этими данными в одно целое, которое называется объектом.
- Объектно-ориентированное программирование является способом организации программы и не связано с процессом ее выполнения.
- Функции объекта, названные в С++ методами обычно предназначены для доступа к данным объекта. Если есть необходимость считать данные объекта - вызывается определенный метод, который выполняет это действие.
- При решении задачи с помощью ООП вы сталкиваетесь с проблемой разбиения задачи на объекты. Это гораздо проще, чем разбиение на функции, так как объекты схожи с объектами реального мира. Но что должно представляться в программе ввиде объектов может решить только воображение.
- Когда речь идет об объектах, говорят, что они являются экземплярами классов. Класс является формой, которая определяет какие данные и функции будут включены в объект класса. При объявлении класса не создаются объекты класса, так же, как и объявление типа переменных - это не означает что эти переменные существуют. Таким образом класс представляет собой совокупность сходных объектов, а эти объекты называют экземплярами класса.
- Понятие класса приводит к понятию наследования. Принцип, положенный в его основу заключается в том, что каждый класс потомок обладает всеми свойствами, присущими тому классу, из которого он выделен. В С++ класс, порождающий остальные классы называют базовым классом, а классы, наследующие его свойства и одновременно обладающие своими собственными - производными
- Разработанный класс можно использовать в других программах - это свойство называется повторное использование кода. Таким же свойством в процедурном программировании обладают библиотеки функций, которые можно подключать к различным компонентам программы. Если есть необходимость добавить в него новые элементы, можно создать новый класс, наследующий все свойства базового класса и произвести изменения в нем.
- Использование различных образов операций и функции в зависимости от типов величин с которыми они работают называется полиморфизмом. Когда уже существующая операция, например сложение или присваивание наделяются возможностью совершать операции над операндами нового типа, говорят что операция перегружена. Перегрузка является важным инструментом объектно-ориентированного программирования.
- Свойство скрытости объектов, используемых во внешних конструкциях называется инкапсуляцией. С ее помощью можно обеспечить сокрытие данных, благодаря инкапсуляции пользователь может не задумываться о работе используемого объекта.
- Таким образом, язык С++ полностью поддерживает принципы объектно-ориентированного программирования, включая основные: инкапсуляцию, наследование, полиморфизм.
- 3.2 Преимущества и недостатки языка программирования С++
- У каждого языка программирования есть свои преимущества и недостатки, и их стоит рассматривать в контексте тех принципов, на которых строился язык, а так же предъявляемых к нему требований.
- С++ содержит средства для создания программ практически любого назначения, от низкоуровневых до сложных программных комплексов разного назначения.
- Достоинства языка:
- - С++ поддерживает разные технологии и стили программирования, включая объектно-ориентированное, обобщенное и метапрограммирование;
- - более надежное освобождение ресурсов путем автоматического вызова деструкторов при уничтожении объектов;
- - возможность создавать пользовательские функции-операторы, позволяющие записывать выражения над пользовательскими типами в алгебраической форме;
- - важным достоинством является предсказуемое выполнение программ, что является важным для систем реального времени;
- - при помощи шаблонов можно создавать обобщенные контейнеры и алгоритмы для разных типов данных;
- - при помощи шаблонов и множественного наследия можно имитировать классы-примеси и комбинаторную параметризацию библиотек;
- - поддержка понятия физической и логической константности, что делает программу надежнее, так как позволяет диагностировать ошибочные попытки изменения переменных;
- - C++ - кросплатформенный язык, его стандарт накладывает минимальные требования на компьютер для запуска скомпилированной программы. На С++ разрабатывают программы для различных платформ и систем с помощью компиляторов для большого количества платформ;
- - в С++ существует возможность низкоуровневой работы с адресами памяти, однако, при неосторожном использовании это легко может превратиться в недостаток;
- - язык С++ спроектирован так, чтобы у программиста был максимальный контроль над всеми аспектами структуры и порядка выполнения программы;
- - существующий код на C может с минимальными изменениями использоваться в С++.
- Часть недостатков С++ унаследовал от C, это:
- - синтаксис, вызывающий ошибки - операцию сравнения и присваивания легко перепутать, тем более присваивание возвращает значение, поэтому конструкция с присваиванием вместо выражения не будет восприниматься компилятором как ошибка, в циклах и ветвлениях так же существует такая ошибка;
- - макросы являются потенциально опасным средством, несмотря на то что их необходимость не велика, ввиду наличия шаблонов и встроенных функций;
- - неинтуитивные преобразования некоторых типов;
- - примитивный, унаследованный от С препроцессор;
- - плохая поддержка модульности. Подключение внешнего модуля через заголовочную вставку серьезно замедляет компиляцию при большом количестве модулей, что решено во многих компиляторах прекомпиляцией заголовочных файлов.
- У языка С++ имеются так же и собственные недостатки:
- - В С++ существует много возможностей, нарушующих принципы типобезопасности, что приводит к труднонаходимым ошибкам. Частой проблемой в С++ являются проблемы "переполнения буфера";
- - C++ является слишком сложным и большим языком, из за чего есть трудности с его изучением;
- - недостаточность информации о типах данных во время компиляции программы;
- - шаблоны могут привести к коду очень большого объема;
- - многие схожие конструкции с С, выполняющие те же самые функции могут сбить с толку программиста;
- - сложность и ограниченность метапрограммирования на основе шаблонов С++;
- - при заявлении, что С++ мультипарадигменный язык, в нем отсутсвует явная поддержка функционального программирования. Отчасти это решено различными библиотеками, использующими средства метапрограммирования для расширения языка;
- - некоторые считают отсутствие встроенной системы сборки мусора недостатком языка.
- Для того чтобы выявить сильные и слабые стороны языка, необходимо так же сравнить его с другими популярными и известными языками программирования, как С, C#, Objective-C, Java, Python.
- Для начала нужно провести сравнение С++ с языком-предком Си:
- -в С++ поддержка объектно-ориентированного программирования через классы;
- - в С++ поддержка через шаблоны функций и классов обобщенного программирования;
- - стандартная библиотека С++ содержит в себе стандартную библиотеку С и библиотеку шаблонов, предоставляющую широкий выбор обобщенных контейнеров и алгоритмов;
- - дополнительные типы данных;
- - существует обработки исключений;
- - виртуальные функции;
- - пространство имен;
- - встраиваемые inline функции;
- - перегрузка операторов;
- - перегрузка имен функций;
- - ссылки и операторы управления памятью.
- Язык Java. Большинство архитектурных решений, при создании языка Java были продиктованы желанием предоставить синтаксис, сходный с С и С++. В Java используются используются схожие объявления переменных, передача параметров, операторов и управление потоком выполнения кода. В языке Java были добавлены все хорошие черты C++ и исключены его недостатки. Знания, относительно С++ с успехом могут быть применены в Java.
- Основные различия в языках:
- - C++ - машинный код, а Java - это интерпретируемый код (необходим интерпретатор), вследствие чего у Java есть платформанезависимость в обмен на зависимость от интерпретатора JVM;
- - В Java отсутствуют файлы заголовков;
- - С++ типы не определены точно и зависят от компилятора, а в Java типы на всех платформах одинаковы;
- - Java - полностью объектно ориентированный язык;
- - в C++ программист полностью сам контролирует состояние программы, в Java этим занимается сборщик мусора и среда Runtime;
- - в С++ возможно все, чего пожелает программист: "перегрузка операторов, наследование, и так далее", в языке Java - только то, что разработчики языка посчитали логически безопасным;
- - С++ имеет множество различных библиотек, Java - стандартные библиотеки, которые распространяются с JVM.
- С# (Си шарп), как и C++ является языком общего назначения, а так же кроссплатформенным языком. С# разработан компанией Microsoft как язык для разработки приложения для платформы Microsoft .NET Framework и во многом похож на Java. Он компилируется в байт-код, который выполняется на виртуальной машине, что отличает его от С++. Хотя С# и заимствует некоторые синтаксические элементы из С и С++, он не имеет технического родства с ними.
- Отличия C# и C++:
- - в С#, в отличие от C++ (с расширением CLI) нет возможности смешивать неуправляемый код (native), с управляемым;
- - в С# существует возможность определять псевдонимы для классов.
- - в С++ псевдонимы могут ссылаться только на другие пространства имен, но не на классы;
- - отличия в определении типов;
- - отличия в выведении типов;
- - отличия в объявлении методов класса.
- Следует так же упомянуть о таком объектно-ориентированном языке программирования, как Objective-C, используемые Apple и основанный на языке Си с парадигмами Smalltalk.
- - Objective C является message-oriented языком, в отличие от С++, который является function-oriented, это значит что в ObjC код не "вызывает метод объекта", а "отправляет сообщение" с именем и аргументами объекту;
- - в ObjC описания методов сильно отличаются от С++, и больше похожи на описание методов на языке Smalltalk;
- - ObjC не допускает множественного наследования;
- - в ObjC принято работать с указателями на объекты;
- - в ObjC отсутсвуют шаблоны, пространства имен, типы данные, присущие С++;
- - в ObjC отсутсвуют перегрузки функций по возвращаемому типу данных;
- - ObjC не позволяет создвавть объекты в стеке.
- Но самое большое различие - в синтаксисах языка.
- Python
- - обычно предполагается, что Python программы выполняются медленнее, но они, в то же время, требуют намного меньше времени для разработки. Эта разница может быть объяснена за счет встроенных высокоуровневых;
- - программы на С++ обычно в 5-10 раз длиннее, нежели аналогичные на языке Python;
- - Python подходит как "склеивающий" язык, объединяя в программе код на нескольких языках;
- 3.3 Области применения языка программирования С++
- Главным образом язык C++ используется на уровне инфраструктуры для разработки систем с ресурсными ограничениями и систем с высоким уровнем надежности. Базовая область применения языка С++ - это системное программирование, являющиеся очень широкой сферой применения.
- Практически все действия на компьютере, так или иначе затрагивают программы, написанные на С++. На этои языке созданы беспроводные интерфейсы на всех уровнях, браузеры, инетрпретаторы языка JavaScript, виртуальные машины Java, реализации языка C#, программное обеспечение для мобильных телефонов, фотокамер - это все написано на С++. Сложнее найти системные области, где не используется С++.
- Язык С++ широко используется для создания игровых движков и библиотек к ним ( Unreal Engine, Frostbite, Source), так как позволяет с достаточно хорошей скоростью производить обработку данных.
- Используется для создания высоконагруженных систем, таких как Apache.
- Для создания ядра программы для приложений с кодом на более простом языке ( научные и узкоспециализированные программы).
- С++ использовался для создания таких приложений, как:
- - все главные приложения Adobe Systems;
- - операционная система Apple OS X написана на нескольких языках, но несколько важных частей - на С++;
- - поискоовой движок Гугл, браузер Chromium, файловая система Гугл и так далее;
- - буквально все в Майкрософт создано с помощью последних версий Visual C++, это такие продукты, как Windows XP, Vista, 7, Windows NT, Windows 9x, Microsoft Office, Internet Explorer, Visual Studio, SQL;
- - браузер Mozilla Firefox и почтовый клиент Thunderbird;
- - сервер MySQL (около 250 тысяч строк С++) и MySQL Cluster;
- - продукты Sun: The HotSpot Java Virtual Machine, компиляторы Sun, OpenOffice;
- - программное обеспечение для самолетов F-16 и F-35;
- - операционная система Symbian.
- И множество других приложений и программ. Бьярн Страуструп говорит следующие о развитии языка и его области применения: "Я не думаю, что с выходом новой версии что-либо изменится с точки зрения применения С++, и не имеет смысла искусственно продвигать этот язык в другие области. C++0x создается не для того, чтобы прорваться в новые домены, а для того, чтобы усовершенствовать язык для его более эффективного использования в сфере инфраструктурных применений, где очень много работы и постоянно появляются новые задачи. Например, программное обеспечение, встроенное в гаджеты. Гаджеты становятся сегодня все более сложными, поэтому их управляющее ПО должно хорошо понимать особенности аппаратного обеспечения, чтобы иметь возможность реализовать задачи такого уровня сложности. А это как раз то, что заложено в дизайне C++. Этот язык прекрасно справляется с такими задачами и востребован именно для них, и в новой версии эти возможности совершенствуются."
- 4. Запись и редактирования видеоуроков
- После запуска Camtasia Studio появляется главное окно программ с окном приветствия, в нем можно выбрать Record the screen (запись с экрана) - чтобы сразу перейти к записи действий с экрана, Import media - импорт файла и Recent projects - последние проекты (рисунок 1).
- Рисунок 1 - Начальное окно Camtasia studio
- Для записи нужно из перечня устройств выбрать микрофон. Для того, чтобы убрать звуковые сообщения системы во время записи, нужно убрать флажок с пункта Record system audio (рисунок 2).
- Рисунок 2 - Окно настроек записи
- Для записи голосового сопровождения при составлении программы и наборе ее в компиляторе необходимо выбрать Voice Narration и нажать Start recording, по окончании нужно нажать Stop recording, после чего запись можно сохранить использовать в проекте, либо удалить ее (рисунок 3).
- Рисунок 3 - Окно записи голосового повествования
- Для описания программы, создающийся при помощи компилятора Microsoft Visual Studio 2012 использовалась одновременная запись с экрана и голосового пояснения.
- В Effects есть пункт Use mouse click sounds, если этот пункт включен, то во время щелчка кнопками мыши будет вставлен звук (рисунок 4).
- Рисунок 4 - Выбор звука щелчков мыши
- При выборе Full Screen в панели записи - будет записываться весь рабочий стол.
- Кнопка Custom позволяет захватить для записи необходимую область экрана.
- Чтобы начать запись необходимо нажать кнопку Rec, появится окно Press F10 to stop recording - нажмите F10 чтобы остановить запись. После этого пойдет обратный отсчет и начнется запись.
- Для паузы во время записи нужно нажать кнопку Pause на клавиатуре.
- После окончания записи появится окно предпросмотра полученного материала, который можно сохранить, опубликовать, либо приступить к монтажу во строенном видео редакторе.
- Записанные видеоматериалы имеют формат camrec, и для того чтобы была возможность редактирования в других видео редакторах, необходимо конвертировать их в формат mpeg. Для этого в меню инструментов "Файл", выбрать "Создать и опубликовать". В появившемся окне выбрать тип - HD.
- Монтаж производится во встроенном видео редакторе Camtasia Studio 8. В нем существует возможность сохранения всех исходных файлов в одном проекте. В этом случае не нужно заботиться о сохранении их на своих местах, однако это требует дополнительного места на диске, куда будут сохранены видеоклипы и звуковые дрожки и где будет производиться монтаж видеоматериалов.
- Расположение клипов на дорожках соответствует времени их появления от начала при воспроизведении проекта и отображается как часы: минуты: секунды: миллисекунды.
- Для просмотра воспроизводимых видеоклипов в редакторе используется окно предварительного просмотра. В этом окне демонстрируются все наложенные эффекты и переходы. Они дают возможность корректировать видео, менять его характеристики, а так же связывать разные его части.
- Наиболее распространенные эффекты и переходы:
- - цветокоррекция;
- - изменение уровня яркости;
- - шумоподавление;
- - замедление либо ускорение видео;
- - вставка неподвижных изображений;
- - наложение титров;
- - использование графических композиций;
- - видео переходы;
- - изменение резкости видео;
- - разного рода фильтры;
- - размытие.
- Для работы с видео, если оно не было непосредственно записано с помощью Camtasia Studio, необходимо добавить в рабочую область. Для этого нужно нажать Import Media и выбрать нужные файлы (рисунок 5).
- Рисунок 5 - Окно импорта файлов
- При помощи видеомонтажа удалим ненужные фрагменты видео, склеиваем видеоклипы, настраиваем уровень громкости на видео, добавляем нужные изображения, применяем аудио/видео эффекты, субтитры и текст.
- Создания итогового файла может занять продолжительное времени (до нескольких часов в зависимости от выбора настроек проекта, его длительности, разрешения видео, формата сжатия и мощности компьютера).
- Готовое видео может быть размещено на информационных ресурсах и добавлен на сервис YouTube для его дальнейшего распространения.
- 5. Видеолекции
- Для записи видео лекций были разработаны программы на С++ с помощью которых были показаны такие темы как создание классов в среде Visual Studio, инкапсуляция, полиморфизм, наследование, создание конструкторов и деструкторов.
- Для первой видео лекции была разработанная программа, производящая действия сложения полиномов. Было создано больше операций над полиномами, однако они не были показаны, дабы не усложнять лекции.
- Для создания класса использовался инструмент "добавить класс", с помощью которого создаются 3 файла: заголовочный файл, файл с самим классом и файл с основной программой.
- Заголовочный файл Polynom.h выглядит следующим образом
- (рисунок 6).
- Рисунок 6 - Содержание файла polynom.h
- Он содержит препроцессорную директиву, разработанная для контроля за тем, чтобы конкретный исходный файл при компиляции подключался строго один раз.
- Далее идет заголовочный файл iostream - заголовочный файл с классами, функциями и переменными для организации ввода-вывода в языке программирования C++.
- Создается класс Polynom с инкапсулированными данными Deg - степень многочлена и Coef - его коэффициенты, далее идут заголовки методов класса, а именно: конструктор без параметров, конструктор с одним параметром, конструктор с двумя параметрами, копирующий конструктор, деструктор объектов типа Polynom, перегруженные операции присваивания и сложения, вывод полинома на экран средствами консольного вывода.
- Файл Polynom.cpp содержит непосредственно сам класс и реализацию его методов.
- Для его работы необходим файл предкомпилированных заголовков и подключения заголовочного файла Polynom.h, так же используется стандартное пространство имен (рисунок 7).
- Рисунок 7 - Заголовки файла polynom.cpp
- Для создание объекта типа многочлен нам понадобятся несколько конструкторов (рисунок 8).
- Рисунок 8 - Конструкторы полинома
- Первый конструктор выделяет память инициализирует объект, заданный без параметров.
- Второй конструктор создает многочлен заданной степени с нулевыми коэффициентами и выделяет для него память.
- Третий конструктор с двумя аргументами создает многочлен с заданной степенью и набором коэффициентов и выделяет для него память.
- Так же нам понадобится копирующий конструктор (рисунок 9).
- Рисунок 9 - Копирующий конструктор
- Для освобождения памяти и обнуления коэффициентов изменим стандартный деструктор (рисунок 10).
- Рисунок 10 - Деструктор
- Для того, чтобы производить операции вида Polynom A + Polynom B необходимо произвести перегрузку стандартного оператора +, то есть описывается процесс сложения полиномов для этого оператора (рисунок 11).
- Рисунок 11 - Перегрузка оператора +
- Здесь производится сложение объекта Polynom, который находится слева от оператора +, для этого объекта используется this, и полинома, находящегося справа от оператора + - он передается по константной ссылке в виде полинома B. В результате производится сложение коэффициентов многочлена при членах одинаковой степени.
- Для того чтобы присвоить значения одного полинома другому так же потребуется перегрузка операции присваивания (рисунок 12).
- Рисунок 12 - Перегрузка оператора =
- Полиному, стоящему слева от знака = присваивается значение полинома, стоящего справа (полином B) значение которого передается по константной ссылке. видео дистанционный обучение программирование
- Для отображения полинома на экране создадим метод, производящий его консольный вывод (рисунок 13).
- Рисунок 13 - Метод вывода полинома на экран
- С помощью данного метода производится консольный вывод полинома в виде: a + bx^1 + cx^2 + ... + zx^n.
- Файл основной программы (рисунок 14).
- Рисунок 14 - Содержание основной программы
- Для его работы подключаются файлы предкомпилированных заголовков, а так же заголовочный файл Polynom.h. Используется стандартное пространство имен.
- Для создания объекта типа Polynom создадим массивы a и b типа double в которых будут содержаться значения коэффициентов, начиная с коэффициента нулевой степени, первой степени, и так далее.
- Создаются три объекта типа Polynom. pl0 - пустой полином и создается с помощью конструктора без параметров. pl1 и pl2 - полиномы второй степени, использующий значения из массивов b и a, создаются с помощью конструктора с двумя параметрами. Далее полиному pl0 присваивается значение суммы полиномов pl1 и pl2 и с помощью PolynomCout производится его консольный вывод на экран. Команда cin.get() служит для того, чтобы окно с результатами не закрывалось сразу после выполнения программы.
- Второй урок рассказывает о полиморфизме. Для него используется программа, эмулирующая телефонный звонок.
- Для ее работы подключаются заголовочный файл предкомпилированных заголовков и iostream - заголовочный файл с классами, функциями и переменными для организации ввода-вывода в языке программирования C++. Используется стандартное пространство имен.
- Далее создаем класс phone с методами dial, answer, hangup, ring, конструктор - phone и переменную number типа char (рисунок 15).
- Рисунок 15 - Класс phone
- Далее создаются два класса потомка touch_tone и pay_phone - кнопочный и дисковой телефоны. В них отличаются лишь методы dial, а остальные методы унаследованы от родительского класса. Они так же имею свои собственные конструкторы, а класс pay_phone - собственную переменную amount - стоимость звонка (рисунок 16).
- Рисунок 16 - Потомки класса phone
- В основном коде программе для корректного отображения кириллических символов в консольном окне требуется включить русский язык. Далее происходит создания объектов платный, кнопочный телефон и дисковый телефон - объект базового класса. Далее создается объект Poly_Phone базового класса phone и ему его свойства изменяются на свойства объекта rotary, затем производится звонок, далее свойства объекта Poly_phone изменяются на св-ва cityph и hphone и производятся звонки соответственно (рисунок 17)
- Рисунок 17 - Текст основной программы
- Заключение
- Целью работы была разработка видеолекций для студентов по теме "Объектно-ориентированное программирование на языке C++".
- Видеолекция является незаменимым инструментом в современной педагогике, использование которого только растет с каждым годом. У него имеются как сильные, так и слабые стороны, но, несмотря на это он экономит время преподавателя и студента.
- Язык С++, не смотря на существования других объектно-ориентированных язык, все еще востребован и применяется для разработки многих приложений.
- Преимущество видеолекций состоит в их доступности, студенты могут в удобное для них время ознакомиться мс материалом и разобрать непонятные моменты.
- Поэтому были разработаны видеолекции "Объектно-ориентированное программирование на языке C++".
- Для записи видео-лекций были изучены и использованы такие программы, как Microsoft Visual Studio 2012 и Camtasia Studio 8.
- Список использованных источников
- 1 Разработка компьютерных учебников и обучающих систем / Башмаков А.И, Башмаков И.А. - М.: Информационно-издательский дом "Филинъ", 2003. - 616с.
- 2 Объектно-ориентированное программирование в С++ / Р. Лафоре, ИД "Питер", 2004. -920с.
- 3 Освой самостоятельно C++ за 21 день / Джесс Либерти, Брэдли Л. Джонс. -М.:"Вильямс", 2007.-819c.
- 4 Салихова М.А., Шакурова А.Р. СОВРЕМЕННЫЕ ОБУЧАЮЩИЕ ВИДЕОУРОКИ / Успехи современного естествознания. - 2013. - № 10 . - С. 99-100
- 5 Электронный ресурс: http://www.stroustrup.com/applications.html
- Размещено на Allbest.ru
Подобные документы
Обзор образовательных ресурсов для реализации дистанционного обучения. Разработка рабочей программы курса видеолекций "Основы программирования на языке C+". Подбор контента, аппаратных средств. Проведение чат-занятий, использование сетевой технологии.
дипломная работа [155,0 K], добавлен 28.06.2014Система дистанционного обучения Distance Learning Belarus и лабораторный практикум курса "Разработка трансляторов для языков программирования", его перенос в интерактивную среду обучения. Описание работы программы и её взаимодействия с пользователями.
курсовая работа [588,5 K], добавлен 03.11.2012"Moodle" - модульная объектно-ориентированная динамическая среда обучения, ее использование для разработки систем дистанционного обучения. Общее представление о дистанционном практикуме по программированию. Разработка структуры данных и алгоритмов.
дипломная работа [1,2 M], добавлен 09.11.2016Оценка качества подготовки программистов и снижение трудозатрат на подготовку и проверку их лабораторных работ. Разработка проекта по автоматизации процесса обучения программированию с помощью интегрированной среды оценки структуры и качества программы.
дипломная работа [2,5 M], добавлен 07.06.2012Система дистанционного обучения Distance Learning Belarus. Разработка лабораторного практикума по курсу "Разработка трансляторов для языков программирования". Базовые концепции разработки приложений для Интернет. Схема диалога пользователя с системой.
курсовая работа [1,3 M], добавлен 03.11.2012Базовые принципы дистанционного обучения. Система управления базами данных Oracle. Технология Java. Принципы построения клиент-серверных систем. Даталогическое проектирование, таблицы и связи между ними. Разработка учебных курсов и процесс обучения.
дипломная работа [11,4 M], добавлен 22.04.2009Анализ системы дистанционного практикума по программированию. Модернизация ядра системы для работы с новым конфигурационным файлом. Программная реализация изменений в базе данных и веб-интерфейсе пользователя. Разработка инструкции для участника олимпиад.
дипломная работа [1,1 M], добавлен 09.11.2016Ознакомление с методами анализа популярности языков программирования. Рассмотрение логической модели базы данных дистанционного практикума. Разработка листинга скрипта создания таблицы-справочника. Анализ статистики по применению языков программирования.
диссертация [1,4 M], добавлен 10.07.2017Применение гипертекстовой технологии в процессе обучения, преимущества чтения текста с экрана компьютера и выполнения интерактивных заданий. Основные требования к электронным изданиям, разработка мультимедийного учебника с использованием flash-технологий.
дипломная работа [9,3 M], добавлен 16.06.2015Понятие дистанционного обучения, его сущность и особенности, содержание и цели. Разновидности дистанционного обучения и их характерные черты. Эффективность дистанционного обучения на современном этапе. Основные требования к программному обеспечению.
научная работа [40,2 K], добавлен 29.01.2009