Information

Created: 21.12.2005 | Level: for all | Access: free
Изучается язык программирования Python, его основные библиотеки и некоторые приложения.
Курс посвящен одному из бурно развивающихся и популярных в настоящее время сценарных языков программирования - Python. Язык Python позволяет быстро создавать как прототипы программных систем, так и сами программные системы, помогает в интеграции программного обеспечения для решения производственных задач. Python имеет богатую стандартную библиотеку и большое количество модулей расширения практически для всех нужд отрасли информационных технологий. Благодаря ясному синтаксису изучение языка не составляет большой проблемы. Написанные на нем программы получаются структурированными по форме, и в них легко проследить логику работы. На примере языка Python рассматриваются такие важные понятия как: объектно-ориентированное программирование, функциональное программирование, событийно-управляемые программы (GUI-приложения), форматы представления данных (Unicode, XML и т.п.). Возможность диалогового режима работы интерпретатора Python позволяет существенно сократить время изучения самого языка и перейти к решению задач в соответствующих предметных областях. Python свободно доступен для многих платформ, а написанные на нем программы обычно переносимы между платформами без изменений. Это обстоятельство позволяет применять для изучения языка любую имеющуюся аппаратную платформу.
Goal: Практически ознакомиться с технологией Python и основами ее использования в различных приложениях.
Prerequisites: Умение программировать на императивном языке программирования.

План занятий

LessonTitle <<Date
-
Lecture 1
1 hour 4 minutes
Введение в программирование на языке Python
В этой лекции пойдет речь о синтаксисе языка Python для основных алгоритмических конструкций, литералов, выражений. Будет приведено описание встроенных типов данных, а также сделана попытка рассмотреть некоторые вопросы общепринятого в Python стиля программирования.
Contents
    -
    Тест 1
    21 minute
    -
    Lecture 2
    1 hour 8 minutes
    Основные стандартные модули Python
    Лекция знакомит с наиболее важными модулями и пакетами стандартных библиотек Python в мере, достаточной для свободного ориентирования в них.
    Contents
      -
      Тест 2
      18 minutes
      -
      Lecture 3
      49 minutes
      Элементы функционального программирования
      Эта лекция может показаться необычной для того, кто использует императивные языки программирования (вроде Pascal, C++ или Java). Тем не менее, функциональный подход дает программисту мощные средства, позволяя создавать не только более компактный, но и более устойчивый к ошибкам программный код. Совсем не обязательно писать с помощью Python чисто функциональные программы, но необходимо научиться видеть, где элементы функционального программирования принесут максимальный эффект.
      Contents
        -
        Тест 3
        18 minutes
        -
        Lecture 4
        1 hour 8 minutes
        Объектно-ориентированное программирование
        Язык Python имеет достаточно мощную, но, вместе с тем, самобытную поддержку объектно-ориентированного программирования. В этой лекции ООП представляется без лишних формальностей. Работа с Python убеждает, что писать программы в объектно-ориентированном стиле не только просто, но и приятно.
        Contents
          -
          Тест 4
          21 minute
          -
          Lecture 5
          49 minutes
          Численные алгоритмы. Матричные вычисления
          В данной лекции рассматривается пакет Numeric для осуществления численных расчетов и выполнения матричных вычислений, приводится обзор других пакетов для научных вычислений.
          Contents
            -
            Тест 5
            15 minutes
            -
            Lecture 6
            59 minutes
            Обработка текстов. Регулярные выражения. Unicode
            В этой лекции дается краткое представление о возможностях языка Python по обработке текстовой информации. Рассмотрены синтаксис и семантика регулярных выражений, а также некоторые вопросы использования Unicode.
            Contents
              -
              Тест 6
              21 minute
              -
              Lecture 7
              48 minutes
              Работа с данными в различных форматах
              Работа с современными форматами данных - одно из сильных мест стандартной библиотеки Python. В этой лекции будут рассмотрены типичные для Python подходы к чтению, преобразованию и записи информации в требуемых форматах. В настоящее время разработано и доступно в Интернете большое количество модулей для всевозможных форматов данных.
              Contents
                -
                Тест 7
                18 minutes
                -
                Lecture 8
                41 minute
                Разработка Web-приложений
                Одна из главных сфер применения языка Python - web-приложения - представляется в этой лекции на конкретных примерах. Кроме того, делается акцент на типичных слабых местах безопасности web-приложений.
                Contents
                  -
                  Тест 8
                  15 minutes
                  -
                  Lecture 9
                  55 minutes
                  Сетевые приложения на Python
                  В этой лекции рассматривается реализация на Python простейшего клиент-серверного приложения, дается представление о типичном для сети Internet приложении. Стандартная библиотека Python имеет несколько модулей для работы с различными протоколами. Этими модулями охватываются как низкоуровневые протоколы (TCP/IP, UDP/IP), так и высокоуровневые (HTTP, FTP, SMTP, POP3, IMAP, NNTP, ...). Здесь будет рассмотрена работа с сокетами (модуль socket) и три модуля высокоуровневых протоколов (urllib2, poplib, smtplib). При этом предполагается, что имеется понимание принципов работы IP-сети и некоторых ее сервисов, а также представление о системе WWW.
                  Contents
                    -
                    Тест 9
                    15 minutes
                    -
                    Lecture 10
                    42 minutes
                    Работа с базой данных
                    В этой лекции рассматривается спецификация DB-API 2.0 и модуль для работы с конкретной базой данных, дается начальное представление о языке запросов SQL.
                    Contents
                      -
                      Тест 10
                      12 minutes
                      -
                      Lecture 11
                      42 minutes
                      Многопоточные вычисления
                      В этой лекции рассматриваются вопросы взаимодействия потоков (нитей) в рамках одной программы. Вводятся основные понятия (семафоры, очереди, блокировки). Делается попытка объяснить особенности параллельного программирования на основе модели многопоточности.
                      Contents
                        -
                        Тест 11
                        15 minutes
                        -
                        Lecture 12
                        53 minutes
                        Создание приложений с графическим интерфейсом пользователя
                        В этой лекции рассматривается создание простейшего приложения с графическим интерфейсом пользователя. Для построения интерфейса не применяются визуальные средства ("построители интерфейса"), а используются возможности графической библиотеки виджетов (Tk).
                        Contents
                          -
                          Тест 12
                          12 minutes
                          -
                          Lecture 13
                          53 minutes
                          Интеграция Python с другими языками программирования
                          В этой лекции рассматривается встраивание (embedding) интерпретатора Python в программу на C, и, наоборот, написание модулей для Python на языке C (extending). Кратко описывается инструмент для связывания C-библиотек с программами на Python (SWIG). Дается обзор связок языка Python с другими языками программирования: C++, Java, OCaml, Prolog. Коротко говорится о специальном языке для написания модулей расширения Python - Pyrex.
                          Contents
                            -
                            Тест 13
                            9 minutes
                            -
                            Lecture 14
                            1 hour
                            Устройство интерпретатора языка Python
                            В этой лекции сделана попытка пролить свет на внутреннее устройство интерпретатора Python. Для иллюстрации работы интерпретатора рассматриваются отладчик, профайлер и "дизассемблер".
                            Contents
                              -
                              Тест 14
                              9 minutes
                              -
                              5 hours
                              -