13.02.2017 - 23.03.2017 Уточните расписание у организатора. Возможно он не успел обновить расписание. |
Форма обучения:
Очно-заочная; Дистанционная |
Вид мероприятия:
Курсы |
Тип мероприятия:
Открытые |
Программисты, разработчики ПО. |
Современный специалист в области компьютерных технологий должен владеть фундаментальными знаниями в области алгоритмизации и программирования. Под этим мы понимаем и системный подход к решению информационных задач, алгоритмическое мышление, знание терминологии и современных средств разработки программного обеспечения. Залогом успешной разработки программного обеспечения на любом языке программирования было и остается знание основных принципов алгоритмизации, понимание процесса работы программы, обработки компьютером данных. Отдельное внимание на занятиях уделяется различным способам организации данных в программе, решению стандартных алгоритмических задач. |
Лекции
Раздел 1. Вводная часть.
-
Программное и аппаратное обеспечение. Языки программирования: уровень и тип языка программирования, характеристики. Краткий обзор парадигм программирования: процедурные языки, объектно-ориентированные языки.
-
Этапы разработки программного обеспечения. Жизненный цикл программного продукта.
-
Характеристики разрабатываемой программы.
-
Основные принципы обработки команд программы исполнителем (компьютером).
-
Организация ЭВМ. Принципы построения ЭВМ, машина Фон Неймана.
Раздел 2. Понятие Данные.
-
Понятие данные, информация. Свойства информации. Представление данных разного типа в компьютере: целочисленные данные и числа с плавающей точкой, строки фиксированной и переменной длины, символы, логические значения, даты. Различные варианты кодировки символов. Сравнение данных разных типов. Системы счисления. Общие понятия и конкретные системы: десятичная, двоичная, шестнадцатеричная, восьмеричная. Правила перевода ...
Подробнее о программе
Лекции
Раздел 1. Вводная часть.
-
Программное и аппаратное обеспечение. Языки программирования: уровень и тип языка программирования, характеристики. Краткий обзор парадигм программирования: процедурные языки, объектно-ориентированные языки.
-
Этапы разработки программного обеспечения. Жизненный цикл программного продукта.
-
Характеристики разрабатываемой программы.
-
Основные принципы обработки команд программы исполнителем (компьютером).
-
Организация ЭВМ. Принципы построения ЭВМ, машина Фон Неймана.
Раздел 2. Понятие Данные.
-
Понятие данные, информация. Свойства информации. Представление данных разного типа в компьютере: целочисленные данные и числа с плавающей точкой, строки фиксированной и переменной длины, символы, логические значения, даты. Различные варианты кодировки символов. Сравнение данных разных типов. Системы счисления. Общие понятия и конкретные системы: десятичная, двоичная, шестнадцатеричная, восьмеричная. Правила перевода числа из одной системы в другую. Устройство памяти. Адресация. Понятие переменная. Объявление (декларация) и инициализация переменных. Правила именования.
Раздел 3. Понятие Программа.
-
Понятие программа, алгоритм, исполнитель.
-
Типы программного обеспечения: системное, прикладное, инструментальное (средства разработчика).
-
Трехуровневая модель программного продукта.
-
Свойства алгоритмов. Формы представления алгоритмов: естественный язык, блок-схема, формальный язык. Составление блок-схем алгоритмов.
-
Иерархическая организация программы, модульность. Область видимости и время жизни. Секции программного модуля.
-
Понятия транслятор, компилятор, интерпретатор. Статическая и динамическая компиляция.
Раздел 4. Понятие Интерфейс.
-
Варианты интерфейсов: UI, GUI и др. Важность правильной разработки интерфейса. Различные методы построения диалога с пользователем.
Раздел 5. Язык программирования. Переменные.
-
Состав и структура языка программирования. Понятия алфавита, синтаксиса и семантики.
-
Комментарии.
-
Переменные. Определение имени переменной. Объявление переменной. Инициализация переменной по умолчанию и из кода.
-
Область видимости и время жизни переменных. Затенение имен.
-
Оператор присваивания.
-
Типы переменных. Преобразование типов явное и неявное. Стандартные операции с переменными.
-
Константы.
-
Указатель или ссылка на переменную.
Раздел 6. Язык программирования. Операторы.
-
Понятие оператора. Запись операторов. Многострочные операторы, понятие блока.
-
Оператор условия. Составления условия: сравнение числовых значений, дат, строковых и логических значения. Составление сложных условий: использование логических операций OR, AND, XOR, NOT. Приоритет операций. Вложенные операторы. Оптимизация условий.
-
Оператор выбора. Оптимизация оператора выбора.
-
Оператор цикла: циклы с предусловием, с постусловием, с параметром. Цикл для обхода элементов группы. Понятия: тело цикла, условие цикла, счетчик, итерация. Использование счетчика цикла. Оператор досрочного выхода из цикла.
Раздел 7. Процедуры и функции.
-
Декомпозиция задачи на подзадачи. Программирование сверху вниз и снизу вверх. Парадигма черного ящика. Входные и выходные данные подпрограммы.
-
Понятия подпрограмма, процедура, функция. Процедуры стандартные, пользовательские, обработки событий. Описание, объявление, вызов процедуры. Библиотеки функций.
-
Вызов процедуры и функции.
-
Аргументы формальные и фактические. Тип аргумента. Передача аргументов по значению и по ссылке. Значение, возвращаемой функцией.
-
Способы взаимодействия различных фрагментов программы. Структурная декомпозиция.
Раздел 8. Способы организации данных.
-
Роль организации данных в программе.
-
Понятие массива. Массивы одномерные и многомерные. Понятие индекса и элемента массива. Подсчет объема памяти занимаемой массивом. Типовые задачи с массивами: доступ к элементу, обход элементов, инициализация элементов.
-
Представление текстовой информации. Понятие строка. Различные способы организации строковых данных. Работа с отдельными символами. Наиболее употребительные функции для работы со строками.
-
Пользовательский тип данных (структура). Объявление и использование пользовательского типа. Совместное использование пользовательских типов данных и массивов.
-
Применение списков и файлов. Однонаправленный, двунаправленный, кольцевой списки. Организация стеков различных типов.
Раздел 9. Решение общих алгоритмических задач.
-
Поиск элемента в массиве: линейный, двоичный и интерполяционные алгоритмы. Поиск наибольшего и наименьшего элемента в массиве. Различные способы сортировки элементов массива: метод прямого выбора, метод вставки, пузырьковая сортировка. Оценка сложности алгоритма и сравнение алгоритмов.
-
Алгоритмы работы со строками. Разбиение и объединение строк, поиск и извлечение подстроки, удаление подстроки, синтаксический анализ текста.
-
Рекурсивные и итерационные алгоритмы. Рекурсивные математические функции на примере вычисления факториала.
Раздел 10. Объектно-ориентированное программирование.
-
Преимущества применения объектно-ориентированного подхода в программировании. Понятия класс, объект, свойство, метод, событие. Основные характерные черты объектно-ориентированного подхода (обзорно): инкапсуляция, наследование, полиморфизм.
Практические работы
Практика 1. Знакомство со средой программирования.
-
Знакомство со средой программирования MS Visual Studio. Основные типы файлов. Понятие решения, проекта, модуля. Создание нового проекта, присвоение имен. Основные операции в проекте, навигация.
-
Основные необходимые понятия для начала работы с объектами и классами.
-
Проектирование пользовательского графического интерфейса. Работа в Form Designer.
-
Написание кода. Создание обработчиков событий, реагирование на действия пользователя.
-
Решение простейших алгоритмических задач:
- ввод, вывод данных,
- использование подпрограмм,
- проверка правильности ввода, реагирование на ошибки,
- обмен значений двух переменных,
- определение четности числа.
-
Компиляция проекта. Подготовка и запуск исполняемого файла.
-
Работа со справочной системой.
Практика 2. Работа с массивом
-
Создание проекта, добавление, удаление, переименование модулей.
-
Проектирование приложения, двухуровневая модель. Реализация независимости пользовательского интерфефса от логики.
-
Реализация подпрограмм для работы с массивом: добавление элемента, удаление, очистка массива, выбор элемента, сортировка элементов. Контроль входных данных.
-
Разработка пользовательской формы. Проектирование интерфейса. Организация ввода и вывода данных, реакция на ошибки.
Практика 3. Работа со строками
- переворот строки,
- отображение кодов символов,
- получение случайного слова,
- подсчет и вывод отдельных слов в строке.
-
Реализация рекурсивного алгоритма
-
Реализация рекурсивного алгоритма на примере факториала.
Дополнительные темы
-
Итерационный алгоритм. Работа с объектами: методы, свойства, события.
Экзамен.
На данном курсе применяется три формы проведения занятий:
-
Лекции, на которых излагается теоретический материал, приводятся многочисленные примеры, советы и рекомендации.
-
Упражнения – слушатели самостоятельно или совместно с преподавателем решают разнообразные задачи по алгоритмизации и программированию. Всего разбирается более 70 примеров.
-
Практика – занятия в компьютерном классе, на которых слушатели закрепляют пройденный материал.
Курс ориентирован на тех пользователей, кто не имеет никаких знаний по алгоритмизации и программированию или является начинающим программистом. Примеры и упражнения приводятся с применением современного языка Microsoft Visual Basic .Net, но все изучаемые темы распространяются на любые языки программирования высокого уровня.
|
Высшая инженерная школа СПбПУ info@avalon.ru ул.Обручевых, д.1. к.202. (812)
показать номер
|
|
|