Автор:
keepercoder
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
Python занимает седьмое место по популярности среди языков программирования согласно TIOBE Index. Специалисты востребованы, имеют возможность выбора среди открытых вакансий. Мы продолжаем публиковать информацию о курсах, которые находятся в открытом доступе.
Python
Курс был прочитан в рамках инициативы Computer Science Center – совместного проекта Академии современного программирования (http://amse.ru), Computer Science клуба при ПОМИ РАН (http://compsciclub.ru), Школы анализа данных (http://shad.yandex.ru). В лекциях рассматривается широкий круг проблем – от основ языка до использования его как в научной области, так и с помощью веб-ориентированных фреймворков.
Из первых лекций слушатели смогут узнать о таких базовых вещах, как:
- история возникновения языка,
- интерпретатор,
- присваивания,
- управляющие конструкции,
- последовательные структуры данных.
А также освоить использование функций:
- определение,
- передача параметров,
- специальные аргументы,
- области видимости,
- лямбда-функции,
- замыкания и т.д.
Большой темой курса стало объектно-ориентированное программирование. Мы узнаем о:
- классах и их синтаксисе,
- областях видимости и пространстве имен,
- объектах-классах,
- объектах-экземплярах,
- объектах-методах,
- наследовании.
Вторая половина курса посвящена:
- проблемам типизации,
- мета-программированию,
- многопоточности,
- работе с библиотеками,
- а также отличию второй версии Python от третьей.
А последние три лекции призваны познакомить с использованием Python для:
- веб-разработки (веб-фреймворки, темплейтные языки Python, Django, Jinja, Mako),
- научных вычислений (scipy, numpy, matplotlib, PIL).
Изучение курса является хорошим введением в программирование на языке Python, а его успешное освоение позволяет перейти к практическому использованию языка.
Язык программирования Python
Георгий Курячий читает курсы на факультете ВМК МГУ (http://cs.msu.ru) на кафедре «Автоматизация систем вычислительных комплексов» (АСВК,http://cs.msu.ru/departments/asvk). С одним из таких спецкурсов, посвященных языку программирования Python, мы и предлагаем вам познакомиться.
Изучение курса начинается с истории языка программирования Python и освоения работы в командной строке (help(), help(объект), интерактивная HTML-документация, объекты Python и др.) и ее настройки (история, поиск по истории (^R), достраивание имен, .bashrc, .pythonstartup, .inputrc).
А затем перейдете к исследованию:
- логических выражений (сравнение; тип bool; операции and, or и not; условные вычисления; нулевой элемент (класса), метод nonzero, операции and и or для произвольных объектов),
- операторов ветвления и циклов («блок с отступом» (indented block), if/elif/else, неструктурной сущности elif, while/break/continue, else (в том числе на примере задачи поиска), for по итерируемому объекту (__iter__)),
- множественных присваиваний,
- стандартных типов данных (целые, длинные целые, вещественные числа, комплексные числа, булевский и типы-объекты),
- последовательностей (кортежи, списки, строки, проблема UTF и Unicode-строки, bytearray, xrange) и т.п.
Следующая часть курса посвящена более сложным темам, таким как:
- множества (константные множества, выражение-генератор множества),
- словари (хешируемые объекты, задание словаря, итератор и проверка in по ключу и др.),
- строки (строковые методы, форматирование строки с помощью .format(), кодировка, u-строки и их преобразование),
- функции.
Кроме того, уделено внимание работе со строками и кодировкой, рассказывается о генераторах и исключениях.
В заключение автор дает представление о работе с файлами, вводе-выводе (потоковый, сериализация, индексированный доступ, спецфайлы) и взаимодействии с операционной системой средствами Python (модули os и sys).
Отдельное внимание уделено модулям и классам, в частности, например, модулям расширения языка (функциональное программирование, надстройки над стандартными структурами данных).
Язык программирования Python
Для успешного освоения материалов лекций потребуется знание одного из императивных языков программирования (например, Pascal, C++, Java и т.п.). В качестве предварительного курса Интернет-Университетом Информационных Технологий рекомендуются «Основы программирования» (http://www.intuit.ru/studies/courses/2193/67/info).
В целом освоение программы «Язык программирования Python» позволяет приобрести практические навыки работы с одноименным языком, а также его совместного использования с другими технологиями (например, системами программирования).
В начале слушателям курса предлагается ознакомиться с синтаксисом языка программирования Python (основные алгоритмические конструкции, литералы, выражения), встроенными типами данных, рядом модулей и пакетов библиотек.
Далее познакомимся с элементами функционального программирования, которые можно использовать при работе с Python, а также с написанием программ в объектно-ориентированном стиле.
Завершив рассмотрение основ и стилей программирования, автор переходит к решению различных практических задач. В частности:
- реализации численных алгоритмов и матричных вычислений на базе пакета Numeric,
- работы с текстом и регулярными выражениями, с форматами данных (CSV, XML, пакет email),
- реализации веб и сетевых приложений (CGI-сценарии, Zope, работа с сокетами, модули smtplib и poplib, клиентские модули для WWW, сервер XML-RPC).
Освоив заключительные лекции, слушатели научатся применять Python для работы с базами данных (DB API 2.0, СУБД и Python), реализовывать многопоточные вычисления (модуль threading, модуль thread) и приложения с графическим интерфейсом, интегрировать Python с другими языками программирования.
Отдельное внимание уделено устройству интепретатора языка программирования Python.
Programming for Everybody
Проект Open.Michigan Университета Мичигана представил курс Programming for Everybody («Программирование для каждого») на английском языке, который построен на основе использования языка программирования Python. Освоение программы позволяет получить базовые знания о программировании, в частности, на Python, при этом не требуется, как и следует из названия курса, никаких предварительных знаний в данной области.
Первые лекции позволяют слушателям получить необходимые начальные понятия:
- установка Python;
- понятие о коде и программе;
- архитектуре аппаратной части;
- Python как язык;
- элементах Python – зарезервированные слова и т.п.;
- написание простой программы;
- переменные;
- выражения и др.
Продолжив изучение курса можно пополнить свои знания Python в области:
- реализации условных конструкций, функций, ветвлений и циклов;
- работы со строками, файлами, списками, регулярными выражениями и т.п.
Заключительные лекции позволяют познакомиться с веб-разработкой на Python, а также работой с базами данных средствами этого языка.
Курс является хорошим введением в программирование на Python, которое ориентировано на тех, кто не имеет никакой подготовки в области программирования. Подача материала начинается с азов и постепенно усложняется, при этом делаются отступления (например, рассмотрение архитектуры аппаратной части) для придания рассматриваемым проблемам большей ясности.
Кроме того, лекции хорошо иллюстрированы презентациями, которыми можно пользоваться в качестве конспекта.
Introduction to Computer Science and Programming
Еще один курс на английском языке. Создан в недрах Массачусетского технологического института в качестве введения в программирование для слушателей, не имеющих опыта в программировании или с небольшим опытом. Материалы лекций основаны на использовании языка Python.
Вводная часть курса посвящена рассмотрению таких проблем, как:
- типы данных,
- операторы,
- переменные,
- ветвление,
- условные операции,
- циклы,
- функции,
- рекурсия,
- списки и др.
В последующих лекциях рассматриваются более сложные проблемы, такие, например, как:
- бинарный поиск,
- сортировка,
- тестирование и отладка,
- динамическое программирование,
- объектно-ориентированное программирование,
- абстрактные типы данных,
- классы и методы,
- инкапсуляция,
- наследование,
- «затеняющее» объявление,
- вычислительные модели,
- метод Монте-Карло и др.
Курс хорошо подойдет тем, кто не имеет опыта программирования и кому необходимо научное введение в язык программирования Python, доступное на академическом языке с рассмотрением применения различных подходов (динамическое, объектно-ориентированное программирование) при использовании этого языка программирования.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
|