Краткое описание учебного курса "Основы программирования на языке Си++"
Развитие современных технологий программирования предполагает владение программистом широким набором практических навыков, среди которых одними из основных можно считать знание языка программирования, среды разработки и системных технологий базовой операционной системы. Рассматриваемый учебный курс предназначен для начальной подготовки программиста, владеющего языком программирования Си++ применительно к разработке программ в ОС семейства Win32.
При анализе доступных в Интернет зарубежных курсов, связанных с обучением практическому программированию в рамках подготовки по специальностям Computer Science, оказалась заметна следующая тенденция: существуют курсы по изучению языка Си++, курсы по изучению объектно-ориентированного программирования на базе, чаще всего, Java и реже, Си++, и практически стандартный курс "Операционные системы", посвященный структуре Unix-совместимых операционных систем. Характерной особенностью зарубежных университетских курсов является отсутствие разделов, посвященных изучению практического программирования в среде коммерческих ОС массового распространения, в первую очередь, ОС Windows. С другой стороны, изучение программирования для этих ОС предлагается рядом коммерческих учебных организаций, но сроки обучения порядка 3-5 дней предполагают обучение уже грамотного специалиста, имеющего навыки программирования в какой-либо другой ОС или на другом языке программирования.
В сегодняшних российских условиях, не отрицая необходимости фундаментальной подготовки специалистов по вычислительной технике в области теории алгоритмов и устройства вычислительных и программных систем, можно отметить полезность изучения технологий практического программирования – использования сред разработки и библиотек программирования для ОС массового распространения. Этим обусловлена направленность рассматриваемого курса – начальная подготовка программистов на Си++ для среды ОС Windows.
Сложность обучения практическому программированию, на наш взгляд, заключается в трудности сочетания обучения абстрактным понятиям программирования (таким, как структуры данных, понятие алгоритма, основные компоненты алгоритмического языка, методология проектирования программного обеспечения), с изучением технологий и сред программирования на базе какой-либо конкретной ОС. Эти практические технологии пребывают в постоянном развитии, поэтому может быть сложно выделить какие-либо конкретные средства разработки в качестве предмета изучения.
Несмотря на широкое распространение сред быстрой разработки ПрО (например, Visual Basic, Inprise Builder и Inprise Delphi), выбор их в качестве учебной среды представляется нецелесообразным, т.к. в этих средах кажущаяся простота разработки ПрО касается только формирования каркаса приложения из набора готовых компонент, а устройство этих компонент или изменение структуры каркаса требует серьезных знаний не только по структуре базовой ОС, но и по системной архитектуре среды программирования.
Программа данного курса предназначена для обучения лиц, имеющих навыки пользовательской работы на персональном компьютере, основным понятиям и методам современного практического программирования. Предметом изучения курса является объектно-ориентированное программирование на языке Си++ в среде современных 32-х разрядных операционных систем семейства Windows. Программа курса разбита на 4 части:
Введение в программирование на языке Си++ (9 лекций)
Основы программирования трехмерной графики (8 лекций)
Объектно-ориентированное программирование на языке Си++ (9 лекций)
Программирование для Microsoft Windows с использованием Visual C++ и библиотеки классов MFC (9 лекций)
На каждое лекционное занятие должно быть предусмотрено минимум одно практическое (2 академических часа) и еще, в среднем, 4 часа самостоятельных занятий. Т.о., на изучение курса отводится 72 лекционных часа, 72 практических (т.о., 144 аудиторных часа) и 144 часа самостоятельных занятий.
Методические материалы для курса сформированы на основе примерно 10-ти зарубежных изданий, часть из которых переведена на русский язык.
В первой части курса рассматриваются процедурные основы языка Си++. Они включают в себя оформление текста программ, правила записи выражений на Си++, рассмотрение простых типов данных и алгоритмических конструкций условных операторов, циклов и др. В конце этой части курса подробно рассматриваются составные типы данных. При этом делаются замечания о достоинствах и недостатках этих типов данных, что впоследствии упрощает введение понятий объектно-ориентированного программирования.
Вторая часть курса посвящена применению языка Си++ для программирования задач в конкретной предметной области – трехмерной компьютерной графики. В качестве базовой графической библиотеки выбрана библиотека OpenGL, являющаяся открытым стандартом в данной области. Изучение этой библиотеки демонстрирует методику освоения готового инструментария, сформированного в результате применения методов структурного проектирования в конкретной предметной области. Понятия, относящиеся к машинной графике, понятие каркаса приложения и обработки событий иллюстрируются простыми примерами и в дальнейшем используются при изучении программирования в среде Windows.
Третья часть курса изучается после усвоения студентами процедурного программирования. Основные вопросы объектно-ориентированного программирования на Си++ излагаются на примере программирования консольных приложений Win32. Рассматриваются элементарные приемы объектно-ориентированного проектирования – проектирование на основе распределения обязанностей, метод CRC-карточек.
В четвертой части курса изучается архитектура операционных систем семейства Windows и методы программирования для этих ОС. Примерно треть этой части посвящена рассмотрению основных компонент операционных систем Windows 9x/NT, знакомству с базовыми сервисами операционных систем и программированию для этих ОС на языке Си++ на уровне Win32 API. В оставшейся части рассматриваются приемы программирования для ОС Windows на базе библиотеки классов MFC. Эта библиотека классов является промышленным стандартом, упрощающим разработку программ и использование Win32 API. Подробно описывается каркас приложения MFC, основные классы этой библиотеки, приемы использования этих классов в собственных программах, архитектура однодокументных приложений "документ/вид".
После изучения курса студент получает достаточно полное представление о содержании современного объектно-ориентированного программирования, об устройстве современных операционных систем Win32 и о событийно-управляемом программировании. На практических занятиях вырабатываются навыки программирования на Си++ в интегрированной среде разработки Microsoft Visual C++ 5.0.
|