Парадигмы 1MIT осень2017 — различия между версиями
Ilnurshug (обсуждение | вклад) (→Группа 1) |
(→Группа 3) |
||
(не показаны 32 промежуточные версии 3 участников) | |||
Строка 12: | Строка 12: | ||
* [https://docs.google.com/document/d/1jArFdJFZmStU-aHV4niNJlman11Zr-NY7fT8YnkehKk/edit?usp=sharing Домашнее задание #2] | * [https://docs.google.com/document/d/1jArFdJFZmStU-aHV4niNJlman11Zr-NY7fT8YnkehKk/edit?usp=sharing Домашнее задание #2] | ||
* [https://docs.google.com/document/d/1qFKDy1Amzv0o6dUmXSr_87_P5XFyDUAdrl3e1rjo2Bk/edit?usp=sharing Домашнее задание #3] | * [https://docs.google.com/document/d/1qFKDy1Amzv0o6dUmXSr_87_P5XFyDUAdrl3e1rjo2Bk/edit?usp=sharing Домашнее задание #3] | ||
+ | * [https://docs.google.com/document/d/1au2VzGbcoTwPhJNoHI5cFTPlIa4GL_J7BnQVURtN2xY/edit?usp=sharing Домашнее задание #4] | ||
+ | * [https://docs.google.com/document/d/1f9cJMmdIMWL3WXL0vWqC9TemLxw04Q623ohT0keyB5A/edit?usp=sharing Домашнее задание #5] | ||
+ | * [https://docs.google.com/document/d/1ru-GgYqoAbnrbn9gzLmvbNr9T_n-TqgYYmcYd1-wXwE/edit?usp=sharing Домашнее задание #6] | ||
+ | * [https://docs.google.com/document/d/1ozZ2T553LQn8XaUUZ4hxjqgeIm_WJzYQeHHFtY42jG0/edit?usp=sharing Домашнее задание #7] | ||
+ | * [https://docs.google.com/document/d/1bu73ij5DGHdH8Z_PL1XgiMwKUW3pZrfkNkrzAacbdyg/edit?usp=sharing Домашнее задание #8] | ||
+ | * [https://docs.google.com/document/d/1Kz69JtzdOtP-XmN3msvdu9Sfe3Q4vVwxtFaUS8ye0L8/edit?usp=sharing Домашнее задание #9] | ||
+ | * [https://docs.google.com/document/d/1aD7XjgVsqySvnk9hup11y154tU46LrTl8uj6tL707P8/edit?usp=sharing Домашнее задание #10] | ||
+ | * [https://docs.google.com/document/d/1_1ZBC3XEfNAsTmGrZegXivqfTs2_EEj422GeKpbOtP8/edit?usp=sharing Домашнее задание #11] | ||
==== Правила сдачи домашних заданий ==== | ==== Правила сдачи домашних заданий ==== | ||
Строка 23: | Строка 31: | ||
* [https://git-scm.com/book/ru/v2 Git Book] | * [https://git-scm.com/book/ru/v2 Git Book] | ||
* [https://github.com/ github] | * [https://github.com/ github] | ||
+ | * [https://ericlippert.com/2014/03/05/how-to-debug-small-programs/ How to debug small programs], [https://habrahabr.ru/post/339038 перевод на русский] | ||
+ | * [https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D1%83%D1%82%D1%91%D0%BD%D0%BA%D0%B0 Метод утёнка] | ||
+ | * [http://codekata.com/ CodeKata] | ||
=== Доступ преподавателя к gitlab репозиторию === | === Доступ преподавателя к gitlab репозиторию === | ||
Строка 43: | Строка 54: | ||
=== Группа 1 === | === Группа 1 === | ||
Преподаватель: Ильнур Шугаепов. | Преподаватель: Ильнур Шугаепов. | ||
+ | |||
+ | GitHub: ilnurshug | ||
[https://docs.google.com/spreadsheets/d/1ilI-Zk82r3dzHvhFjRlD79ilXBzyOX3U77SiMR0XKSI/edit?usp=sharing Успеваемость] | [https://docs.google.com/spreadsheets/d/1ilI-Zk82r3dzHvhFjRlD79ilXBzyOX3U77SiMR0XKSI/edit?usp=sharing Успеваемость] | ||
Строка 49: | Строка 62: | ||
* [[Медиа:Numpy_and_Classes.zip|18.09.2016: numpy и классы]]. | * [[Медиа:Numpy_and_Classes.zip|18.09.2016: numpy и классы]]. | ||
+ | * [[Медиа:Overloading_and_metaclasses.zip|25.09.2016: Перегрузка операторов в python3 и метаклассы]]. | ||
− | Формат темы письма: [AU Paradigms] HW_ FirstName LastName. | + | |
+ | Формат темы письма: [AU Paradigms] HW_ FirstName LastName. (символ _ следует заменять на номер сдаваемого ДЗ) | ||
=== Группа 2 === | === Группа 2 === | ||
Строка 61: | Строка 76: | ||
=== Группа 3 === | === Группа 3 === | ||
Преподаватель: Егор Суворов. | Преподаватель: Егор Суворов. | ||
+ | |||
+ | Логин на GitHub/GitLab: <code>yeputons</code> | ||
+ | |||
+ | * [[Парадигмы 1MIT, Стандартные замечания|Сборник замечаний]]. | ||
+ | * [https://github.com/yeputons/fall-2017-paradigms Репозиторий с презентациями]. | ||
+ | * [https://docs.google.com/spreadsheets/d/1fouDrb8AG2seBW0MjfXfox_sWi1PXEJViLWupJ50fHA Баллы]. | ||
+ | |||
+ | Презентации: | ||
+ | * 25.09.2017: [[Медиа:spbau-bach-term-1-parad-25.09.2017.pdf|Перегрузка операторов]], [https://github.com/yeputons/fall-2017-paradigms/tree/master/170925/demo демо]. | ||
+ | * 02.09.2017: [https://github.com/yeputons/fall-2017-paradigms/tree/master/171002 Демо]. | ||
+ | * 09.10.2017: [[Медиа:spbau-bach-term-1-parad-09.10.2017.pdf|Паттерны и паттерн Visitor]], [https://github.com/yeputons/fall-2017-paradigms/tree/master/171009/demo демо]. | ||
+ | * 16.10.2017: [[Медиа:spbau-bach-term-1-parad-16.10.2017.pdf|Арифметика в компьютерах]], [https://github.com/yeputons/fall-2017-paradigms/tree/master/171016/171016.ipynb демо]. | ||
+ | * 23.10.2017: [[Медиа:spbau-bach-term-1-parad-23.10.2017.pdf|Многопоточность-1]], [https://github.com/yeputons/fall-2017-paradigms/tree/master/171023/sources код]. | ||
+ | * 13.11.2017: [[Медиа:spbau-bach-term-1-parad-13.11.2017.pdf|Многопоточность-2]], [https://github.com/yeputons/fall-2017-paradigms/tree/master/171113/sources код]. | ||
+ | * 20.11.2017: [[Медиа:spbau-bach-term-1-parad-20.11.2017.pdf|Haskell-1]], [https://github.com/yeputons/fall-2017-paradigms/tree/master/171120/sources код]. | ||
+ | * 27.11.2017: [[Медиа:spbau-bach-term-1-parad-27.11.2017.pdf|Haskell-2]], [https://github.com/yeputons/fall-2017-paradigms/tree/master/171127/sources код]. | ||
+ | * 04.12.2017: [[Медиа:spbau-bach-term-1-parad-04.12.2017.pdf|SQL]], [https://github.com/yeputons/fall-2017-paradigms/tree/master/171204/sources код]. | ||
+ | |||
+ | |||
+ | Правила написания писем (они помогают мне понимать, на какие письма я могу ответить "на ходу", а какие надо отложить до момента, когда я могу запустить код): | ||
+ | * Тема ''должна'' содержать <code>[paradigms]</code>. | ||
+ | * Шаблон темы для сдачи задания номер 3: <code>[paradigms] [task-03]</code> (аналогично для остальных номеров). Вы также можете добавить в теме произвольные слова, если хотите. | ||
+ | * Ваше письмо для сдачи задания ''должно'' содержать ссылку на: | ||
+ | ** Если решение по условию состоит ровно из одного файла --- на этот файл (например: [https://github.com/torvalds/linux/blob/master/kernel/power/main.c github.com/torvalds/linux/blob/master/kernel/power/main.c]). | ||
+ | ** Если решение по условию состоит из нескольких файлов --- на папку, непосредственно в которой лежат эти файлы (например: [https://github.com/torvalds/linux/tree/master/kernel/power github.com/torvalds/linux/tree/master/kernel/power]). | ||
+ | * Шаблон темы для вопроса по заданию: <code>[paradigms] [task-03] Вопрос: чему равен 0 в степени 0?</code>. Слово <code>Вопрос</code> на русском языке в теме должно присутствовать обязательно, регистр неважен. | ||
+ | * Шаблон темы для вопроса по курсу: <code>[paradigms] Вопрос: где найти записи занятий?</code>. Слово <code>Вопрос</code> на русском языке в теме должно присутствовать обязательно, регистр неважен. | ||
+ | * При ответе на письмо ''сохраняйте всю предыдущую переписку'' (обычно она автоматически добавляется в конец письма в скрытом виде). Это очень помогает мне не вспоминать предыдущие замечания или мои ответы на ваши вопросы, что ускоряет работу. | ||
+ | * Если вам кажется, что ваше письмо потерялось или же оно срочное, а ответа всё ещё нет — напомните мне про него (кнопкой "ответ", чтобы напоминание осталось в той же цепочке). | ||
+ | * Если у вас есть вопросы по нескольким заданиям или темам — пишите несколько писем с соответствующими темами. | ||
+ | * Вы можете задать вопросы по нескольким заданиям в одном письме (например: <code>[paradigms] [task-02] [task-03] Вопрос: ...</code>), но тогда я могу дольше отвечать на письмо, потому что буду отвечать на все вопросы сразу. | ||
+ | * Поле "От" должно содержать либо имя, либо фамилию (достаточно чего-то одного, если это позволяет вас однозначно идентифицировать). Можно на русском, можно транслитом. | ||
+ | |||
+ | Дополнительные задания необходимо выполнять, чтобы закрывать темы и набирать ещё немного баллов. Дедлайн - конец зачётной недели. | ||
+ | |||
+ | * ''ЯТЬ-Интерпретатор'': [https://docs.google.com/document/d/1au2VzGbcoTwPhJNoHI5cFTPlIa4GL_J7BnQVURtN2xY задание остаётся прежним]. Тема письма: <code>[paradigms] [task-04x]</code>. | ||
+ | * ''ЯТЬ-Visitor'': [https://docs.google.com/document/d/1atqElpTLzrWKCaIPE8jGmFGlMAgkyRagaroAW1_V2Qs новое задание]. Тема письма: <code>[paradigms] [task-05x]</code>. |
Текущая версия на 11:08, 4 декабря 2017
Содержание
Организационное
Преподаватели
- Ильнур Шугаепов (ilnur.shug@gmail.com)
- Андроник Ордиян (andronik.ordian@gmail.com)
- Егор Суворов (egor_suvorov@mail.ru)
Домашние задания
- Домашнее задание #1
- Домашнее задание #2
- Домашнее задание #3
- Домашнее задание #4
- Домашнее задание #5
- Домашнее задание #6
- Домашнее задание #7
- Домашнее задание #8
- Домашнее задание #9
- Домашнее задание #10
- Домашнее задание #11
Правила сдачи домашних заданий
- Домашние задания отправляются на почту в виде ссылки на git репозиторий, желательно приватный, (например, на gitlab) и пути к папке внутри репозитория;
Полезная информация
Полезные ссылки
- Официальный сайт python и в частности python tutorial
- Git Book
- github
- How to debug small programs, перевод на русский
- Метод утёнка
- CodeKata
Доступ преподавателя к gitlab репозиторию
Проверка стиля кода
PEP 8 -- Style Guide for Python Code | Python.org
Для проверки кода на соответствие гайду используйте утилиту pep8. Установка:
- Для Python 3:
pip3 install pep8
- На Ubuntu:
sudo apt-get install pep8
Использование:
pep8 my_code.py
Для автоматического исправления можно использовать утилиту autopep8. Установка и использование аналогичны (может оказаться полезным ключ --in-place
). Будьте с ней осторожны.
Информация по группам
Группа 1
Преподаватель: Ильнур Шугаепов.
GitHub: ilnurshug
Материалы:
Формат темы письма: [AU Paradigms] HW_ FirstName LastName. (символ _ следует заменять на номер сдаваемого ДЗ)
Группа 2
Преподаватель: Андроник Ордиян.
- баллы
- репозиторий с материалами занятий
- github.com/ordian, gitlab.com/ordian
- Формат темы письма: [paradigms] 3 Pupkin V.
Группа 3
Преподаватель: Егор Суворов.
Логин на GitHub/GitLab: yeputons
Презентации:
- 25.09.2017: Перегрузка операторов, демо.
- 02.09.2017: Демо.
- 09.10.2017: Паттерны и паттерн Visitor, демо.
- 16.10.2017: Арифметика в компьютерах, демо.
- 23.10.2017: Многопоточность-1, код.
- 13.11.2017: Многопоточность-2, код.
- 20.11.2017: Haskell-1, код.
- 27.11.2017: Haskell-2, код.
- 04.12.2017: SQL, код.
Правила написания писем (они помогают мне понимать, на какие письма я могу ответить "на ходу", а какие надо отложить до момента, когда я могу запустить код):
- Тема должна содержать
[paradigms]
. - Шаблон темы для сдачи задания номер 3:
[paradigms] [task-03]
(аналогично для остальных номеров). Вы также можете добавить в теме произвольные слова, если хотите. - Ваше письмо для сдачи задания должно содержать ссылку на:
- Если решение по условию состоит ровно из одного файла --- на этот файл (например: github.com/torvalds/linux/blob/master/kernel/power/main.c).
- Если решение по условию состоит из нескольких файлов --- на папку, непосредственно в которой лежат эти файлы (например: github.com/torvalds/linux/tree/master/kernel/power).
- Шаблон темы для вопроса по заданию:
[paradigms] [task-03] Вопрос: чему равен 0 в степени 0?
. СловоВопрос
на русском языке в теме должно присутствовать обязательно, регистр неважен. - Шаблон темы для вопроса по курсу:
[paradigms] Вопрос: где найти записи занятий?
. СловоВопрос
на русском языке в теме должно присутствовать обязательно, регистр неважен. - При ответе на письмо сохраняйте всю предыдущую переписку (обычно она автоматически добавляется в конец письма в скрытом виде). Это очень помогает мне не вспоминать предыдущие замечания или мои ответы на ваши вопросы, что ускоряет работу.
- Если вам кажется, что ваше письмо потерялось или же оно срочное, а ответа всё ещё нет — напомните мне про него (кнопкой "ответ", чтобы напоминание осталось в той же цепочке).
- Если у вас есть вопросы по нескольким заданиям или темам — пишите несколько писем с соответствующими темами.
- Вы можете задать вопросы по нескольким заданиям в одном письме (например:
[paradigms] [task-02] [task-03] Вопрос: ...
), но тогда я могу дольше отвечать на письмо, потому что буду отвечать на все вопросы сразу. - Поле "От" должно содержать либо имя, либо фамилию (достаточно чего-то одного, если это позволяет вас однозначно идентифицировать). Можно на русском, можно транслитом.
Дополнительные задания необходимо выполнять, чтобы закрывать темы и набирать ещё немного баллов. Дедлайн - конец зачётной недели.
- ЯТЬ-Интерпретатор: задание остаётся прежним. Тема письма:
[paradigms] [task-04x]
. - ЯТЬ-Visitor: новое задание. Тема письма:
[paradigms] [task-05x]
.