home Преподавание Информационных Технологий в России
Открытая всероссийская конференция

Конференция

Информационное сообщение

Место проведения

Программа конференции

Участники

Комитеты

Программный комитет

Организационный комитет

Спонсоры

IBM


Intel

Microsoft

Лаборатория Касперского
1C

SAP
Инф. спонсоры

Открытые Системы



PC Week


Орг. поддержка

АПКИТ


ЛАНИТ-ТЕРКОМ


Форт-Росс


Тезисы доклада «C# как первый язык программирования»

В.А. Биллиг
Тверской гос.ун-т

При обучении началам программирования немаловажную роль играет первый язык, во многом определяющий дальнейший стиль программирования.

В данном контексте понятие языка включает и среду программирования, в которую погружен язык. Поэтому в докладе неявно подразумевается, что разработка программ на C# ведется в среде Visual Studio .Net с использованием возможностей каркаса Framework .Net. Но на начальных этапах обучения программированию о среде следует говорить как можно меньше. Современные среды программирования тем и хороши, что напоминают официантов в хорошем ресторане – прекрасное обслуживание, не обращающее на себя внимания.

Многие годы лидирующую роль первого языка играл язык Паскаль. Он и сегодня сохраняет свои позиции, хотя и появились другие претенденты, среди которых назову двух – Java и C#.

Правильно устроенный программистский мир является многоязычным миром. Поэтому, не настаивая на исключительности, рассмотрим, почему C# может претендовать на роль первого языка программирования. Отмечу следующие его достоинства:

  • легко поддерживает различные модели программирования, применяемые на начальных этапах обучения
  • являясь языком профессионального программирования с большим будущим, обеспечивает легкий переход от обучения к профессиональной работе
  • предоставляет большой набор образцов программирования, представленных классами библиотеки Framework .Net

Задачи обучения на начальном этапе связаны прежде всего с выработкой алгоритмического мышления. Эти задачи многообразны и достаточно сложны. Требуется знание мира новых понятий: переменных и типов данных. Требуется умение описывать процесс вычислений ограниченным набором управляющих структур – выбора, циклов, рекурсии. Требуется знание основ представления данных и классических алгоритмов. И с первых шагов программирования нельзя забывать об эффективности и корректности разрабатываемых программ.

О моделях

Для поддержки решения задач начального обучения могут использоваться различные, сменяющие друг друга модели программирования. Перечислю основные:

  • модель «единой программы» – модель языка Алгол;
  • модель модульного структурного программирования с процедурами и функциями – модель языка Паскаль;
  • модель модульного программирования, предполагающая разработку «сверху вниз» – модель главной функции;
  • модель визуального, событийно-управляемого программирования;
  • модель «обращенного учебного плана» – модель Бертрана Мейера;
  • модель объектно-ориентированного программирования, основанная на понятиях абстракции данных и программирования «снизу-вверх»;
  • модель компонентного программирования.

В докладе предполагается подробное рассмотрение того, как эти модели реализуются на C#

C# как язык профессионального объектно-ориентированного программирования

Эта тема заслуживает отдельного рассмотрения. В своем учебнике «Основы программирования на C#» я пытался раскрыть ее более подробно. Здесь же замечу лишь, что язык является живым и продолжает непрерывно изменяться. Так с приходом Visual Studio 2005 в языке появилась возможность родового порождения классов, появились новые типы проектов, в частности проявилась более тесная связь с документами Office и возможность вести настройку офисных документов на языке C#. Интересные нововведения уже подготовлены и в следующую версию языка. Предполагается, что на уровне языка можно будет управлять обработкой данных, хранимых в различных внешних источниках, запросы к данным станут естественной частью языка.

Классы библиотеки как образцы программирования

Большинство изучаемых в процессе обучения классических алгоритмов реализованы в библиотеке классов Framework .Net. Когда изучается вычисление сумм сходящихся рядов, то класс Math может служить прекрасным образцом вычисления основных арифметических функций. При изучении алгоритмов работы со строками, образцами являются методы классов String и StringBuilder. Алгоритмы сортировки и поиска реализованы методами класса Array. При изучении динамических структур данных образцами являются классы Stack, Queue, ListArray, HashTable. Образцы имеются и для многих специальных разделов. Класс Random может служить образцом при изучении алгоритмов генерирования псевдослучайных чисел. Классы из пространства имен RegularExpressions могут использоваться при изучении темы регулярных выражений, а классы пространства Security и Cryptography при рассмотрении современных методов шифрования и обеспечения безопасности данных. Это лишь некоторые примеры классов, полезных при обучении программированию.

Реализация библиотечных методов скрыта и их код недоступен для дизассемблирования. Тем не менее знакомство с интерфейсом, возможность оценить корректность и эффективность собственной реализации в сравнении с образцом, делает образцы помимо их утилитарной полезности важным компонентом обучения программированию.

Заключение

Язык C# является одним из главных претендентов на роль первого языка программирования.

 

В начало :: О конференции :: Программа :: Доклады :: Контакты

Техническая поддержка сайта:
Copyright © АП КИТ, 2005
hosted by TERCOM
webmasters: perez&helga