- •Федеральное государственное учреждение
- •Программа дисциплины
- •©Рио Ростовского филиала рта, 2007 обязательный минимум содержания дисциплины (вузовский компонент)
- •Цели и задачи дисциплины
- •Требования к уровню освоения содержания курса
- •Содержание дисциплины
- •Перечень средств обучения
- •Методические рекомендации по изучению дисциплины
- •Программа дисциплины
- •080115.65 – «Таможенное дело» Специализация:
Требования к уровню освоения содержания курса
После изучения дисциплины студенты должны иметь представление:
об этапах решения задач на ЭВМ, критериях качества программ и жизненном цикле программного обеспечения,
о правилах постановки задачи, спецификации программы и способах записи алгоритма,
о классификации языков и систем программировании,
о принципах модульного, структурного и объектно-ориентированного программирования
о принципах создания Windows-приложений;
знать:
правила синтаксиса и семантику описания основных типов данных и управляющих конструкций языков высокого уровня C# и JavaScript,
алгоритмы базовых программных модулей и их реализацию,
методы и средства создания и отладки программ в соответствующих системах программирования,
способы создания диалоговых программ средствами событийного программирования,
способы эффективной реализации структур данных,
принципы организации файловых систем,
принципы появления и обработки исключительных ситуаций;
уметь:
читать, проектировать, документировать и отлаживать программы обработки структурно-организованной числовой и текстовой информации,
использовать объектно-ориентированные методы и средства разработки алгоритмов и программ,
использовать современные готовые библиотеки классов;
использовать современные инструментальные программные средства и технологии.
Содержание дисциплины
Тема 1. Основные этапы решения задач на ЭВМ
Постановка задачи. Построение формальной модели. Выбор метода решения. Спецификация и разработка алгоритма. Способы описания алгоритма. Проектирование, спецификация, кодирование и отладка программы. Анализ результатов.
Тема 2. Языки и системы программирования
Классификация языков программирования по области применения, по уровню абстракции, по способу описания решения задачи, по способу исполнения программ. Основные компоненты систем программирования. Особенности интерпретирующих систем программирования на языках высокого уровня JavaScript и JScript. Особенности компилирующих систем программирования для типизированных языков.
Тема 3. Основные понятия современных алгоритмических языков
Данные и их организация в памяти. Числовые, строковые и логические значения. Массивы, записи и объекты. Переменные, присваивания, выражения. Ввод и вывод значений. Организация вычислений с помощью условных операторов, операторов цикла и процедур (функций).
Тема 4. Синтаксис и семантика выражений и основных операторов в языке JavaScript
Литералы, операции, порядок выполнения и старшинство операций. Вызовы функций. Автоматическое преобразование типов данных. Функции преобразования и проверки типов. Синтаксис и семантика условных операторов и операторов цикла, операторы перехода. Определение и использование функций в программе. Выход из функции. Массив arguments. Различие между процедурами и функциями.
Тема 5. Типичные задачи с массивами. Массивы как объекты
Решение задач линейной алгебры. Поиск, сортировка. Преобразование массивов. Многомерные прямоугольные и ступенчатые массивы. Массивы как объекты в языке JavaScript. Свойства и методы массивов. Конструкторы массивов. Задача копирования массива. Сложная сортировка.
Тема 6. Отладка программ
Методы систематического тестирования программ и комплексов программ. Трассировка, отладочная печать.
Тема 7. Объекты Math, Number, Global языка JavaScript
Назначение, свойства, методы, конструкторы этих объектов. Значения NaN, undefined, null. Оператор with.
Тема 8. Обработка строк
Строки как значения и как объекты. Конструкторы, свойства, методы строк. Обработка строк с помощью шаблонов и регулярных выражений. Определение регулярных выражений в современных языках высокого уровня.
Тема 9. Пользовательский интерфейс и средства его разработки
Общее понятие пользовательского интерфейса программ. Web-страница как средство пользовательского интерфейса для программ на языке JavaScript. Тэги и атрибуты, объекты Web-страниц и браузера, их свойства и методы. События. Способы включения сценариев. Способы указания в сценарии обрабатываемых объектов страницы. Средства визуальной разработки интерфейса. Таймеры. Позиционирование объектов страницы. Динамические страницы. Динамическое содержание объектов.
Тема 10. Рекурсивное программирование
Понятие рекурсивной функции. Рекурсивная функция для рекуррентной последовательности. Сходящиеся последовательности и вычисление пределов. Последовательные приближения.
Тема 11. Ассоциативные структуры данных и рекурсия
Понятие ассоциативной структуры данных. Рекурсивные структуры. Односвязный список. Запись списков в JavaScript с помощью литералов. Функции добавления и удаления элементов, печать списка. Упорядоченный список. Функция поиска в упорядоченном списке. Понятия стека и очереди. Двухсвязный список, его структура. Функции добавления и удаления элементов двухсвязного списка. Понятие дерева как списочной структуры. Поиск в бинарном дереве «в глубину» и «в ширину».
Тема 12. Файлы и файловые системы
Файлы в языке JScript. Основные объекты файловой системы. Создание объекта FileSystemObject (FSO). Методы объекта FSO для доступа к диску, каталогу, файлу. Методы создания, копирования, перемещения, удаления каталогов и файлов. Коллекции дисков, папок и файлов. Работа с коллекциями с помощью нумераторов. Текстовые файлы. Открытие текстового потока. Методы чтения и записи текста.
Тема 13. Обеспечение качества программ
Критерии качества программы. Жизненный цикл программы. Этапы разработки программных продуктов. Понятия модуля, декомпозиции и композиции модулей. Основные методологии программирования, структурное программирование.
Тема 14. Типизированные и компилируемые языки
Платформа .NET и среда программирования Visual Studio.NET. Типизированный язык программирования высокого уровня C#. Структура программы в C# и консольный ввод-вывод текста. Основные понятия о классах. Системные классы в .NET.
Тема 15. Типы данных, переменные и константы в C#
Классификации типов данных в системе .NET. Встроенные типы данных и их литералы. Описание переменных и констант в C#. Автоматическое и явное преобразование типов. Классы Math и Random. Ввод-вывод текста в файлы.
Тема 16. Выражения и операторы в C#
Операции языка C#. Соответствие типов операндов и параметров методов. Виды параметров методов – параметры-значения, параметры-ссылки, выходные параметры. Проверка соответствия компилятором. Основные операторы языка C#.
Тема 17. Массивы в C#
Класс Array в C#. Описание и инициализация массивов. Операция выборки из многомерных массивов. Передача массивов в качестве параметров. Понятие «перегруженных» методов. Методы и свойства класса Array в C#. Оператор цикла foreach.
Тема 18. Символы и строки в C#
Символьный тип и класс Char. Методы класса Char. Массивы символов. Неизменяемые строки типа string и класс String. Операции над строками, свойства и методы класса String. Форматирование строк. Изменяемые строки типа StringBuilder. Свойства и методы класса StringBuilder. Регулярные выражения.
Тема 19. Обработка исключительных ситуаций
Понятие исключительной ситуации (исключения) и основные принципы возникновения и обработки исключений. Обнаружение и обработка исключений оператором try. Генерация исключений оператором try. Класс Exception. Операторы checked и unchecked.
Тема 20. Объектно-ориентированное программирование.
Понятие класса, его элементов и экземпляров. Класс как тип данных, определяемый пользователем. Описание класса. Спецификаторы. Состав класса. Описание полей, констант и методов класса. Ключевое слово this. Конструкторы и деструкторы. Свойства класса. Перегрузка методов. Методы с переменным количеством параметров. Вложенные классы, инкапсуляция. Иерархия классов, наследование. Абстрактные классы.
Тема 21. Создание Windows-приложений
Основные свойства операционной системы Windows. Принцип событийного управления Windows-приложением. Формы, элементы управления, графика. Многопоточные приложения.
УЧЕБНО-МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ
Основные источники
Информатика: Учебник / Соболь Б.В., Галин А.Б., Панов Ю.В. и др. – 2‑е изд., доп. и перераб . – Ростов н/Д: Феникс, 2006.
Орлов С.А.Технология разработки программного обеспечения: Учеб. пособие. – СПб.: Питер, 2003.
Кингсли-Хью Э.,Кингсли-Хью К. JavaScript 1.5: Учебный курс. – СПб.: Питер, 2002.
Шилдт Г.С#: Учебный курс. – СПб.: Питер, 2002.
Дополнительные источники
Гудман Д. JavaScript и DHTML. Сборник рецептов для профессионалов. – СПб.: Питер, 2004.
Молчанов А.Ю.Системное программное обеспечение: Учебник. – СПб.: Питер, 2003. – 396 с. – ISBN 5-94-723-562-5.
Павловская Т.А.С#: Программирование на языке высокого уровня. – СПб.: Питер, 2007.
Пауэл Т.А.,Уитворт Д. – HTML: Справочник программиста. – М.: АСТ, Мн.: Харвест, 2001.
Пышкин Е.В. Основные концепции и механизмы объектно-ориентированного программирования: Учеб. пособие. – СПб.: БХВ-Петербург, 2005.
Троелсен Э. С# и платформа .NET. – СПб.: Питер, 2007.
DHTML, HTML & CSS / Справочное пособие (англ.). – Microsoft Corp., 1999. – Файл HTMLREF.CHM на учебном сервере.
JScript / Справочное пособие (англ.). – Microsoft Corp., 2000. – Файл JSCRIPT5.CHM на учебном сервере.
