1.1 Цель учебной дисциплины

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

Цели дисциплины «Основы алгоритмизации и программирование»:

- усвоение понятия алгоритма, способов его записи и основных свойств;

- изучения языка программирования высокого уровня;

- получение практических навыков составления  и отладки программ на персональных компьютерах;

- изучение основ алгоритмизации и закрепление полученных навыков на основе программирования алгоритмов обработки структур данных и алгоритмов вычислительной математики.

 

1.2 Задачи учебной дисциплины

Задачи дисциплины:

- подготовка специалиста уверенно владеющего возможностями, предоставляемыми современными компьютерными технологиями;

- обучение студентов основам программирования на алгоритмическом языке высокого уровня;

- формирование навыков программирования вычислительных алгоритмов;

- обучения студентов работе в среде программирования.

В результате освоения учебной дисциплины студент должен

знать:

– современное состояние одного из алгоритмических языков высокого уровня;

– основные динамические структуры данных и алгоритмы их обработки;

– наиболее эффективные и часто используемые на практике вычислительные алгоритмы решения инженерных задач;

– теоретические основы алгоритмизации и проектирования программ;

– технологии разработки программного обеспечения;

– базовые концепции объектно-ориентированного программирования.

уметь:

– выполнять алгоритмизацию и программирование инженерных задач;

– анализировать исходные и выходные данные решаемых задач и формы их представления;

–использовать основные конструкции языков высокого уровня;

– реализовывать разработанные алгоритмы в виде собственной программы на языке высокого уровня;

– применять разработанные программы в профессиональной деятельности.

владеть:

– современными средствами программирования;

– методами и инструментальными средствами создания программного обеспечения;

– навыками самостоятельной разработки, отладки, тестирования и  документирования программы.

2 СОДЕРЖАНИЕ УЧЕБНОГО МАТЕРИАЛА

Номера тем

Наименование тем

Содержание

1

Общие сведения об алгоритмах. Основы алгоритмизации

Алгоритм и его свойства. Разновидности структур алгоритмов. Способы описания алгоритмов. Стандартизация графического представления алгоритмов.

2

Системы программирования

Назначение и состав системы программирования. Классификация языков программирования. Обзор различных компиляторов. Интегрированная среда. Запуск интегрированной среды. Типы приложений. Создание нового проекта.

3

Основные элементы языка

Алфавит языка. Идентификаторы. Правило именования идентификаторов. Ключевые слова. Константы. Комментарии. Концепция типов данных. Основные типы данных. Объявления и инициализация переменных. Структура программы. Основные возможности организации ввода/вывода

4

Язык программирования С#. Выражения и операции

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

5

Язык программирования С#. Основные операторы.

Операторы выбора: оператор if, тернарная операция. Оператор выбора switch. Оператор цикла for и его модификации. Оператор  с предусловием while и оператор с постусловием do … while. Операторы перехода: break, continue и goto, return. Обработка исключительных ситуаций.

6

Язык программирования С#. Организация данных. Массивы.

Одномерные массивы. Утверждения о массивах, объявление, инициализация и работа с массивами. Класс Random. Методы сортировки массивов. Прямоугольные массивы: объявление, инициализация и работа с многомерными массивами. Ступенчатые массивы. Класс System.Array. Оператор foreach.

7

Язык программирования С#. Символы и строки.

Символы. Операции и методы работы с символами. Строки string. Описание, ввод/вывод строк. Операции и методы работы со строками. Строки StringBuilder. Операции и методы работы с изменяемыми строками.

8

Язык программирования С#. Подпрограммы.

Основные определения методов: объявление, определение и вызов. Возвращаемое методом значение, выход из функции и оператор return. Параметры методов: параметры-значения, параметры-ссылки, выходные параметры. Локальные и глобальные переменные. Время жизни и область видимости переменных. Передача одномерных массивов в методы. Передача многомерных массивов в методы. Рекурсивные определения и алгоритмы, программирование рекурсивных алгоритмов. Рекурсивные методы. Перегрузка методов. Методы с переменным количеством аргументов. Метод Main().

9

Язык программирования С#. Файлы и потоки

Понятие файла. Двоичное и текстовое представление файлов. Организация С#-системы ввода-вывода: стандартные, байтовые, символьные и двоичные потоки данных. Перенаправление стандартных потоков.

10

Динамические структуры данных

Организация динамических структур данных. Классификация коллекций. Коллекции общего назначения. Списки. Стеки. Очереди. Кольца. Древовидные динамические структуры. Двоичное дерево.

11

Дополнительные возможности изучаемого языка.

Базовые принципы объектно-ориентированного программирования: инкапсуляция, наследование, полиморфизм. Классы: основные понятия, данные, методы, конструкторы, свойства. Создание Windows-приложений: формы, основные элементы управления, их основные свойства и события.



1.1 Цель учебной дисциплины

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

Цели дисциплины «Основы алгоритмизации и программирование»:

- усвоение понятия алгоритма, способов его записи и основных свойств;

- изучения языка программирования высокого уровня;

- получение практических навыков составления  и отладки программ на персональных компьютерах;

- изучение основ алгоритмизации и закрепление полученных навыков на основе программирования алгоритмов обработки структур данных и алгоритмов вычислительной математики.

 

1.2 Задачи учебной дисциплины

Задачи дисциплины:

- подготовка специалиста уверенно владеющего возможностями, предоставляемыми современными компьютерными технологиями;

- обучение студентов основам программирования на алгоритмическом языке высокого уровня;

- формирование навыков программирования вычислительных алгоритмов;

- обучения студентов работе в среде программирования.

В результате освоения учебной дисциплины студент должен

знать:

– современное состояние одного из алгоритмических языков высокого уровня;

– основные динамические структуры данных и алгоритмы их обработки;

– наиболее эффективные и часто используемые на практике вычислительные алгоритмы решения инженерных задач;

– теоретические основы алгоритмизации и проектирования программ;

– технологии разработки программного обеспечения;

– базовые концепции объектно-ориентированного программирования.

уметь:

– выполнять алгоритмизацию и программирование инженерных задач;

– анализировать исходные и выходные данные решаемых задач и формы их представления;

–использовать основные конструкции языков высокого уровня;

– реализовывать разработанные алгоритмы в виде собственной программы на языке высокого уровня;

– применять разработанные программы в профессиональной деятельности.

владеть:

– современными средствами программирования;

– методами и инструментальными средствами создания программного обеспечения;

– навыками самостоятельной разработки, отладки, тестирования и  документирования программы.