Курс "Основы алгоритмизации и программирования" 1 год обучения Язык программирования Pascal
Вид материала | Документы |
СодержаниеТребования к начальному уровню знаний 2. Тест Выполнение практического задания по Microsoft Word 2007 Практические работы |
- Тематическое планирование кружка на 2009/2010 уч г. «Основы алгоритмизации и программирования, 63.72kb.
- Основы алгоритмизации и программирования (11, 270.62kb.
- Лекция №3. Состав и работа системы программирования Турбо Паскаль Язык программирования, 84.43kb.
- Программа, методические указания и контрольные задания по курсу «основы программирования, 516.11kb.
- Составить программы на яп pascal: Треугольник задан координатами вершин. Найти периметр, 24.62kb.
- Программа дисциплины "Технологии интерактивных систем" Направление, 46.72kb.
- Курс программирования на паскале в заданиях и упражнениях a course of programming, 37.89kb.
- Конспект лекций по курсу основы алгоритмизации и программирования для студентов всех, 3059.86kb.
- Н. И. Лобачевского Факультет Вычислительной Математики и Кибернетики Кафедра иисгео, 4000.54kb.
- Поэтапном формировании у студентов следующих знаний, умений и владений: основы алгоритмизации,, 25.99kb.
Курс "Основы алгоритмизации и программирования"
1 год обучения
Язык программирования Pascal
Современный специалист в области компьютерных технологий должен владеть фундаментальными знаниями в области алгоритмизации и программирования. Под этим мы понимаем и системный подход к решению информационных задач, алгоритмическое мышление, знание терминологии и современных средств разработки программного обеспечения.
В настоящее время существует большое количество разнообразных языков программирования, с помощью которых можно эффективно решать широкий круг задач. Но залогом успешной разработки программного обеспечения на любом языке программирования было и остается знание основных принципов алгоритмизации, понимание процесса работы программы, обработки компьютером данных. Это является базисом для программиста любого профиля и поэтому изучается на данном курсе. Отдельное внимание на занятиях уделяется различным способам организации данных в программе, решению стандартных алгоритмических задач.
В прежнее время программирование было уделом математиков и системных инженеров. В настоящее время темы, рассматриваемые в курсе нужны компьютерным специалистам разного профиля: начиная от пользователей офисных пакетов, которые пишут макросы для автоматизации своей работы или WEB-дизайнеров и заканчивая системными программистами. Курс ориентирован на тех пользователей, кто не имеет никаких знаний по алгоритмизации и программированию или является начинающим программистом.
Даже если Вы не собираетесь работать программистом, данный курс научит Вас системно подходит к решению задач, научит грамотно формулировать техническое задание и описывать способы решения при составлении технического задания программистам.
Примеры и упражнения приводятся с применением языка программирования Pascal, но все изучаемые темы распространяются на любые средства программирования высокого уровня. Курс будет полезен не только будущим программистам, но и желающим освоить такие специальности как разработчик WEB-узлов, администратор баз данных, разработчик макросов для различных пакетов. Также данный курс можно рассматривать как подготовительный для поступающих в высшие учебные заведения на соответствующие специальности.
На данном курсе применяется три формы проведения занятий:
Лекции, на которых излагается теоретический материал, рассматриваются общие вопросы решения алгоритмических задач, приводятся многочисленные примеры, советы и рекомендации.
Упражнения – слушатели самостоятельно или совместно с преподавателем решают разнообразные задачи по алгоритмизации и программированию. Часть заданий слушатели курса должны решить дома. Проверенные задания обсуждаются в классе. Всего разбирается более 70 примеров.
Практика – занятия в компьютерном классе, на которых слушатели закрепляют пройденный материал, реализуют на компьютере рассмотренные ранее задачи.
Знания и умения, полученные в результате обучения
В данном курсе рассматриваются общие вопросы, касающиеся двух фундаментальных понятий: алгоритмизации и программирования. Под алгоритмизацией понимается умение свои идеи представлять в формализованном виде, воплощать в форму, доступную для автоматизации, например на компьютере, умение логически мыслить, формализовать постановку задачи и цели алгоритмов, решать типовые алгоритмические задачи. Программирование подразумевает практическую реализацию алгоритмов на определенном языке программирования, знание конструкций языка, технологии программирования.
Слушатель познакомится с основополагающими понятиями: оператор, переменная, процедура, функция, тип данных и т.д. Научится применять основные операторы языка программирования высокого уровня: условие, различные виды циклов, выбор. Научится строить блок-схемы алгоритмов и производить по ним разработку программ. Сможет грамотно проектировать и реализовывать подпрограммы (процедуры и функции). На курсе рассматриваются основные формы представления данных: строки, структуры (пользовательские типы данных), массивы (одномерные и многомерные), списки. Отдельные темы посвящены созданию широко распространенных алгоритмов сортировки, поиска минимального, максимального значения в массиве, реализации задач по обработке строк. Рассматриваются итерационные и рекурсивные алгоритмы. Объясняются основные принципы объектно-ориентированного программирования.
Требования к начальному уровню знаний
Данный курс предназначен для слушателей, которые либо не имели совсем, либо имели небольшой опыт программирования. Курс ориентирован на квалифицированных пользователей, имеющих опыт работы в MS Windows, практические навыки работы в Microsoft Word. Знание английского языка облегчает усвоения материала курса.
Предварительное тестирование
1. Тест по операционной системе MS Windows XP
1. Понятие об операционных системах. Функции и классификация операционных систем.
2. Состав MS Windows. Требования к аппаратной части.
3.Понятие об оригинальной и локализованной версиях программы.
4. Раскладка клавиатуры. Переключение языка.
5. Работа с мышью в MS Windows: указатели и типы операций.
6. Интерфейс MS Windows. Основные элементы.
7. Элементы окон в MS Windows. Режимы отображения окна, операции с окнами. Виды окон.
8. Запуск, завершение приложений, переключение между ними.
9. Элементы диалоговых окон, заполнение полей в диалоговых окнах.
10. Операции с пиктограммами. Виды пиктограмм.
11. Типы меню и команд. Способы выполнения команд.
12. Главное меню. Разделы Главного меню.
13. Завершение работы с MS Windows. Перезагрузка системы.
14. Стандартные приложения MS Windows: графический редактор Paint, текстовый редактор WordPad, Калькулятор.
15. Стандартные кнопки в приложениях.
16. Открытие и сохранение документов
17. Буфер Обмена. Копирование и перемещение данных через Буфер Обмена.
18. Ярлыки: определение, виды, способы создания, операции.
19. Файловая система. Пространство имен.
20. Приложение "Мой компьютер": переход на нужный диск и в нужную папку; режимы просмотра; создание и переименование папок; выделение, копирование, перемещение и удаление объектов; отмена последнего действия; изменение свойств и установка параметров.
21. Поиск файлов и папок.
22. Панель задач: назначение, настройка
23. Рабочий стол: назначение, настройка. Упорядочение окон и пиктограмм.
24. Настройка Главного меню.
25. Настройка Панели Управления: Дата/время, Клавиатура, Мышь, Принтеры, Шрифты, Экран.
2. Тест Выполнение практического задания по Microsoft Word 2007
1. Знание основных элементов интерфейса.
2. Операции с документами: сохранение, открытие, закрытие.
3. Многооконный режим работы; упорядочение окон, переключение между окнами.
4. Управление курсором и простейшие операции по редактированию текста.
5. Выделение фрагментов, операции с фрагментами.
6. Сервисные действия: проверка орфографии и грамматики, установка языка и переносов, автозамена, поиск и замена.
7. Форматирование символов.
8. Форматирование абзацев.
9. Обрамление и заливка.
10. Табуляция.
11. Стили.
12. Режимы работы с документом.
13. Вставка иллюстраций. Операции с рисунками. Установка обтекания рисунка текстом.
14. Колонтитулы. Сноски.
15. Списки.
16. Буквица.
17. Параметры страницы.
18. Предварительный просмотр, печать документа.
19. Работа с таблицами.
20. Работа со справочной системой.
Программа курса
Лекции
Раздел 1. Вводная часть.
- Программное и аппаратное обеспечение. Языки программирования: уровень и тип языка программирования, характеристики. Краткий обзор парадигм программирования: процедурные языки, объектно-ориентированные языки.
- Этапы разработки программного обеспечения. Жизненный цикл программного продукта.
- Характеристики разрабатываемой программы.
- Основные принципы обработки команд программы исполнителем (компьютером).
- Организация ЭВМ. Принципы построения ЭВМ, машина Фон Неймана.
Раздел 2. Понятие Данные.
- Понятие данные, информация. Свойства информации.
- Представление данных разного типа в компьютере: целочисленные данные и числа с плавающей точкой, строки фиксированной и переменной длины, символы, логические значения, даты. Различные варианты кодировки символов. Сравнение данных разных типов.
- Системы счисления. Общие понятия и конкретные системы: десятичная, двоичная, шестнадцатеричная, восьмеричная. Правила перевода числа из одной системы в другую.
- Устройство памяти. Адресация. Понятие переменная. Объявление (декларация) и инициализация переменных. Правила именования.
Раздел 3. Понятие Программа.
- Понятие программа, алгоритм, исполнитель.
- Типы программного обеспечения: системное, прикладное, инструментальное (средства разработчика).
- Трехуровневая модель программного продукта.
- Свойства алгоритмов. Формы представления алгоритмов: естественный язык, блок-схема, формальный язык. Составление блок-схем алгоритмов.
- Иерархическая организация программы, модульность. Область видимости и время жизни. Секции программного модуля.
- Понятия транслятор, компилятор, интерпретатор. Статическая и динамическая компиляция.
Раздел 4. Понятие Интерфейс.
- Варианты интерфейсов: UI, GUI и др. Важность правильной разработки интерфейса.
- Различные методы построения диалога с пользователем.
Раздел 5. Язык программирования. Переменные.
- Состав и структура языка программирования. Понятия алфавита, синтаксиса и семантики.
- Комментарии.
- Переменные. Определение имени переменной. Объявление переменной. Инициализация переменной по умолчанию и из кода.
- Область видимости и время жизни переменных.
- Оператор присваивания.
- Типы переменных. Преобразование типов явное и неявное. Стандартные операции с переменными.
- Константы.
- Указатель или ссылка на переменную.
Раздел 6. Язык программирования. Операторы.
- Понятие оператора. Запись операторов. Многострочные операторы, понятие блока.
- Оператор условия. Составления условия: сравнение числовых значений, дат, строковых и логических значения. Составление сложных условий: использование логических операций OR, AND, XOR, NOT. Приоритет операций. Вложенные операторы. Оптимизация условий.
- Оператор выбора. Оптимизация оператора выбора.
- Оператор цикла: циклы с предусловием, с постусловием, с параметром. Цикл для обхода элементов группы. Понятия: тело цикла, условие цикла, счетчик, итерация. Использование счетчика цикла. Оператор досрочного выхода из цикла.
Раздел 7. Процедуры и функции.
- Декомпозиция задачи на подзадачи. Программирование сверху вниз и снизу вверх. Парадигма черного ящика. Входные и выходные данные подпрограммы.
- Понятия подпрограмма, процедура, функция. Процедуры стандартные, пользовательские. Описание, объявление, вызов процедуры.
- Вызов процедуры и функции.
- Аргументы формальные и фактические. Тип аргумента. Передача аргументов по значению и по ссылке. Значение, возвращаемой функцией.
- Способы взаимодействия различных фрагментов программы. Структурная декомпозиция.
Раздел 8. Способы организации данных.
- Роль организации данных в программе.
- Понятие массива. Массивы одномерные и многомерные. Понятие индекса и элемента массива. Подсчет объема памяти занимаемой массивом. Типовые задачи с массивами: доступ к элементу, обход элементов, инициализация элементов.
- Представление текстовой информации. Понятие строка. Различные способы организации строковых данных. Работа с отдельными символами. Наиболее употребительные функции для работы со строками.
- Пользовательский тип данных (структура). Объявление и использование пользовательского типа. Совместное использование пользовательских типов данных и массивов.
- Применение списков и файлов.
Раздел 9. Решение общих алгоритмических задач.
- Поиск элемента в массиве: линейный, двоичный и интерполяционные алгоритмы. Поиск наибольшего и наименьшего элемента в массиве. Различные способы сортировки элементов массива: метод прямого выбора, метод вставки, пузырьковая сортировка. Оценка сложности алгоритма и сравнение алгоритмов.
- Алгоритмы работы со строками. Разбиение и объединение строк, поиск и извлечение подстроки, удаление подстроки, синтаксический анализ текста.
- Рекурсивные и итерационные алгоритмы. Рекурсивные математические функции на примере вычисления факториала.
Раздел 10. Объектно-ориентированное программирование.
- Преимущества применения объектно-ориентированного подхода в программировании. Понятия класс, объект, свойство, метод, событие. Основные характерные черты объектно-ориентированного подхода (обзорно): инкапсуляция, наследование, полиморфизм.
Практические работы
Практика 1. Знакомство со средой программирования.
- Знакомство со средой программирования PascalABC. Основные типы файлов. Понятие решения, проекта, модуля. Создание нового проекта, присвоение имен. Основные операции в проекте, навигация.
- Основные необходимые понятия для начала работы с объектами и классами.
- Проектирование пользовательского графического интерфейса. Работа в Form Designer.
- Написание кода. Создание обработчиков событий, реагирование на действия пользователя.
- Решение простейших алгоритмических задач:
- ввод, вывод данных,
- использование подпрограмм,
- проверка правильности ввода, реагирование на ошибки,
- обмен значений двух переменных,
- определение четности числа.
- Компиляция проекта. Подготовка и запуск исполняемого файла.
- Работа со справочной системой.
Практика 2. Работа с массивом
- Создание проекта, добавление, удаление, переименование модулей.
- Проектирование приложения, двухуровневая модель. Реализация независимости пользовательского интерфейса от логики.
- Реализация подпрограмм для работы с массивом: добавление элемента, удаление, очистка массива, выбор элемента, сортировка элементов. Контроль входных данных.
- Разработка пользовательской формы. Проектирование интерфейса. Организация ввода и вывода данных, реакция на ошибки.
Практика 3. Работа со строками
- Решение следующих задач:
- переворот строки,
- отображение кодов символов,
- получение случайного слова,
- подсчет и вывод отдельных слов в строке.
- Реализация рекурсивного алгоритма
- Реализация рекурсивного алгоритма на примере факториала.
Дополнительные темы.
- Итерационный алгоритм. Работа с объектами: методы, свойства, события.
Экзамен