Различия между версиями 1 и 35 (по 34 версиям)
Версия 1 от 2018-07-22 13:17:55
Размер: 5070
Редактор: FrBrGeorge
Комментарий:
Версия 35 от 2018-10-07 22:34:20
Размер: 6785
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 1: Строка 1:
== Введение в ЯП Python3 == == Язык программирования Python3 ==
Курс на основе второго, адаптированного к Python3 издания учебника [[http://greenteapress.com/thinkpython2/html/index.html|Think Python: How to Think Like a Computer Scientist]]
Строка 3: Строка 4:
Проект курса на основе учебника [[http://greenteapress.com/thinkpython2/html/index.html|Think Python: How to Think Like a Computer Scientist]]  * Лектор: [[FrBrGeorge|Георгий Курячий]]
 * Время и место: '''Пятница''', 18:00, аудитория '''П5'''
 * Первая лекция: '''21.09'''
== Материалы ==
 * Учебник: [[/CourseBook|Think Python: How to Think Like a Computer Scientist]]
 * [[../PythonIntro2017|Спецкурс 2017 года]] (есть конспекты и видеозаписи)
 * [[py3tut:|Python3 Tutorial]] (aka тьюториал) (имеется несколько устаревший [[https://ru.wikibooks.org/wiki/Python/%D0%A3%D1%87%D0%B5%D0%B1%D0%BD%D0%B8%D0%BA_Python_3.1|русский перевод]]
 * [[https://opentechschool.github.io/python-beginners/ru/index.html|Введение в программирование на Python]] (aka «Python для самых маленьких»)
Строка 5: Строка 13:
----- == Лекции ==
|| '''№''' || '''Тема''' || '''Дата''' || '''Лектор''' || '''Конспект''' || '''Запись'''|| '''Срок сдачи<<BR>>д/з''' ||
|| 1 || [[/01_Commandline|Командная строка и связывание]] || <<Date(2018-09-21T18:00:00+0300)>> || [[FrBrGeorge|Георгий Курячий]] || скоро || [[https://www.youtube.com/watch?v=ayAYzw0s0XI&index=1&list=PL6kSdcHYB3x7QIgZquceA2GLwX_0SLGep|YouTube]] || … ||
|| 2 || [[/02_Functions|Функции и генераторы]] || <<Date(2018-09-28T18:00:00+0300)>> || [[FrBrGeorge|Георгий Курячий]] || [[/02_Functions/Conspect | читать]] || [[https://www.youtube.com/watch?v=l8uocugC-Mc&index=2&list=PL6kSdcHYB3x7QIgZquceA2GLwX_0SLGep|YouTube]] ||<<Date(2018-10-07T18:00:00+0300)>> ||
|| 3 || [[/03_ConditionalsRecursion|Логические выражения, условные операторы, рекурсия и цикл]] || <<Date(2018-10-05T18:00:00+0300)>> || [[FrBrGeorge|Георгий Курячий]] || скоро || [[https://www.youtube.com/watch?v=DM443poZ4bI&list=PL6kSdcHYB3x7QIgZquceA2GLwX_0SLGep&index=3|YouTube]] ||<<Date(2018-10-12T18:00:00+0300)>> ||
Строка 8: Строка 20:
 1. The way of the program
  * What is a program?
  * Running Python
  * The first program
  * Arithmetic operators
  * Values and types
  * Formal and natural languages
  * Debugging
  * Glossary
  * Exercises
 1. Variables, expressions and statements
  * Assignment statements
  * Variable names
  * Expressions and statements
  * Script mode
  * Order of operations
  * String operations
  * Comments
  * Debugging
  * Glossary
  * Exercises
 1. Functions
  * Function calls
  * Math functions
  * Composition
  * Adding new functions
  * Definitions and uses
  * Flow of execution
  * Parameters and arguments
  * Variables and parameters are local
  * Stack diagrams
  * Fruitful functions and void functions
  * Why functions?
  * Debugging
  * Glossary
  * Exercises
 1. Case study: interface design
  * The turtle module
  * Simple repetition
  * Exercises
  * Encapsulation
  * Generalization
  * Interface design
  * Refactoring
  * A development plan
  * docstring
  * Debugging
  * Glossary
  * Exercises
 1. Conditionals and recursion
  * Floor division and modulus
  * Boolean expressions
  * Logical operators
  * Conditional execution
  * Alternative execution
  * Chained conditionals
  * Nested conditionals
  * Recursion
  * Stack diagrams for recursive functions
  * Infinite recursion
  * Keyboard input
  * Debugging
  * Glossary
  * Exercises
 1. Fruitful functions
  * Return values
  * Incremental development
  * Composition
  * Boolean functions
  * More recursion
  * Leap of faith
  * One more example
  * Checking types
  * Debugging
  * Glossary
  * Exercises
 1. Iteration
  * Reassignment
  * Updating variables
  * The while statement
  * break
  * Square roots
  * Algorithms
  * Debugging
  * Glossary
  * Exercises
 1. Strings
  * A string is a sequence
  * len
  * Traversal with a for loop
  * String slices
  * Strings are immutable
  * Searching
  * Looping and counting
  * String methods
  * The in operator
  * String comparison
  * Debugging
  * Glossary
  * Exercises
 1. Case study: word play
  * Reading word lists
  * Exercises
  * Search
  * Looping with indices
  * Debugging
  * Glossary
  * Exercises
 1. Lists
  * A list is a sequence
  * Lists are mutable
  * Traversing a list
  * List operations
  * List slices
  * List methods
  * Map, filter and reduce
  * Deleting elements
  * Lists and strings
  * Objects and values
  * Aliasing
  * List arguments
  * Debugging
  * Glossary
  * Exercises
 1. Dictionaries
  * A dictionary is a mapping
  * Dictionary as a collection of counters
  * Looping and dictionaries
  * Reverse lookup
  * Dictionaries and lists
  * Memos
  * Global variables
  * Debugging
  * Glossary
  * Exercises
 1. Tuples
  * Tuples are immutable
  * Tuple assignment
  * Tuples as return values
  * Variable-length argument tuples
  * Lists and tuples
  * Dictionaries and tuples
  * Sequences of sequences
  * Debugging
  * Glossary
  * Exercises
 1. Case study: data structure selection
  * Word frequency analysis
  * Random numbers
  * Word histogram
  * Most common words
  * Optional parameters
  * Dictionary subtraction
  * Random words
  * Markov analysis
  * Data structures
  * Debugging
  * Glossary
  * Exercises
 1. Files
  * Persistence
  * Reading and writing
  * Format operator
  * Filenames and paths
  * Catching exceptions
  * Databases
  * Pickling
  * Pipes
  * Writing modules
  * Debugging
  * Glossary
  * Exercises
 1. Classes and objects
  * Programmer-defined types
  * Attributes
  * Rectangles
  * Instances as return values
  * Objects are mutable
  * Copying
  * Debugging
  * Glossary
  * Exercises
 1. Classes and functions
  * Time
  * Pure functions
  * Modifiers
  * Prototyping versus planning
  * Debugging
  * Glossary
  * Exercises
 1. Classes and methods
  * Object-oriented features
  * Printing objects
  * Another example
  * A more complicated example
  * The init method
  * The __str__ method
  * Operator overloading
  * Type-based dispatch
  * Polymorphism
  * Debugging
  * Interface and implementation
  * Glossary
  * Exercises
 1. Inheritance
  * Card objects
  * Class attributes
  * Comparing cards
  * Decks
  * Printing the deck
  * Add, remove, shuffle and sort
  * Inheritance
  * Class diagrams
  * Debugging
  * Data encapsulation
  * Glossary
  * Exercises
 1. The Goodies
  * Conditional expressions
  * List comprehensions
  * Generator expressions
  * any and all
  * Sets
  * Counters
  * defaultdict
  * Named tuples
  * Gathering keyword args
  * Glossary
  * Exercises
 1. Debugging
  * Syntax errors
  * Runtime errors
  * Semantic errors
== Аннотация ==
 Название:: Язык программирования Python3
 Title:: Python programming language
 Аннотация:: Курс описывает современное состояние языка программирования Python3, синтаксис и основные приёмы программирования на нём. Для сдачи экзамена необходимо выполнение домашних заданий.
 Annotation:: The course covers the current state of the Python3 programming language, as well as its syntax and main programming techniques. Homework completion is required to pass the exam.
 Уровень:: Бакалавриат
 Рабочая программа:: (тематическая)
  * Интерпретатор и командная строка
  * Пространства имён
  * Базовые типы данных
  * Управление потоком вычислений
  * Хранимые последовательности
  * Функции и вычислимые последовательности
  * Словари и множества
  * Модули
  * Объектное планирование и поддержка ООП, классы
  * Наследование, перегрузка операций, дескрипторы
  * Исключения
  * Замыкания и декораторы
  * Работа с файлами и стандартный модули
  * Использование сторонних модулей и разработка на Python3
== Развёрнутая аннотация ==
Язык программирования Python — объектно-ориентированный ЯП, сочетающий в себе простоту начального освоения, наличие современных конструкций и приёмов программирования, богатую инструментально-прикладную поддержку и огромное поле практического применения во всех отраслях знания, включая естественные и гуманитарные науки. Курс преследует цель обучить слушателей эффективному использованию языка, для достижения чего необходимо решить четыре задачи:
 1. по возможности всесторонне ознакомить слушателей с языком программирования,
 1. предоставить возможность наработки навыков программирования на языке во время решения домашних заданий,
 1. представить эффективные приёмы программирования на Python на примере некоторых инструментально-прикладных компонент,
 1. осветить современные тенденции программирования, нашедшие отражение в структуре языка, в том числе мультипарадигмальный подход при разработке программ.
В процессе изучения предполагается самостоятельная практическая работа.

По окончанию курса проходит устный экзамен, основанием для которого будет являться исходный код выполненных [[/HomeworkRules|домашних заданий]] или [[/PreExam|предэкзаменационного online-тестирования]].

Требования к уровню знаний слушателей:
 * знание алгоритмического программирования,
 * умение составлять и отлаживать программы,
 * представление об объектном планировании и ООП.

Курс является переработкой аналогичного курса 2017 года на основе учебника «Think Python: How to Think Like a Computer Scientist»

----
CategoryLectures

Язык программирования Python3

Курс на основе второго, адаптированного к Python3 издания учебника Think Python: How to Think Like a Computer Scientist

  • Лектор: Георгий Курячий

  • Время и место: Пятница, 18:00, аудитория П5

  • Первая лекция: 21.09

Материалы

Лекции

Тема

Дата

Лектор

Конспект

Запись

Срок сдачи
д/з

1

Командная строка и связывание

2018-09-21

Георгий Курячий

скоро

YouTube

2

Функции и генераторы

2018-09-28

Георгий Курячий

читать

YouTube

2018-10-07

3

Логические выражения, условные операторы, рекурсия и цикл

2018-10-05

Георгий Курячий

скоро

YouTube

2018-10-12

Аннотация

Название
Язык программирования Python3
Title
Python programming language
Аннотация
Курс описывает современное состояние языка программирования Python3, синтаксис и основные приёмы программирования на нём. Для сдачи экзамена необходимо выполнение домашних заданий.
Annotation
The course covers the current state of the Python3 programming language, as well as its syntax and main programming techniques. Homework completion is required to pass the exam.
Уровень
Бакалавриат
Рабочая программа
(тематическая)
  • Интерпретатор и командная строка
  • Пространства имён
  • Базовые типы данных
  • Управление потоком вычислений
  • Хранимые последовательности
  • Функции и вычислимые последовательности
  • Словари и множества
  • Модули
  • Объектное планирование и поддержка ООП, классы
  • Наследование, перегрузка операций, дескрипторы
  • Исключения
  • Замыкания и декораторы
  • Работа с файлами и стандартный модули
  • Использование сторонних модулей и разработка на Python3

Развёрнутая аннотация

Язык программирования Python — объектно-ориентированный ЯП, сочетающий в себе простоту начального освоения, наличие современных конструкций и приёмов программирования, богатую инструментально-прикладную поддержку и огромное поле практического применения во всех отраслях знания, включая естественные и гуманитарные науки. Курс преследует цель обучить слушателей эффективному использованию языка, для достижения чего необходимо решить четыре задачи:

  1. по возможности всесторонне ознакомить слушателей с языком программирования,
  2. предоставить возможность наработки навыков программирования на языке во время решения домашних заданий,
  3. представить эффективные приёмы программирования на Python на примере некоторых инструментально-прикладных компонент,
  4. осветить современные тенденции программирования, нашедшие отражение в структуре языка, в том числе мультипарадигмальный подход при разработке программ.

В процессе изучения предполагается самостоятельная практическая работа.

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

Требования к уровню знаний слушателей:

  • знание алгоритмического программирования,
  • умение составлять и отлаживать программы,
  • представление об объектном планировании и ООП.

Курс является переработкой аналогичного курса 2017 года на основе учебника «Think Python: How to Think Like a Computer Scientist»


CategoryLectures

LecturesCMC/PythonIntro2018 (последним исправлял пользователь FrBrGeorge 2019-01-15 12:47:35)