Курсы C/C++
Общая информация Расписание и стоимость
Условия обучения
Проведение занятий Преподаватели Учебные материалы Документы об окончании Отзывы слушателей

Другие курсы

Курсы C++ Курсы Java Курсы C# (.NET) Курсы Microsoft C# (.NET) Программирование Android Курсы Web-технологий Программирование Linux Тестирование ПО Программирование микроконтроллеров

Обратная связь

+7 (812) 703-02-02 Форум
Печать

Основы алгоритмизации и программирования

Продолжительность обучения: 64 ак.ч. очно
График обучения: 16 дней по 4 ак.ч.

Курс пока не поставлен в расписание. Оставить заявку

Аннотация

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

В настоящее время существует большое количество разнообразных языков программирования, с помощью которых можно эффективно решать широкий круг задач. Но залогом успешной разработки программного обеспечения на любом языке программирования было и остается знание основных принципов алгоритмизации, понимание процесса работы программы, обработки компьютером данных. Это является базисом для программиста любого профиля и поэтому изучается на данном курсе. Отдельное внимание на занятиях уделяется различным способам организации данных в программе, решению стандартных алгоритмических задач.

Раньше программирование было уделом математиков и системных инженеров. В настоящее время темы, рассматриваемые в курсе нужны компьютерным специалистам разного профиля: начиная от пользователей офисных пакетов, которые пишут макросы для автоматизации своей работы или WEB-дизайнеров и заканчивая системными программистами. Курс ориентирован на тех пользователей, кто не имеет никаких знаний по алгоритмизации и программированию или является начинающим программистом.

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

Примеры и упражнения приводятся с применением современного языка Microsoft Visual Basic .Net, но все изучаемые темы распространяются на любые языки программирования высокого уровня. Курс будет полезен не только будущим программистам, но и желающим освоить такие специальности как разработчик WEB-узлов, администратор баз данных, разработчик макросов для различных пакетов. Также данный курс можно рассматривать как подготовительный для поступающих на второе высшее образование.

На данном курсе применяется три формы проведения занятий:

  • Лекции, на которых излагается теоретический материал, рассматриваются общие вопросы решения алгоритмических задач, приводятся многочисленные примеры, советы и рекомендации.
  • Упражнения – слушатели самостоятельно или совместно с преподавателем решают разнообразные задачи по алгоритмизации и программированию. Часть заданий слушатели курса должны решить дома. Проверенные задания обсуждаются в классе. Всего разбирается более 70 примеров.
  • Практика – занятия в компьютерном классе, на которых слушатели закрепляют пройденный материал, реализуют на компьютере рассмотренные ранее задачи.

Документы об окончании обучения

  • Удостоверение повышении квалификации (выдается лицам имеющим высшее или среднее профессиональное образование)
    Удостоверение повышении квалификации (выдается лицам имеющим высшее или среднее профессиональное образование)

Преподаватели

Знания и умения, полученные в результате обучения

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

Слушатель познакомится с основополагающими понятиями: оператор, переменная, процедура, функция, тип данных и т.д. Научится применять основные операторы языка программирования высокого уровня: условие, различные виды циклов, выбор. Научится строить блок-схемы алгоритмов и производить по ним разработку программ. Сможет грамотно проектировать и реализовывать подпрограммы (процедуры и функции). На курсе рассматриваются основные формы представления данных: строки, структуры (пользовательские типы данных), массивы (одномерные и многомерные), списки. Отдельные темы посвящены созданию широко распространенных алгоритмов сортировки, поиска минимального, максимального значения в массиве, реализации задач по обработке строк. Рассматриваются итерационные и рекурсивные алгоритмы. Объясняются основные принципы объектно-ориентированного программирования.

Курсы, в освоении которых помогут приобретенные знания:

Расписание

Курс пока не поставлен в расписание. Оставить заявку на курс

Стоимость

Дата Физ. лица, руб. Юр. лица, руб. Дистанционно
Без скидки Cкидка 10%* Cкидка 15%** Без скидки Cкидка 10% Cкидка 15%
Цена c 18.01.2016 17100 15350 14500 21050 18900 17850 16900

*Скидка 10% для ранее обучавшихся, при одновременной оплате 2х курсов, а также по акциям.
**Скидка 15% при одновременной оплате 3х и более курсов.
Примечание. Студентам ВУЗов Санкт-Петербурга очной формы обучения скидка до 25%.
Скидка не предоставляется на дистанционную форму обучения.

Требования к начальному уровню знаний

Данный курс предназначен для слушателей, которые либо не имели совсем, либо имели небольшой опыт программирования. Курс ориентирован на квалифицированных пользователей, имеющих опыт работы в MS Windows, практические навыки работы в Microsoft Word. Знание английского языка облегчает усвоения материала курса.

Предварительное тестирование

Тест №ВКТ-113.2 Операционная система MS Windows

  • Понятие об операционных системах. Функции и классификация операционных систем.
  • Состав MS Windows. Требования к аппаратной части.
  • Понятие об оригинальной и локализованной версиях программы.
  • Раскладка клавиатуры. Переключение языка.
  • Работа с мышью в MS Windows: указатели и типы операций.
  • Интерфейс MS Windows. Основные элементы.
  • Элементы окон в MS Windows. Режимы отображения окна, операции с окнами. Виды окон.
  • Запуск, завершение приложений, переключение между ними.
  • Элементы диалоговых окон, заполнение полей в диалоговых окнах.
  • Операции с пиктограммами. Виды пиктограмм.
  • Типы меню и команд. Способы выполнения команд.
  • Главное меню. Разделы Главного меню.
  • Завершение работы с MS Windows. Перезагрузка системы.
  • Стандартные приложения MS Windows: графический редактор Paint, текстовый редактор Word, Калькулятор. Стандартные кнопки в приложениях.
  • Открытие и сохранение документов
  • Буфер Обмена. Копирование и перемещение данных через Буфер Обмена.
  • Ярлыки: определение, виды, способы создания, операции.
  • Файловая система. Пространство имен.
  • Приложение "Мой компьютер (Компьютер)": переход на нужный диск и в нужную папку; режимы просмотра; создание и переименование папок; выделение, копирование, перемещение и удаление объектов; отмена последнего действия; изменение свойств и установка параметров.
  • Поиск файлов и папок.
  • Панель задач: назначение, настройка
  • Рабочий стол: назначение, настройка. Упорядочение окон и пиктограмм.
  • Настройка Главного меню.
  • Настройка Панели Управления: Дата/время, Клавиатура, Мышь, Принтеры, Шрифты, Экран.

Программа курса

Программа курса

Лекции

Раздел 1

Вводная часть.
  • Программное и аппаратное обеспечение. Языки программирования: уровень и тип языка программирования, характеристики. Краткий обзор парадигм программирования: процедурные языки, объектно-ориентированные языки.
  • Этапы разработки программного обеспечения. Жизненный цикл программного продукта.
  • Характеристики разрабатываемой программы.
  • Основные принципы обработки команд программы исполнителем (компьютером).
  • Организация ЭВМ. Принципы построения ЭВМ, машина Фон Неймана.

Раздел 2

Понятие Данные.
  • Понятие данные, информация. Свойства информации. Представление данных разного типа в компьютере: целочисленные данные и числа с плавающей точкой, строки фиксированной и переменной длины, символы, логические значения, даты. Различные варианты кодировки символов. Сравнение данных разных типов. Системы счисления. Общие понятия и конкретные системы: десятичная, двоичная, шестнадцатеричная, восьмеричная. Правила перевода числа из одной системы в другую. Устройство памяти. Адресация. Понятие переменная. Объявление (декларация) и инициализация переменных. Правила именования.

Раздел 3

Понятие Программа.
  • Понятие программа, алгоритм, исполнитель.
  • Типы программного обеспечения: системное, прикладное, инструментальное (средства разработчика).
  • Трехуровневая модель программного продукта.
  • Свойства алгоритмов. Формы представления алгоритмов: естественный язык, блок-схема, формальный язык. Составление блок-схем алгоритмов.
  • Иерархическая организация программы, модульность. Область видимости и время жизни. Секции программного модуля.
  • Понятия транслятор, компилятор, интерпретатор. Статическая и динамическая компиляция.

Раздел 4

Понятие Интерфейс.
  • Варианты интерфейсов: UI, GUI и др. Важность правильной разработки интерфейса. Различные методы построения диалога с пользователем.

Раздел 5

Язык программирования. Переменные.
  • Состав и структура языка программирования. Понятия алфавита, синтаксиса и семантики.
  • Комментарии.
  • Переменные. Определение имени переменной. Объявление переменной. Инициализация переменной по умолчанию и из кода.
  • Область видимости и время жизни переменных. Затенение имен.
  • Оператор присваивания.
  • Типы переменных. Преобразование типов явное и неявное. Стандартные операции с переменными.
  • Константы.
  • Указатель или ссылка на переменную.

Раздел 6

Язык программирования. Операторы.
  • Понятие оператора. Запись операторов. Многострочные операторы, понятие блока.
  • Оператор условия. Составления условия: сравнение числовых значений, дат, строковых и логических значения. Составление сложных условий: использование логических операций OR, AND, XOR, NOT. Приоритет операций. Вложенные операторы. Оптимизация условий.
  • Оператор выбора. Оптимизация оператора выбора.
  • Оператор цикла: циклы с предусловием, с постусловием, с параметром. Цикл для обхода элементов группы. Понятия: тело цикла, условие цикла, счетчик, итерация. Использование счетчика цикла. Оператор досрочного выхода из цикла.

Раздел 7

Процедуры и функции.
  • Декомпозиция задачи на подзадачи. Программирование сверху вниз и снизу вверх. Парадигма черного ящика. Входные и выходные данные подпрограммы.
  • Понятия подпрограмма, процедура, функция. Процедуры стандартные, пользовательские, обработки событий. Описание, объявление, вызов процедуры. Библиотеки функций.
  • Вызов процедуры и функции.
  • Аргументы формальные и фактические. Тип аргумента. Передача аргументов по значению и по ссылке. Значение, возвращаемой функцией.
  • Способы взаимодействия различных фрагментов программы. Структурная декомпозиция.

Раздел 8

Способы организации данных.
  • Роль организации данных в программе.
  • Понятие массива. Массивы одномерные и многомерные. Понятие индекса и элемента массива. Подсчет объема памяти занимаемой массивом. Типовые задачи с массивами: доступ к элементу, обход элементов, инициализация элементов.
  • Представление текстовой информации. Понятие строка. Различные способы организации строковых данных. Работа с отдельными символами. Наиболее употребительные функции для работы со строками.
  • Пользовательский тип данных (структура). Объявление и использование пользовательского типа. Совместное использование пользовательских типов данных и массивов.
  • Применение списков и файлов. Однонаправленный, двунаправленный, кольцевой списки. Организация стеков различных типов.

Раздел 9

Решение общих алгоритмических задач.
  • Поиск элемента в массиве: линейный, двоичный и интерполяционные алгоритмы. Поиск наибольшего и наименьшего элемента в массиве. Различные способы сортировки элементов массива: метод прямого выбора, метод вставки, пузырьковая сортировка. Оценка сложности алгоритма и сравнение алгоритмов.
  • Алгоритмы работы со строками. Разбиение и объединение строк, поиск и извлечение подстроки, удаление подстроки, синтаксический анализ текста.
  • Рекурсивные и итерационные алгоритмы. Рекурсивные математические функции на примере вычисления факториала.

Раздел 10

Объектно-ориентированное программирование.
  • Преимущества применения объектно-ориентированного подхода в программировании. Понятия класс, объект, свойство, метод, событие. Основные характерные черты объектно-ориентированного подхода (обзорно): инкапсуляция, наследование, полиморфизм.

Практические работы

Практика 1

Знакомство со средой программирования.
  • Знакомство со средой программирования MS Visual Studio. Основные типы файлов. Понятие решения, проекта, модуля. Создание нового проекта, присвоение имен. Основные операции в проекте, навигация.
  • Основные необходимые понятия для начала работы с объектами и классами.
  • Проектирование пользовательского графического интерфейса. Работа в Form Designer.
  • Написание кода. Создание обработчиков событий, реагирование на действия пользователя.
  • Решение простейших алгоритмических задач:
    • - ввод, вывод данных,
    • - использование подпрограмм,
    • - проверка правильности ввода, реагирование на ошибки,
    • - обмен значений двух переменных,
    • - определение четности числа.
  • Компиляция проекта. Подготовка и запуск исполняемого файла.
  • Работа со справочной системой.

Практика 2

Работа с массивом
  • Создание проекта, добавление, удаление, переименование модулей.
  • Проектирование приложения, двухуровневая модель. Реализация независимости пользовательского интерфефса от логики.
  • Реализация подпрограмм для работы с массивом: добавление элемента, удаление, очистка массива, выбор элемента, сортировка элементов. Контроль входных данных.
  • Разработка пользовательской формы. Проектирование интерфейса. Организация ввода и вывода данных, реакция на ошибки.

Практика 3

Работа со строками
  • Решение следующих задач:
    • - переворот строки,
    • - отображение кодов символов,
    • - получение случайного слова,
    • - подсчет и вывод отдельных слов в строке.
  • Реализация рекурсивного алгоритма
  • Реализация рекурсивного алгоритма на примере факториала.
Дополнительные темы
  • Итерационный алгоритм. Работа с объектами: методы, свойства, события.

Экзамен

Сдача выпускного экзамена.