Современный специалист в области компьютерных технологий должен владеть фундаментальными знаниями в области алгоритмизации и программирования и системный подход к решению междисциплинарных задач, алгоритмическое мышление, знание терминологии и современных средств разработки программного обеспечения.
В данном курсе рассматриваются общие вопросы, касающиеся двух фундаментальных понятий: алгоритмизации и программирования. Под алгоритмизацией понимается умение свои идеи представлять в формализованном виде, воплощать в форму, доступную для автоматизации, например на компьютере, умение логически мыслить, формализовать постановку задачи и цели алгоритмов, решать типовые алгоритмические задачи. Программирование подразумевает практическую реализацию алгоритмов на определенном языке программирования, знание конструкций языка, технологии программирования.
Обучающийся познакомится с основополагающими понятиями: оператор, переменная, процедура, функция, тип данных и т.д. Научится применять основные операторы языка программирования высокого уровня: условие, различные виды циклов, выбор. Научится строить блок-схемы алгоритмов и производить по ним разработку программ. Сможет грамотно проектировать и реализовывать подпрограммы (процедуры и функции). На курсе рассматриваются основные формы представления данных: строки, структуры (пользовательские типы данных), массивы (одномерные и многомерные), списки, динамические структуры данных. Отдельные темы посвящены созданию широко распространенных алгоритмов сортировки, поиска минимального, максимального значения в массиве, реализации задач по обработке строк. Рассматриваются итерационные и рекурсивные алгоритмы. Объясняются основные принципы объектно-ориентированного программирования.
В настоящее время существует большое количество разнообразных языков программирования, с помощью которых можно эффективно решать широкий круг задач. Но залогом успешной разработки программного обеспечения на любом языке программирования было и остается знание основных принципов алгоритмизации, понимание процесса работы программы, обработки компьютером данных. Это является базисом для программиста любого профиля и поэтому изучается на данном курсе. Отдельное внимание на занятиях уделяется различным способам организации данных в программе, решению стандартных алгоритмических задач.
Одним из главных средств обучения программированию предлагается использовать междисциплинарные задачи, подобранные в соответствии с изучаемыми темами.
В настоящее время темы, рассматриваемые в предлагаемом курсе, необходимы компьютерным специалистам разного профиля: начиная от пользователей офисных пакетов, которые пишут макросы для автоматизации своей работы или WEB-дизайнеров и заканчивая системными программистами. Также курс может быть ориентирован на тех пользователей, кто не имеет никаких знаний по алгоритмизации и программированию или является начинающим программистом.
Учебное пособие предназначено для подготовки студентов по дисциплинам, связанным с программированием, может быть использовано профессорско-преподавательским составом и инженерно-педагогическими работниками.