Программирование как вид деятельности

Основные понятия из области программирования.

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

Содержание учебного материала (дидактические единицы).

Аудиторное изучение:

Программирование как вид деятельности. Взаимосвязь программирования и других областей знания. Подразделы в программировании: теория программирования; методология и технология программирования; инженерия программирования; языки и системы программирования; операционные и архитектурные платформы. Краткая характеристика каждой группы.

Элементы теории программирования, основные понятия для решения задач на ЭВМ. Основные этапы решения задач на ЭВМ. Программа как формализованное описание процесса обработки данных. Основные характеристики программ. Программное средство. Жизненный цикл программного средства. Основная задача профессионального программирования. Понятие качества программного средства. Характеристики качества программного обеспечения. Критерии качества программы.

Технология подготовки и решения задач на ЭВМ. Этапы процесса разработки программ для структурного подхода и для объектно-ориентированного подхода. Краткая характеристика этапов создания программного обеспечения: постановка задачи, анализ и исследование задачи, проектирование программы (разработка алгоритма, структуры программы, разработка пользовательского интерфейса), реализация (написание кода программы на выбранном языке программирования, тестирование и отладка кода), составление документации, сопровождение программы, модификация программы.

Основное содержание

Программирование как вид деятельности

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

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

Вместе с тем, при росте спроса со стороны государственных и частных организаций на все более и более сложные системы автоматизации предприятий, надежные операционные среды, комплексы глобального телекоммуникационного управления, возникла необходимость в постановке процесса разработки программного обеспечения (ПО) на поток, превращения программирования в ремесло. Было разработано несколько методологий и стандартов, позволивших эффективно организовывать труд сотен программистов средней квалификации, точно укладываться в отпущенные сроки и средства и не зависеть от настроения нескольких талантливых ведущих специалистов. Отрицательная сторона подобных методологий - отсутствие творческого элемента в работе и своеобразная конвейерная система промышленного производства программ, которая, будучи внедренной в организации, в условиях жесточайшего дефицита программистов во всем мире может только отпугнуть сотрудников.