Анализ проблемы профессиональной подготовки программиста и пути ее решения
Осадчий Вячеслав Владимирович доц., д. пед. н., профессор кафедры информатики и кибернетики Мелитопольский государственный педагогический университет имени Богдана Хмельницкого,
72312, Украина, Запорожская обл., г. Мелитополь, ул. Ленина, 20, +380979308618
poliform55@gmail.com
Осадчая Екатерина Петровна доц., к. пед. н., доцент кафедры информатики и кибернетики Мелитопольский государственный педагогический университет имени Богдана Хмельницкого,
72312, Украина, Запорожская обл., г. Мелитополь, ул. Ленина, 20, +30683746677
ketrinpicasa@gmail.com
Анотация
В статье проанализированы учебные планы общеобразовательных школ по информатике, учебные планы и программы высших учебных заведений Российской Федерации и Украины, проведено сравнение количества часов, которые выделяются на изучение тем и дисциплин, связанных с изучением программирования. Освещено значение изучения дисциплины «Введение в специальность» (программист). Согласно содержанию представленного курса определена цель и задания курса. Охарактеризована структура разработанных компонентов учебного курса «Введение в специальность» (программист): учебного пособия и электронного учебника по дисциплине. Также в статье представлена апробация курса и результаты итогового опроса студентов.
The article analyzes the curricula of secondary schools on computer science, curricula and programs of higher educational institutions Russian Federation and Ukraine. It also compares the number of hours allocated for the study of topics and disciplines associated with the study of programming. Lights the importance of studying the subject "Introduction to the profession" (programmer). According to the course content the definite purpose and tasks of the course are presented.
Ключевые слова
Программист, профессиональная подготовка, учебное пособие, электронный учебник, тестовый контроль.
Software Engineer, programmer, curriculum, training, textbook, electronic textbook, test control.
Введение
С каждым годом растет интерес выпускников средней школы к профессии программиста, потому что она одна из самых востребованных специальностей в современном обществе. Но далеко не все представляют, что нужно знать и уметь, чтобы стать высококвалифицированным специалистом в области программирования. Именно поэтому подготовка специалистов этого направления является актуальной проблемой, что позволит повысить уровень информатизации общества и увеличить объем и качество рынка программных разработок.
Для анализа профессиональной подготовки программистов на территории СНГ мы взяли за основу учебные планы и программы Российской Федерации и Украины. Так, например в Российской Федерации, подготовка в основном происходит в высших учебных заведениях по направлениям: 010500 «Прикладная математика и информатика», 09.00.00 «Информатика и вычислительная техника»,
010400.62 «Прикладная математика и информатика», а в Украине - 040302 «Информатика» и 050103 «Программная инженерия». Разнообразие специальностей, по которым готовят программистов, достаточно широко как в Российской Федерации (010501.65 «Математическое и программное обеспечение вычислительных машин», 010503.65 «Математическое обеспечение и администрирование информационных систем», 230101.65 «Вычислительные машины, комплексы, системы и сети»,
010400.62 «Системное программирование и компьютерные технологии»), так и в Украине (6.040301 «Прикладная математика», 6.040302 «Информатика», 6.040303 «Системный анализ», 6.050101 «Компьютерные науки», 6.050102 «Компьютерная инженерия», 6.050103 «Программная инженерия») и другие.
Доминирующими сферами деятельности выпускников этих специальностей является: консультирование по вопросам создания программного обеспечения и предоставления помощи относительно технических аспектов компьютерных систем; разработка индивидуального программного обеспечения (на заказ) и адаптация пакетов программ к специфическим потребностям пользователей; предоставление услуг по системному анализу, программированию и сопровождению, а также другим специализированным услугам в сфере информатизации, консультирование относительно типа и конфигурации компьютерных технических средств и использования программного обеспечения: анализ информационных потребностей пользователей, поиск оптимальных решений и т.п.
Возможные должности, по которым будет трудоустроен выпускник - это инженер-программист, специалист по информационным технологиям, специалист по разработке и тестированию программного обеспечения, научный сотрудник, преподаватель вуза и другие.
Цель статьи заключается в анализе истоков проблем профессиональной подготовки программистов и нахождению путей ее решения, средствами разработанного учебного курса «Введение в специальность» (программист).
Таким образом, исходя из разнообразия представленных специальностей при подготовке программистов, возникла настоятельная потребность в повышении целеуказания и мотивации будущих программистов путем усовершенствования содержания и учебно-методического обеспечения дисциплины «Введение в специальность» (программист). Содержание дисциплины содержит требования предъявляемые к программистам на рынке труда и академические основы их профессиональной подготовки.
Анализ учебных планов и программ общеобразовательных школ Российской Федерации и Украины при изучении тем по программированию
Для определения начального уровня знаний будущих программистов был проведен анализ учебных планов дисциплины «Информатика» общеобразовательных школ Российской Федерации и Украины ([1], [2], [3], [4], [5]), который показал недостаточное количество часов при изучении алгоритмизации и основ программирования.
Сравнение учебных планов образовательных школ Российской Федерации и Украины при изучении тем по программированию приведены ниже: таблица 1 -учебная нагрузка общеобразовательных школ в Российской Федерации, таблица 2 -учебная нагрузка общеобразовательных школ в Украине.
Таблица 1
Учебная нагрузка общеобразовательных школ при изучении тем ________по программированию в Российской Федерации___________________
№ Название программы 6 кл. 7 кл. 8 кл. 9 кл. 10 кл. 11 кл. Сумма
1. Рабочая программа курса «Информатика и ИКТ» к учебнику «Информатика» (Макарова Н.В. ) 10 10 20
2. Преподавание курса «Информатика и ИКТ» в основной и старшей школе (Угринович Н.Д.) 18 18
3. Рабочая учебная программа. «Информатика и ИКТ» (Бородин М.Н.) 10 7 28 22 50
4. Программа курса «Информатика и ИКТ» для основной школы (8-9 класс) 12 12
Итого: 100
В Российской Федерации среднее количество часов, которое выделяется в учебных программах школ на изучение основ программирования, составляет 25
часов.
Таблица 2
Учебная нагрузка общеобразовательных школ при изучении __________________________тем по программированию в Украине_______________________
№ Название программы 6 кл. 7 кл. 8 кл. 9 кл. 10 кл. 11 кл. Сумма
1. Информатика. Программа для 5-9 классов общеобразовательных учебных заведений 7 8 10 8 33
2. Информатика. Учебная программа для учащихся 10-11 классов общеобразовательных учебных заведений. Уровень стандарта. 5 5
3. Информатика. Учебная программа для 10-11 классов общеобразовательных учебных заведений. Академический уровень.. 28 28
Итого: 66
Исходя из данных таблицы, среднее количество часов, которое выделяется в учебных программах общеобразовательных школ Украины на изучение основ программирования, составляет 22 часа.
Таким образом можно сделать вывод, что количество часов, которые выделяется в учебных программах общеобразовательных школ Российской Федерации и Украины на изучение основ программирования недостаточно, что приводит к формированию низкого начального уровня подготовки будущих программистов, их недостаточной мотивации к обучению и впоследствии к непониманию смысла их подготовки.
Подтверждением этому, также, могут стать данные нашего входного опроса студентов (будущих программистов), проведенного на базе Мелитопольского государственного педагогического университета имени Богдана Хмельницкого (Украина) в период с 2010 по 2013 годы: 95% из которых изучали в общеобразовательной школе операционную систему Windows и офисный пакет Microsoft Office; 92% не имеют опыта программирования; 3% имеют опыт создания собственных программных проектов под операционную систему Windows; 5% имеют опыт создания сайтов с помощью конструкторов и систем управления контентом.
Анализ учебных планов и программ по подготовке программистов в Российской Федерации и Украине
Следующим этапом нашего исследования стал анализ российских и украинских учебных планов и программ по профессиональной подготовке программистов.
Таблица 3
Анализ учебных планов и программ по подготовке программистов ____________________________(Российская Федерация)___________________________
лек. практ. сам.
010500 Прикладная математика и информатика
010500.62 Квалификация: Бакалавр прикладной математики и информатики Профиль: Математическое моделирование (2008) Итого часов 1390 290 653 420
Среднее кол-во часов 154,4 36,3 72,6 46,7
010501.65 Квалификация: Математик, системный программист Специализация: Математическое и программное обеспечение вычислительных машин (2008) Итого часов 1880 396 777 635
Среднее кол-во часов 208,9 49,5 86,3 70,6
010503.65 Квалификация: математик- программист Математическое обеспечение и администрирование информационных систем (2013) Итого часов 2664 666 723 1275
Среднее кол-во часов 140,2 37,0 42,5 67,1
Квалификация: математик- программист Специализация: "Информационные системы" Итого часов 2339 206 140 2005
Среднее 129,9 11,4 8,2 111,4
кол-во часов
09.00.00. (230000) Информатика и вычислительная техника
09.03.01. (230100) Информатика и вычислительная техника (2010) Итого часов 2016 992
Среднее кол-во часов 183,3 90,2
230101.65 Квалификация: инженер В ычислительные машины, комплексы, системы и сети Специализация: Использование средств вычислительной техники (по областям) (2010) Итого часов 1270 302 361 607
Среднее кол-во часов 141,1 33,6 40,1 67,4
230105.65 Квалификация: инженер Программное обеспечение вычислительной техники и автоматизированных систем Специализация: Программное обеспечение вычислительных систем и сетей (2010) Итого часов 3830 1000 929 1792
Среднее кол-во часов 147,3 38,5 35,7 68,9
010400.62 Квалификация: бакалавр Прикладная математика и информатика
Профиль подготовки математическое моделирование и вычислительная математика (2013) Итого часов 1728 786 581
Среднее кол-во часов 192,0 87,3 64,6
010400.62 Квалификация: бакалавр Профиль подготовки Системное программирование и компьютерные технологии (2013) Итого часов 2556 568 942 740
Среднее кол-во часов 150,4 33,4 55,4 43,5
010400.62 Квалификация: бакалавр Профиль подготовки Математическое и компьютерное моделирование (2011) Итого часов 1152 140 228 524
Среднее кол-во 144,0 23,3 32,6 65,5
часов
Таблица 4
Анализ учебных планов и программ по подготовке программистов (Украина)
0403 Системные науки и кибернетика
6.040301 Квалификация: специалист по прикладной математике (2008) Прикладная математика Итого часов 1818 487 469 862
Среднее кол-во часов 139,8 37,5 36,1 66,3
6.040302 Квалификация: бакалавр информационны х технологий (2010) Информатика Итого часов 2574 540 822 1212
Среднее кол-во часов 143,0 30,0 45,7 67,3
6.040303 Квалификация: бакалавр по направлению «Системный анализ» Системный анализ Итого часов 2340
Среднее кол-во часов 156,0
0501 Информатика и вычислительная техника
6.050101 Квалификация: Специалист по информационны м технологиям (2012) Компьютерные науки Итого часов 2916 1348 1568
Среднее кол-во часов 153,5 70,9 82,5
6.050102 Квалификация: Специалист по информационны м технологиям Компьютерная инженерия Итого часов 3492 1717 1775
Среднее кол-во часов 205,4 101,0 104,4
6.050103 Квалификация: специалист по разработке и тестированию программного обеспечения Программная инженерия Итого часов 3276 1630 1646
Среднее кол-во часов 182,0 90,6 91,4
0502 Автоматика та управління
6.050201 Квалификация: Системная инженерия Итого часов 2682 618 576 1398
бакалавр системной инженерии, автоматики и управления. Среднее кол-во часов 206,3 47,5 44,3 107,5
По результатам анализа разных специальностей мы выяснили, что в Российской Федерации, среднее количество часов, которое выделяется на дисциплины, связанные с изучением программирования, составляет 2082,5 часа, то есть 159,15 часа на изучение каждой дисциплины, из которых 35,03 часа на лекционные занятия, 37,34 - на практические занятия, 69,59 - на самостоятельную работу. Соответственно по Украине, общее среднее количество часов, связанных с программированием, составляет 2728,3 часа, при этом на изучение каждой дисциплины отводится 169,4 часа, из которых на лекционные занятия отводится -29,4 часа, на практические - 42,6 и на самостоятельную работу - 74,2 часа. Таким образом, на основании вышеприведенного анализа и общих требований рынка труда к программистам (выпускникам высшего учебного заведения) - наличия у них не менее трех лет опыта программирования, можно сделать вывод о необходимости модернизации учебных планов и программ, с целью увеличения количества часов на наработку практических навыков программирования,.
Для расчета опыта программирования, приобретенного в течении трех лет, расчет производим на основании следующих исходных данных: 1 день = 8 рабочих часов, 1 месяц = 20-22 рабочих дня, 1 год = 11 месяцев, таким образом общий опыт за 3 года составляет от 5280 до 5808 часов или 5544 часов (средний показатель), что почти в 2 раза больше количества часов, которое выделяется учебными планами на изучение программирования в университетах.
Хотелось бы акцентировать внимание, что золотым правилом подготовки качественного специалиста есть необходимость наработки практического опыта не менее 10000 часов по выбранному направлению. Таким образом, срок подготовки качественного программиста увеличивается до 6 лет, с учетом вычислительных практик и активного участия в разработке реального программного обеспечения. Можно утверждать, что подготовка качественного программиста сходна подготовке профессионального спортсмена, когда тренировки не должны прекращаться даже на выходных и в отпуске. В данном случае необходимо рассматривать активное использование резерва времени, которое выделяется для самостоятельной подготовки, неучтенной в учебном процессе, из расчета до 6 часов в день. Таким образом, за 4 года бакалавриата возможно задействовать от 5280 до 5808 часов резервного учебного времени, во время которого будущий программист сможет наработать дополнительный практический опыт программирования.
Исходя из приведенных выше анализов, современная высшая школа профессиональной подготовки программистов сталкивается с проблемами недостатка учебного времени и завышенных требований рынка труда к выпускникам, которые через 4-6 лет обучения должны владеть современными на текущий момент времени технологиями, что принципиально становится едва ли возможным из-за темпов возникновения и отмирания технологий. Одним из путей решения данных проблем есть формирование достаточной мотивации и обучение будущих программистов на первом курсе своего обучения технологиям оптимизации временных затрат, что позволит им четко отслеживать прогресс своего обучения и обеспечивать возрастающие потребности технологического мира. Эти, а также другие знания и умения студенты должны получать на дисциплине «Введение в специальность» (программист).
С целью модификации содержания дисциплины был проведен анализ, который показал, что дисциплину «Введение в специальность» (программист) изучают в Российской Федерации по специальности «Программное обеспечение вычислительной техники и автоматизированных систем», где на ее изучение выделяется 70 академических часов, из которых 30 выделяются на проведение лекционных занятий, 4 на практические занятия и 36 часов на самостоятельную работу; в Украине изучение этой дисциплины происходит по двум специальностям: «Прикладная математика» и «Информатика», где на ее изучение выделяются 72 академических часа, из которых 20 выделяются на проведение лекционных занятий, 14 на практические занятия и 38 часов на самостоятельную работу.
При рассмотрении учебных пособий, по дисциплине «Введение в специальность» (программист) мы рассмотрели учебник Гвоздевой В.А. «Введение в специальность программиста» [6] в котором рассматриваются содержание основных понятий программирования, история его развития, основные элементы и языки программирования, принципы структурного программирования и начала программирования в среде ТшгЬо Pascal и системе Delphi. Подан материал о программном обеспечении для вычислительной техники и автоматизированных систем, правовой и программной защите компьютерной информации, стандартизации и лицензировании программных продуктов. Основные элементы программирования рассматриваются на примере языка Турбо Паскаль. Классификация языков программирования дана в сочетании с историей создания и развития этих языков. Далее более подробно рассматривается история развития языков программирования Паскаль и Си.
Проведенный анализ имеющихся учебных материалов по дисциплине «Введение в специальность» (программист) позволяет утверждать, что вопросы, касающиеся особенностей профессиональной деятельности программиста, его служебной карьеры, правовой защиты продуктов деятельности недостаточно освещены в академической литературе.
Таким образом, изучение дисциплины «Введение в специальность» (программист) нужно начинать с повышения уровня мотивации к показателям с которыми студенты получат возможность к самообучению и самопланированию с постепенным получением профессии инженера-программиста [7]. Примером такой мотивации может быть анализ студентами при изучении дисциплины баз данных вакансий с целью выявления востребованности программистов на рынке труда, анализ их заработной платы и компетенций, которыми они должны обладать в настоящее время. Анализ рекомендуется проводить индивидуально с каждым студентом во время первых практических занятий с использованием сети Интернет. Это позволит не только определить уровень востребованности программистов, но и определить каким именно программистом по какой специализации хочет стать тот или иной студент [8].
Характеристика дисциплины «Введение в специальность» (программист)
Согласно учебному плану для студентов направления подготовки «Информатика» образовательного уровня «бакалавр» дисциплина «Введение в специальность» (программист) является нормативной дисциплиной. Общей целью дисциплины является предоставление будущим специалистам в области программирования представления об их будущей специальности, структуре учебной программы и месте каждой из дисциплин в общей схеме обучения.
Цель курса реализуется в конкретных образовательных и учебных задачах:
— сформировать ориентировочное профессиональное мировоззрение будущего специалиста по информационным технологиям и целостное представление
о его сущности и роли в современном обществе;
— ознакомить студентов с основными средствами и методами современных информационных технологий, их теоретической и технической базой, возможными направлениями использования;
— сформировать у студентов знания, умения и навыки, необходимые для дальнейшего самосовершенствования и самообразования с целью эффективного использования средств разработки программного обеспечения в своей будущей деятельности;
— организовать творческую активность студентов в процессе создания собственных программных разработок;
— предоставить возможность каждому студенту реализовать собственную учебную траекторию путем дифференциации учебных заданий и их творческого характера;
— сформировать у студентов основы информационной культуры будущего программиста.
Важность приведенных выше учебных и образовательных задач требует приоритетного статуса данной дисциплин среди учебных программ высших учебных заведений, в которых происходит подготовка будущих программистов.
На факультете информатики, математики и экономики Мелитопольского государственного педагогического университета имени Богдана Хмельницкого (Украина) дисциплина «Введение в специальность» (программист) изучается студентами, получающими квалификацию «Специалист по информационным технологиям» на квалификационном уровне «бакалавр» и «Инженер-программист» на квалификационном уровне «специалист». На изучение дисциплины отведено 30 часов на аудиторные работы, из них 16 часов - на лекционные и 14 часов - на практические занятия, при значительном количестве на самостоятельную работу (42 час.). Подобное распределение учебного времени требует четкой постановки задач для самостоятельной работы и определения форм и сроков ее проверки. По результатам опроса студентов, был сделан вывод о необходимости расширения содержания дисциплины и увеличения аудиторных часов в учебном плане.
В результате модификации содержания учебно-методического комплекса, лекционный материал знакомит студентов с предметом деятельности программиста, раскрывает особенности его профессиональной деятельности. Здесь дается классификация программного обеспечения, рассматриваются основы теории программирования, виды и типы современных языков программирования; представлена краткая характеристика некоторых систем управления базами данных. Излагаются основные этапы жизненного цикла создания и сопровождения программных продуктов, организации коллективов программистов, сведения об экстремальном программировании, описаны виды тестирования программного обеспечения, представлены советы по составлению технического задания. Освещены вопросы правовой защиты компьютерной информации, стандартизации и лицензирования программных продуктов. Теоретическая часть курса также содержит некоторые практические рекомендации по поиску работы.
Материал структурирован в четыре основных модуля: программирование; создание программного продукта; стандартизация, сертификация и лицензирование программного продукта; методология трудоустройства и профессиональные заболевания.
На основе анализа учебно-методической литературы нами были сформулированы требования к практическим задачам для студентов, которыми мы руководствовались в процессе разработки курса:
1. Использование в процессе обучения информационно-коммуникационных технологий, с одной стороны, способствует систематизации знаний студента в той или иной отрасли, с другой стороны, при выполнении большинства задач, снижает
его творческую активность. Поэтому, для компенсации такого воздействия ИКТ необходимо использовать методику создания студентом творческих работ.
2. Задачи должны быть направлены на формирование навыков самообразования, которые являются необходимым условием дальнейшего профессионального развития.
3. Задания для студентов должны повышать внутреннюю мотивацию к обучению.
4. Быть профессионально ориентированными.
5. Формировать осознание существующих тенденций развития технологий программирования.
6. Предоставлять целостное понимание всех этапов разработки программного обеспечения на различных его этапах.
Практический блок содержит восемь практических задач. Среди них:
— научиться находить и отбирать необходимую информацию с помощью различных поисковых систем;
— оформлять техническое задание в установленном порядке и в соответствии с требованиями ДСТУ/ГОСТ;
— определять цели создания программы, требования к программе и основные исходные данные, которые необходимые для ее разработки,
— составлять документы на получение авторского права на программное обеспечение;
— создавать собственное портфолио, писать резюме;
— пройти несколько сертификационных экзаменов с целью получения сертификата и т.п.
Практические работы имеют типичную структуру: название, цель,
оборудование, краткие теоретические сведения, пошаговая проиллюстрированная инструкция, вопросы для самопроверки усвоенного материала. В помощь студенту также приведены ссылки на справочные веб-ресурсы.
Во время практических занятий происходит привлечение студентов к разработке тестового программного продукта, когда каждый из них во время практических занятий получает свою функциональную роль разработчика программного продукта (согласно гибких методологий разработки), что побуждает их к дальнейшему обмену опытом и наработками с другими студентами. Каждый из студентов (групп студентов) в соответствии со своей задачей публично презентует результаты своей работы, что позволяет другим участниками проекта оценить ее и сформировать командный способ работы.
Одной из разновидностей задач при изучении этой дисциплины является разработка «Диаграммы Ганта», которая непосредственно спроецирована на изучение самой дисциплины. Таким образом, студент при создании диаграммы планирует этапы и шаги по освоению учебного материала с привязкой к календарным срокам объема и индивидуальной скорости обучения, а также имеет возможность увидеть целостную картину своего профессионального роста за время обучения в университете, которые приобретают конкретные сроки, цели и задачи.
Задания для самостоятельной работы не дифференцированы и не требуют высокого уровня владения технологиями программирования, направленны на понимание места программиста на рынке труда и осознание его роли в повышении роли ИТ-отрасли в стране. На самостоятельную работу отведено значительное количество часов (42 часа), что требует ее четкой организации (постановки задач, форм контроля, сроков выполнения).
Именно поэтому, во время преподавания предлагается использование разработанного нами электронного учебника «Введение в специальность программиста» (Авторы: Осадчий В.В., Осадчая Е.П., Сердюк И.Н., Яльчи Е.А.. Режим доступа: http://www.lib.mdpu.org.ua/e-book/vstup/index.htm) для обеспечения
самостоятельной работы, что позволяет студентам изучать материал вне учебного процесса.
Анотація Лекції Практичні роботи Самостійні роботи Тестування Відеоматеріали
МЕЛІТОПОЛЬСЬКИЙ ДЕРЖАВНИЙ ПЕДАГОГІЧНИЙ УНІВЕРСИТЕТ ІМЕНІ БОГДАНА ХМЕЛЬНИЦЬКОГО Осадчий В.В.: Осадча К.П.: Сердюк І.М.. Яльчі Е.А.
ВСТУП ДО СПЕЦІАЛЬНОСТІ ПРОГРАМІСТА
Навчально-методичний посібник
Мелітополь, 2010
Рис. 1. Электронный учебник «Введение в специальность программиста»
На главной веб-странице представлена аннотация к курсу и его структура в виде блоков с гиперссылками, которая позволяет выбрать необходимый материал и перейти непосредственно к нему. В электронный учебник также входят теоретические, практические и материалы для самостоятельной работы. Теоретическая часть материалов разделена на модули и согласована со структурой учебной дисциплины.
Зміст Анотація Практичні роботи Самостійні роботи Тестування Бідеоматеріали
■■Ь
Лг® Назва
Модуль 1. Програмування
І. Місце програмування в суспільстві
2. Програмне заоеспечення
3. Розвиток мов та підходів до програмування. Технологія програмування
4. Кросплатформнісіь. Види і типи сучасних мов програмування
5. Бази даних
Тестовий контроль до модулю 1
Модуль 2. Створення програмного продукту
6. Архітектура системи (проекту)
Рис. 2. Теоретическая часть электронного учебника «Введение в специальность программиста»
Блок «Практические работы» включает в себя четыре лабораторных и три практических работы, два коллоквиума и одно семинарское занятие. Представление о терминологии дает раздел «Глоссарий». Самоконтроль происходит благодаря четырем блокам тестового контроля, разделенных по модулям, дополнительные видеоматериалы и более 62 наименований рекомендованной литературы в электронном виде, что позволяет ознакомиться с ведущими разработками по этой тематике (материалы приведены в учебных целях для ознакомления студентов).
Зміст Анотація Лекції Практичні роботи Самостійні роботи Тестування Бідеоматеріали
ЛІТЕРАТУРА
1. Алан Шаллоуей. Джеймс Р. Тротт Шаблоны проекторов ания. Новый подход к объектно-ориентированному анализу и проектированию = Design Patterns Explained: A New Perspective on Object-Oriented Design. - М. : "Вильямс”. 2002. - 2SS с.
2. Am 6 л ер Скотт Гибкие технологии: экстремальное программирование и унифицированный процесс. Библиотека программиста. - СПб.: Питер. 2005. - 412 с.
3. Бейзер Б. Тестирование чёрного ящика. Технологии функционального тестирования программного обеспечения и систем. -СПб.: Питео. 2004. - 320 с. - ISBN 5-94723-698-2.
4. Боровский Андрей Как писать кросплатформенные программы [Електронний ресурс] / DGR.Su - Компьютерный форум -Режим доступу: http: \v\v\v Нрт sn t54324.html
5. Влиссидес Дж,- Применение шаблонов проектирования. Дополнительные штрихи. - М.: Издательский дом "Вильямс", 2003. -144с.
6. Волошин Сергей Результаты опроса о зарплате [Електронний ресурс] Developers - украинское сообщество программистов -Режим JQCTvnyhttp: \v\v\v.developers.or g.ua archives cb 2 010 10 28 salary-survev-report-осt-2010
7. Гамма Э.. Хелм P.. Джонсон P.. Влиссидес Дж. Приемы обьектно-ориенпірованного проектирования. Паттерны проектирования. - СПб: Питер. 2001. - 368 с.: ил.
8. Грейди Буч. Джеймс Рамбо. Айв ар Джекобсон. Язык UML. Руководство пользователя = The Unified Modeling Language user guide. - 2-е изд. - M- СПб.: ДМК Пресс. Питер. 2004. - 432 с.
9. Гудлиф П. Ремесло программиста. Практика написания хорошего кода. - Пер. с англ. - СПб.: Символ Плюс. 2009. - ^04 с.. ил. 10. Детальний фактологічний аналіз відомчих експертних зауважень на проект Закону України "Про використання Відкритих
стандартів даних та Вільного програмного забезпечення в державних установах і державному секторі господарства" Реліз 4а: 18.06.2003 [Електронний ресурс] Сайт Украинской группы разработчиков и пользователей свободного и открытого программного обеспечения. - Режим доступу, http: osdn.org.ualegalOSL analysis ofdept objections \4a.pdf
Рис. З. Дополнительная литература электронного учебника «Введение в специальность программиста»
Итоговый тестовый контроль проводится в «Электронном журнале» [9]. Такое распределение позволяет предоставить студентам большое количество материалов и мотивировать их к самостоятельному усвоению.
Базовым учебным пособием для изучения дисциплины стало разработанное нами «Введение в специальность программиста» (авторы: Осадчий В.В., Осадчая Е.П., Сердюк И.Н. / http://books.uaconf.com/index.php/programmirovanie/150-vstup-do-spetsialnosti-programista), которое объединяет фундаментальные основы академического изложения материала и практический опыт подготовки программистов для ИТ индустрии [10].
Рис. 4. Учебное пособие «Введение в специальность программиста»
Пособие включает в свой состав семь разделов. Место программирования в обществе показано в материалах первой главы. Подана информация о том, чем конкретно занимаются программисты, т.е. сфера их профессиональной деятельности. Подана "классификация" программистов, которая заставляет студента задуматься о выборе приоритета в профессиональной подготовке. В этом очень помогает анализ рынка труда.
Во втором разделе подается классификация программного обеспечения.
Основы теории программирования, виды и типы современных языков программирования, подходы к программированию, вопросы кроссплатформенности рассматриваются в третьем разделе. Здесь также дана краткая характеристика некоторых систем управления базами данных и рейтинг языков программирования. Материал этого раздела помогает понять, в чем состоят основные отличия в технологиях, например, структурного и объектно-ориентированного программирования, уяснить, что такое кроссплатформенность языков. А рейтинг языков программирования позволяет спрогнозировать свои будущие доходы.
В четвертом разделе предоставлена информация об этапах создания программного продукта, модели MSF, описаны виды тестирования программного обеспечения. Материал раздела дает представление об этапах создания
Осадчий В В., Осадча К.П., Сердюк I.M.
ВСТУП ДО СПЕЦІАЛЬНОСТІ ПРОГРАМІСТА
Eiffel
конкурентоспособного программного продукта, поможет грамотно составить техническое задание, распределить роли в команде таким образом, чтобы получить максимальную отдачу.
В пятом разделе рассмотрены вопросы, посвященные стандартизации, сертификации и лицензированию программных продуктов, дается исчерпывающая информация о том, зачем это нужно, что, как и в какой последовательности необходимо делать, чтобы не нарушать закон и защитить свои авторские права.
Будущий программист обязательно должен знать, с какими профессиональными заболеваниями он может столкнуться, и что нужно делать для того, чтобы избежать их или свести риск возникновения таких заболеваний к минимуму (шестой раздел).
Материалы и советы седьмого раздела помогут написать достойное резюме, оформить портфолио, найти центр получения сертификата с подтверждением квалификации ИТ-специалиста и последующего повышения квалификации.
Каждый раздел заканчивается списком вопросов для самоконтроля.
Пособие дополнено словарем терминов, списком сокращений и приложениями с перечнем национальных стандартов Украины по разработке программного продукта и системной документации, примерами оформления лицензионного соглашения, заявки на проведение добровольной сертификации продукции, резюме программиста, технического задания.
Данный учебный курс мотивирует студентов к повышению качества профессиональной подготовки и формированию целей и путей перспективного роста как будущих программистов, воспитывает навыки создания корректного программного кода и уважение к авторскому праву.
Таким образом, разработанный нами учебный курс «Введение в специальность» (программист) в полной мере соответствует мировому уровню организации учебного процесса в вузах и позволяет решить ряд проблем по профессиональной подготовке программистов.
Апробация курса
Согласно плану работы МГПУ имени Богдана Хмельницкого на 2010-2011, 2011-2012, 2012-2013, 2013-2014 учебные годы данная дисциплина преподавалась в период с 1 сентября по 31 декабря (2 модуля) студентам I курса факультета информатики и математики.
Результаты финального опроса студентов свидетельствуют об осмыслении ими себя как будущего программиста, понимание основных этапов своей подготовки и профессионального становления как будущего специалиста. Студенты оценили материалы курса «Введение в специальность» (программист) в среднем на 9,35 баллов из 10 возможных, новизну лекционного материала - в 8,71 баллов, и новизну практических задач - в 9,04 балла по десятибалльной шкале.
Таким образом, апробация подтвердила положительный результат нашей работы.
По дальнейшему совершенствованию содержательной составляющей курса и учебных пособий можно опираться на пожелания студентов, высказанные ими в ходе заключительного опроса. Обобщая их ответы, к расширенному варианту курса - при условии увеличения часов - целесообразно включить ознакомление с методологиями управления программными проектами: Agile, Scrum, Rup т.п. Также среди ответов студентов часто встречается желание глубже изучить различные инструменты управления проектами (Trac, Readmine, Mantis, Git) [11] и методику расчета экономической эффективности будущих программных проектов.
Заключение
По результатам разработки и апробации учебного курса «Введение в специальность» (программист) выяснено, что во время обучения повышается качество профессиональной подготовки студентов, происходит формирование целей и путей их перспективного роста как будущих программистов. Можно утверждать, что внесённые изменения в структуру и содержание учебной дисциплины, а также созданное учебно-методическое обеспечение (учебное пособие и электронный учебник) в полной мере соответствуют уровню организации учебного процесса в вузах, и это позволяет сформировать у будущих программистов понимание процесса овладения необходимыми профессиональными компетенциями. Из вышесказанного можем сделать вывод, что при формировании общего понятия о специальности, связанной с программированием, насущной необходимостью есть присутствие дисциплины «Введение в специальность» на всех специальностях, ее переструктурирование и увеличение количества часов на аудиторную работу.
Литература:
1. Навчальна програма поглибленого вивчення інформатики для учнів 10-11 класів загальноосвітніх навчальних закладів / Програми інформатика [Електронний ресурс]. - Режим доступу:
informatic.sumy.ua/downloads/zbirnuk_program_inf/inf_pogl.docx
2. Інформатика. Навчальна програма для учнів 10-11 класів загальноосвітніх навчальних закладів. Рівень стандарту. / Програми інформатика [Електронний ресурс]. - Режим доступу:
informatic.sumy.ua/downloads/zbirnuk_program_inf/inf_st.docx
3. Інформатика. Навчальна програма для 10-11 класів загальноосвітніх навчальних закладів. Академічний рівень / Програми інформатика [Електронний ресурс]. -Режим доступу: informatic.sumy.ua/downloads/zbirnuk_program_inf/inf_ak.docx
4. Угринович Н.Д. Преподавание курса «Информатика и ИКТ» в основной и старшей школе. - S-11. Методическое пособие / Н.Д. Угринович - М: БИНОМ. Лаборатория знаний, 2008. - 180 с.
5. Бородин М.Н. Рабочая учебная программа. Информатика и ИКТ / М.Н. Бородин -Сыктывкар, 201З. - 48 с.
6. Гвоздеева В.А. Введение в специальность программиста: учебник. - 2-е изд., испр. и доп. / В.А. Гвоздеева - М.: ИД «ФОРУМ»: ИНФРА-М, 2007. - 208 с.
7. Зайцева О.Н. Проектирование баз учебных проблем по дисциплине «Информатика» для развития деятельностного потенциала будущего инженера / О.Н. Зайцева // Международный электронный журнал "Образовательные технологии и общество (Educational Technology & Society)" - 2012 - V.15. - №4. -С. 60З-б15. - ISSN 143б-4522. URL: http://ifets.ieee.org/russian/depository/vl5_i4/html/l7.html
S. Нуриев Н.К. Проектирование программного обеспечения природосообразно-развивающего обучения / Н.К. Нуриев, С.Д. Старыгина, Т.Т. Туркиниджрес // Современные проблемы науки и образования. - 2012. - № 4. URL: http://www.science-education.ru/104-6703
9. Осадчий В.В. Компьютерная система рейтингового оценивания знаний, как средство повышения уровня знаний студентов / В.В. Осадчий // Международный электронный журнал "Образовательные технологии и общество (Educational Technology & Society)" - 2013 - V.^. - №2. - С. З61-372. - ISSN 143б-4522. URL: http://ifets.ieee.org/russian/depository/vl5_i4/html/l7.html
10. Осадчий В.В. Вступ до спеціальності програміста. Навчальний посібник / В.В. Осадчий, К.П. Осадча, І.М. Сердюк - Мелітополь: ТОВ «Видавничий будинок ММД», 2011. - 296 с.
11. Осадчий В.В. Основи розробки веб-додатків. Навчальний посібник / В.В. Осадчий, В.С. Круглик - Мелітополь: ТОВ «Видавничий будинок ММД», 2012. -540 с.