Использование свободного программного обеспечения в учебном курсе «Основы программирования» (OSEDUCONF-2018) — различия между версиями

Материал из 0x1.tv

== Thesis ==
<latex>
Предистория

В ноябре 2012г. ректор ЛНУ имени Ивана Франко получил  от Microsoft Ukraine вежливое письмо с предложением составить
план приобретения лицензий на продукты Microsoft в 2012-2013 гг.  Поскольку в бюджете факультета электроники не было
средств  на  приобретение лицензий проприетарного ПО, то после  обсуждения ситуации было принято решение о немедленном
переводе всех учебных лабораторий на СПО.  Однако, после заявления лектора, который читал курсы <<Алгоритмизация и
программирование>>, <<Объектно-ориентированное программирование>> с использованием иключительно проприетарного ПО в ОС
Microsoft Windows, о <<гибели дела его жизни>> Ученый Совет факультета выделил 1000 у.е. на приобретение подписки Dream
Spark на факультет. Но из-за ошибок в апликационных формах факультет так и не получил этой подписки. Впоследствии
удалось оформить бесплатную подписку Dream Spark на кафедру радиофизики и КТ. Благодаря этому в трех учебных
лабораториях кафедры радиофизики и КТ появились лицензионные версии Microsoft Windows 7, а во всех других лабораториях
факультета была установлена ОС Linux. Это привело к тому, что студенты не могли использовать в лабораториях с ОС Linux
тех средств разработки, которые они использовали при изучении курсов <<Алгоритмизация и
программирование>> и <<Объектно-ориентированное программирование>>.

В 2017/18 учебном году на факультете открыли новую специальность <<Информационные
технологии>>. Для студентов этой специальности в первом семестре читается лекционный курс
<<Основы программирования>>. Для изучения начинающими программирования на языке Си надо
выбрать простую оболочку, работу с которой очень легко освоить. Рассмотрим следующую таблицу:

\begin{center}
	{\tabcolsep=0.3em\small
\begin{longtable}{|p{0.25\textwidth}|p{0.35\textwidth}|p{0.3\textwidth}|}
\hline
Оболочка &Операционные системы &Состояние разработки\\\hline
Turbo C &DOS &устарело\\\hline
Borland C/C++ &DOS, Windows &устарело\\\hline
Kuzya &OS X, Windows, Linux &развивается\\\hline
Geany &OS X, Windows, Linux &развивается\\\hline
Anjuta &Linux &развивается\\\hline
Atom &OS X, Windows, Linux &развивается\\\hline
Code::Blocks &OS X, Windows, Linux &развивается\\\hline
Eclipse &OS X, Windows, Linux &развивается\\\hline
Visual Studio Code &OS X, Windows, Linux &развивается\\\hline
QtCreator &OS X, Windows, Linux &развивается\\\hline
\end{longtable}
	}
\end{center}

В первых двух строках таблицы упомянуты Turbo C и Borland C/C++, которые хорошо описаны в учебной литературе, но они
рассчитаны на работу  только в MS DOS и Windows. Остановим наш выбор на оболочках Kuzya, Geany и Code :: Blocks.

Kuzya  это максимально простая оболочка для обучения. Именно на простоту делался основной акцент. Например, в
данной оболочке отсутствует менеджер проектов и вообще понятие «проект». Робота проходит с одним файлом, который
содержит текст программы. Сразу после запуска IDE Kuzya, студент, не задумываясь над порядком работы с оболочкой, может
начать вводить код программы. После сохранения он может скомпилировать и запустить его. Для удобного и быстрого набора
кода в главном меню находятся шаблоны синтаксических конструкций языков C/C++ и Pascal. Нажимая левой клавишей мыши на
выбранном шаблоне можно вставить соответствующий текст в место, где расположен курсор. Изменение языка перевода кода
автоматически приводит к переводу шаблонов. Также поддерживаются подсветка текста программы, которая позволяет легко
ориентироваться в нём. Минимум возможностей данной оболочки (оставлены только полезные или необходимые из них, с точки
зрения обучения) позволяют максимально сконцентрироваться на изучении языков программирования. Также был создан
графический движок, который позволяет отображать графические примитивы, используя библиотеку в стиле Borland C++. Язык
диалога  английский, украинский, белорусский, русский.

%Рисунок 1. Оболочка  Kuzya

\begin{figure}
\begin{center}
\caption{Оболочка  Kuzya}\label{zlobin-img001}
\includegraphics[width=0.8\textwidth]{dopov2018v2-img001}
\end{center}
\end{figure}

Geany  среда разработки программного обеспечения, написанная с использованием библиотеки GTK+. Доступна для
следующих операционных систем: BSD, Linux, Mac OS X, Solaris и Windows. Geany распространяется согласно GNU General
Public License. Geany не включает в свой состав компилятор. Для создания исполняемого кода используется GNU Compiler
Collection или, при необходимости, любой другой компилятор.

%Рисунок 2. Оболочка  Geany
\begin{figure}
\begin{center}
\caption{Оболочка  Geany}\label{zlobin-img002}
\includegraphics[width=0.8\textwidth]{dopov2018v2-img002}
\end{center}
\end{figure}

Code::Blocks  свободная кроссплатформенная среда разработки. Code::Blocks написана на С++ и использует библиотеку
wxWidgets. Имея открытую архитектуру, может масштабироваться за счёт подключаемых модулей. Поддерживает языки
программирования С, С++, D  ограничениями), Fortran. Code::Blocks разрабатывается для Windows, Linux и Mac OS X. 

%Рисунок 3. Оболочка  Code::Blocks

\begin{figure}
\begin{center}
\caption{Оболочка  Code::Blocks}\label{zlobin-img003}
\includegraphics[width=0.8\textwidth]{dopov2018v2-img003}
\end{center}
\end{figure}

Выводы:
\begin{enumerate}
\item Все три оболочки являются кроссплатформенными, что позволяет студентам работать в той ОС, которая установлена на его
рабочем месте (стационарной или переносной ЭВМ). Благодаря этому студенты без дополнительных затрат времени могут
познакомиться с кроссплатформенным программированием на уровне компиляции.

\item Оболочки Kuzya и Geany допускают выбор пользователем языка интерфейса (русский, украинский, английский), что
позволяет студенту максимально сосредоточиться на работе с разрабатываемой программой.

\item Оболочка Kuzya имеет графический движок, который позволяет студентам строить графики исследуемых функций. Для
построения графиков функций, протабулированных в Geany или Code::Blocks, придется использовать внешние средства,
например gnuplot.

</latex>

{{LinksSection}}
<!-- <blockquote>[©]</blockquote> -->

<references/>




{{stats|disqus_comments=0|refresh_time=2018-02-14T17:03:26.862844|vimeo_plays=4|youtube_plays=0}}

[[Категория:Draft]]
[[Категория:OSEDUCONF-2018]]

Версия 13:57, 27 февраля 2018

Докладчик

В докладе рассмотрено использование СПО в лекционном курсе «Основы программирования». Проведено сравнение оболочек для структурного программирования на языке Си.

Видео

Презентация

Использование свободного программного обеспечения в учебном курсе «Основы программирования» (OSEDUCONF-2018).pdf Использование свободного программного обеспечения в учебном курсе «Основы программирования» (OSEDUCONF-2018).pdf Использование свободного программного обеспечения в учебном курсе «Основы программирования» (OSEDUCONF-2018).pdf Использование свободного программного обеспечения в учебном курсе «Основы программирования» (OSEDUCONF-2018).pdf Использование свободного программного обеспечения в учебном курсе «Основы программирования» (OSEDUCONF-2018).pdf Использование свободного программного обеспечения в учебном курсе «Основы программирования» (OSEDUCONF-2018).pdf Использование свободного программного обеспечения в учебном курсе «Основы программирования» (OSEDUCONF-2018).pdf Использование свободного программного обеспечения в учебном курсе «Основы программирования» (OSEDUCONF-2018).pdf Использование свободного программного обеспечения в учебном курсе «Основы программирования» (OSEDUCONF-2018).pdf Использование свободного программного обеспечения в учебном курсе «Основы программирования» (OSEDUCONF-2018).pdf Использование свободного программного обеспечения в учебном курсе «Основы программирования» (OSEDUCONF-2018).pdf Использование свободного программного обеспечения в учебном курсе «Основы программирования» (OSEDUCONF-2018).pdf Использование свободного программного обеспечения в учебном курсе «Основы программирования» (OSEDUCONF-2018).pdf Использование свободного программного обеспечения в учебном курсе «Основы программирования» (OSEDUCONF-2018).pdf

Thesis

Sorry, directive \include is forbidden!

Примечания и ссылки



Plays:4   Comments:0