У вас уже есть заявка на текущий период.
Если вы хотите, чтобы данная программа участвовала в розыгрыше гранта в этом месяце, необходимо добавить ее в папку "Интересные мероприятия".
Или создайте заявку на другой период.
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, но все изучаемые темы распространяются на любые языки программирования высокого уровня.
Есть акция! Скидка студентам на обучение на краткосрочных курсах всех направлений. Скидка 25% студентам Политеха (СПбПУ). Скидка 15% студентам других ВУЗов Санкт-Петербурга. Скидка действия до 1 сентября 2016 года.