Основы программирования

Литература

  1. Федоров, Д. Ю. Программирование на языке высокого уровня python : учебное пособие для прикладного бакалавриата / Д. Ю. Федоров. — М. : Издательство Юрайт, 2018. — 126 с. — (Серия : Бакалавр. Прикладной курс). — ISBN 978-5-534-04479-9. — Режим доступа : www.biblio-online.ru/book/1EE056CF-F11A-4C18-8D33-40B703D49AC5.

Для чтения книги, зайдите на сайт издательства по ссылке http://cufts.library.spbu.ru/CRDB/SPBGU/resource/306/goto и введите свои университетсткие логин (st……) и пароль.

Лекции

Учебный план

  1. Вводная лекция (без конспекта, ищите в учебнике):
    1. Переменные и присваивания переменным
    2. Условный оператор
    3. Определение функции (ключевое слово def)
    4. Функция print
    5. Строки и конкатенация строк, операция str
  2. Базовые типы данных и операции с ними (без конспекта, ищите в учебнике)
    1. Числовые типы и арифметические операции: + - * / // %
    2. Логический тип и логические операции and or not
    3. Операции сравнения == != is not is >= <= > <
    4. Строки и литералы строк (одинарные и двойные кавычки, кавычки три раза)
    5. Форматные строки f""
  3. (вне лекций, для задач о псевдографике, где нужно рисовать квадраты и треугольники из букв)
    1. краткая информация о циклах
  4. Лекция: Операции со строками, операции с последовательностями
  5. Лекция: Продвинутые операции с последовательностями
  6. Лекция: Множества и словари
  7. Лекция: Чтение и запись текстовых файлов
  8. Лекция: Функции
  9. Лекция: Рабора в среде разработки IntelliJ IDEA (PyCharm)
  10. Обработка исключений
  11. Лямбда выражения и элементы функционального программирования
  12. Генераторы
  13. Модули
  14. Базовое объектно-ориентированное программирование.

Как сдавать задания

  1. Пользуйтесь той средой разработки, которую я определил на текущий момент. Сейчас это IDLE, среда, которая устанавливается вместе с Python.
  2. Все задания вы должны иметь в виде файлов с исходным кодом на своем компьютере. Эти файлы нужно сохранять как минимум до конца семестра. Чтобы данные не потерялись, храните их как минимум в двух различных местах. Лучше всего - на своем диске и в облаке (yandex.disk, dropbox, google disk, OneDrive и т.п.) Нельзя хранить файлы только на сайте repl.it Хранить нужно ровно ту версию файла, которую я у вас принял как правильное решение задания.
  3. Все задания должны оформляться в виде функций, если не указано обратное. Вы можете заводить вспомогательные функции, но обязательно нужна основная функция, которая решает задачу. Параметры функции и то, что она должна возвращать, указываются в условии задачи. Если вы по условию не понимаете, что функция получает в качестве параметров, и что она должна возвращать - спросите меня, возможно, я плохо сформулировал условие.
  4. Тестируйте свои функции с решениями задач. Достаточно делать print() от результата вызова функции. Пишите сразу несколько тестов, т.е. сразу несколько print() в своем файле с решением задачи. Не вводите данные с клавиатуры. Если вы хотите проверить свою функцию на новом наборе аргументов, просто добавьте еще один print() в свой код.
  5. Используйте сайт repl.it для проверки решений. Я собираюсь выкладывать туда все или почти все выданные вам задачи. Ниже в разделе “Задания” приведена ссылка дял регистрации на курс, где вы сможете проверять решения.

    На сайте repl.it, во-первых, вы проверите, какую именно функцию вы должны написать, во-вторых, ваша функция будет проверена на наборе тестов, и вы узнаете, правильно ли она работает.

  6. Задача считается сданной только после того, как вы обсудили со мной лично ее решение. Ну или после того как в таблице результатов появился +.
  7. При решении задачи можно пользоваться только теми возможностями языка, которые мы успели изучить на лекциях. Если вы воспользуетесь другими возможностями, которые вы нашли в Интернете, или которые знали сами, при сдаче задачи я буду задавать много вопросов, пытаясь понять, действительно ли вы понимаете всё, что написали. Как это работает, когда можно так писать и т.п. Либо же я просто скажу, что в этой задаче меня интересовало ваше умение пользоваться другими возможностями языка и заставлю переделывать. Это отнимает много времени.

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

  8. Оформляйте код правильно и аккуратно. В python есть документ PEP 8, который подробно описывает оформление кода, включая правила именования переменных и расстановку отступов. Понятно, что вы не можете всё прочитать и запомнить, но вы должны смотреть и запоминать, какие исправления делаю я в вашем коде при проверке. Когда мы начнем пользоваться средой разработки IntellijIDEA или PyCharm, она будет подсказывать вам правильное оформление, эти подсказки нельзя игнорировать.

Задания

Задачи на сайте repl.it для автоматической проверки: присоединиться к курсу

  1. Часть 1. Типы и условные операторы
  2. Часть 2. Псевдографика
  3. Часть 3. Операции со строками и другими последовательностями
  4. Часть 4. Списки, множества, словари