Огляд онлайн-курсу “An Introduction to Interactive Programming in Python” від Університету Райса на платформі Coursera

Оприлюднено Оприлюднено в Coursera

Вступ – перший онлайн-курс

Саме з цього онлайн-курсу все і почалося. Ось, що я написав 23 червня 2013 року на Facebook:

Сьогодні отримав свій перший сертифікат від Coursera. Курс тривав 9 тижнів. Хочу відзначити надзвичайно високий рівень технічного та методичного забезпечення курсу. Отримав справжнє задоволення від навчання.

До допису я тоді додав ось цю світлину:

Мій перший онлайн-курс

 

А сам сертифікат виглядав так (дата 6 липня пояснюється тим, що сам сертифікат я завантажив тоді не одразу, а Coursera з якоїсь внутрішньої причини згенерувала 6-го липня сертифікат наново):

Мій перший сертифікат

 

Тривалість та вартість курсу

У 2013 році онлайн-курс An Introduction to Interactive Programming in Python дійсно тривав 9 тижнів. Коли зараз я знайшов його на Coursera, щоб додати на нього посилання, то побачив, що тепер автори курсу розбили його на дві частини: перша частина курсу триває 5 тижнів, а друга – 4. Отже, імовірно, що сам курс за змістом суттєво не змінився, а його просто розбили на дві частини. Окрім цього зауважу, що тепер Coursera вже безкоштовно не видає сертифікати. Звісно, і зараз можна вивчити будь-який онлайн-курс безкоштовно, але лише в режимі Audit. Ось відмінності безкоштовного та платного навчання на Coursera:

python_pricing

 

Ще однієї новацією Coursera, якої не було у 2013 році, є Спеціалізації (Specializations), які об’єднують 4-7 споріднених онлайн-курсів одного університету. Так, наприклад, обидві частини онлайн-курсу An Introduction to Interactive Programming in Python тепер входять до спеціалізації Університету Райса Fundamentals of Computing. Prepare for Advanced Computer Science Courses, що складається з 7 курсів. Спеціалізації платні (за аналогічним принципом, вказаним у таблиці вище), але можна дати запит на фінансову допомогу. Щодо цін, то на даний момент вартість спеціалізації Fundamentals of Computing. Prepare for Advanced Computer Science Courses складає $553 за всі 7 курсів одразу, або можна платити $79 за курс, тобто знижки за “опт” немає. До речі, сертифікат до онлайн-курсу Machine Learning, який я зараз вивчаю на Coursera, мені також пропонують придбати за $79, тому можна припустити, що це є стандартною ціною сертифікату на Coursera. І здається, я зрозумів, навіщо курс An Introduction to Interactive Programming in Python розбили на дві частини 🙂

 

Програма курсу (Syllabus)

Виявилось, що я завбачливо зберіг Syllabus курсу. Ось такою була програма у 2013 році:

Програма курсу 2013 року

 

А ось теперішня програма цього онлайн-курсу:

An Introduction to Interactive Programming in Python (Part 1):

  • Week 0 – Statements, expressions, variables (Graded: Quiz 0)
  • Week 1 – Functions, logic, conditionals (Graded: Quiz 1; Rock-paper-scissors-lizard-Spock)
  • Week 2 – Event-driven programming, local/global variables (Graded: Quiz 2a, Quiz 2b; “Guess the Number!”)
  • Week 3 – Canvas, drawing, timers (Graded: Quiz 3a, Quiz 3b; Stopwatch: The Game)
  • Week 4 – Lists, keyboard input, the basics of modeling motion (Graded: Quiz 4a, Quiz 4b; Pong)

An Introduction to Interactive Programming in Python (Part 2):

  • Week 5 – Mouse input, list methods, dictionaries (Graded: Quiz 5a, Quiz 5b; Memory)
  • Week 6 – Classes and object-oriented programming (Graded: Quiz 6a, Quiz 6b; Blackjack)
  • Week 7 – Basic game physics, sprites (Graded: Quiz 7a, Quiz 7b; Spaceship)
  • Week 8 – Sets and animation (Graded: Quiz 8; RiceRocks)

Як видно, програма курсу майже не змінилась. Як і міні-проекти.

 

Особливості курсу

Я не буду переоповідати зміст курсу, оскільки він випливає з навчальної програми, але розкажу про деякі особливості:

  1. Всі завдання, де необхідно писати код на Python (так звані “міні-проекти”) можна писати безпосередньо у вікні браузера, використовуючи спеціальну онлайн-платформу CodeSkulptor, створену одним із авторів курсу. Одразу зауважу, що це надзвичайно зручно – я міг писати свої програми з будь-якого комп’ютера та легко “здавати” завдання на перевірку (для цього потрібно було лише вставити веб-адресу свого міні-проекту у відповідне поле). Я і зараз нерідко його використовую для написання коротких програм, виконання різноманітних обчислень тощо, а мій син і понині іноді любить погратись у мої міні-проекти (особливо, у фінальний RiceRocks) 🙂 .
    CodeSkulptor
  2. Запам’яталась досить цікава система оцінювання міні-проектів. Після того як я відправляв свій проект на оцінювання (дедлайн був жорсткий), я повинен був анонімно протягом декількох днів (також із жорстким дедлайном) оцінити мінімум 5 запропонованих міні-проектів інших студентів. Для цього надавалась деталізована інструкція для перевірки та чітка розбаловка (скільки балів і за що саме). Далі мені пропонувалось за тим самим алгоритмом оцінити власну роботу. За невиконання цього етапу знімались бали. І хоча оцінювання було анонімним, можна було також написати якийсь узагальнений коментар. Я, як правило, писав щось на зразок “Good job! :)”, а сам отримував, наприклад, “well done! You have the best implementation from all that I have evaluated :), most people didn’t test for wrong input.”, “Sweet!”, “Excellent.”, “Full credit for every question. Good job!” тощо. Мені ця система сподобалась. І не лише через приємні коментарі 🙂 . Насправді це дійсно корисна та ефективна система оцінювання коду. Так в процесі оцінювання я бачив код інших студентів, нерідко помічаючи якісь корисні особливості. До того ж це дало можливість авторам курсу навчати одночасно десятки тисяч студентів. Тому не здивуюсь, якщо ця система (можливо, з якимись модифікаціями) залишилась і дотепер.
    Етапи оцінювання міні-проектів
  3. Був, як потім виявилось, один і не дуже зручний момент (хоча і не критичний). Справа в тому, що автори курсу для роботи з графікою використовували власний модуль SimpleGUI замість, наприклад, популярного набору модулів Pygame. Тому випускникам курсу потім доводиться проходити певну адаптацію до нових модулів.
  4. В кінці кожного тижня потрібно було скласти два тести (інколи один), що складались з 9-10 запитань. На кожен тест давалось, здається, три спроби.
  5. Також в кінці кожного тижня, окрім нульового, студент мав можливість створити цікаву програму (mini-project). Код міні-проектів поступово ускладнювався, але й водночас спрощувався за рахунок нових елементів та конструкцій. Квінтесенцією курсу було (і, вочевидь, залишається) створення варіації комп’ютерної гри Asteroids під назвою RiceRocks.
    RiceRocks

 

Висновок

An Introduction to Interactive Programming in Python –  дуже цікавий та корисний онлайн-курс. Рекомендую усім, хто бажає швидко опанувати основи мови програмування Python. І не варто звертати увагу на платні сертифікати, адже головне – це знання та навички.

Дякую, що дочитали цю статтю до кінця 🙂 Бажаю успіхів!

 

На черзі огляд онлайн-курсу Model Thinking (Coursera).

 

2 коментарі до “Огляд онлайн-курсу “An Introduction to Interactive Programming in Python” від Університету Райса на платформі Coursera

  1. Сам проходив курс, це був перший досвід онлайн курсів. В цілому дуже гарно все пояснюють.

    1. Так, згоден, добре пояснюють. Дякую за коментар!

Коментарі закриті.