Основи програмування CS50 2019

Про курс

Розпочато 15.03.2019 р.

Курс «Основи програмування CS50 2019», створено восени 2018 року в Гарвардському університеті професором Девідом Маланом. Цей курс – найпопулярніша стартова програма для програмістів. І українська версія стала першою локалізацією у світі для найсвіжішого варіанту курсу.

Необхідне ПЗ

  1. https://scratch.mit.edu/download

Scratch 3, нова версія набагато краща за попередню Scratch 2. Ця версія використовує HTML, CSS та JavaScript (з ними ви познайомитесь вже скоро!) замість Flash – застарілої технології, яка вже вимкнена у багатьох браузерах. Файли відкривати через меню!
  1. https://scratch.mit.edu/projects/editor/?tutorial=getStarted

Онлайн середовище Scratch
  1. https://github.com/

обліковий запис на GitHub
  1. https://lab.cs50.io/cs50/labs/2018/fall/hello/

онлайн середовище CS50 Lab, вхід через обліковий запис на GitHub
  1. https://ide.cs50.io/

CS50 IDE integrated development environment for students and teachers, , вхід через обліковий запис на GitHubЯ використовував це!
  1. https://ravesli.com/urok-4-ustanovka-integrirovannoj-sredy-razrabotki-ide-s/

IDE для написания программ на С++
  1. http://cpp.sh/

онлайн середовище

Лекція 0

  1. https://www.youtube.com/watch?v=9ATnuQUwywQ

  2. https://drive.google.com/open?id=1cgx3jxnrvlKsmXiQM2pWcftuGfq1I3oX

Веб-архів
  1. https://drive.google.com/open?id=1c-BKmaRQIFzhC0SqjbHlrL1bWLiEkfBS

Скрипт гри

Завдання 0

А тепер настав час для пригод! Ваша мета – написати власну програму на Скретч. Це може бути що завгодно – інтерактивна історія, анімація, гра тощо. Головне – виконати такі вимоги:

  1. У вашому проекті має бути хоча би два спрайти і хоча б один із них повинен бути чимось, окрім кота.

  2. У вашому проекті повинні бути використані хоча б три скрипти загалом (не обов’язково три на один спрайт).

  3. У вашому проекті повинна бути використана хоча б одна умова, один цикл та одна змінна.

  4. У вашому проекті повинен бути хоча б один звук.

  5. Ваш проект має бути складнішими за продемонстровані у лекції (багато з них були дуже короткими), але може бути не таким складним, як «Найважча гра Ліги Плюща». У вашому проекті має бути десь з дюжину блоків.

Лекція 3

  1. https://www.youtube.com/watch?v=WniZ0bQyWho

  2. https://drive.google.com/open?id=129_j3QdabwefZxAYZ0jhPFysSjM_ns7H

Веб-архів
  1. https://drive.google.com/open?id=1DLYGk11f-gIMHfIvcuFpvUFb0WV3CVXI

Скрипти
  1. https://en.wikipedia.org/wiki/Web_colors

Кодування кольорів

Завдання 3

Розв’яжіть наведені задачі:

  1. Whodunit (на оцінку)

Використовуючи CS50 IDE, виконайте одне з наступних завдань (на оцінку):

  1. Resize (простіший варіант)

  2. Resize (складніший варіант)

  3. Recover (на оцінку)

https://drive.google.com/open?id=1WFjGnKDJD-vChncVanSwRoav1IMH9Su9

resize.zip

Лекція 4

  1. https://www.youtube.com/watch?v=dmmO88aP4JU

  2. https://drive.google.com/open?id=1FC9vhKYkGh7bdenOCOZUUZtuV_jWF2JS

Веб-архів
  1. https://drive.google.com/open?id=1KkP5iz-QZoVqPePJU_YpPzkcz5R0JO3G

Скрипти

Завдання 4

Для виконання завдань тижня вам знадобиться CS50 IDE.Якщо ви почуваєте себе не дуже впевнено в програмуванні, скоріше за все, ви оберете варіант реалізації з використанням хеш-таблиці.

Розв’яжіть одну з наведених задач (на оцінку):

  1. Speller (з використанням хеш-таблиці)

  2. Speller (з використанням префіксного дерева)

speller.zip

Лекція 6

  1. https://www.youtube.com/watch?v=J2BV-hs0mtA

  2. https://drive.google.com/file/d/1vvlfYm2UgNnjrqATt05T3BF1zPPb6OTa/view?usp=sharing

Скрипти

Завдання 6

  1. Використовуючи CS50 IDE, виконайте завдання Hello на Python (на оцінку)

Використовуючи CS50 IDE, виконайте одне з наступних завдань (на оцінку):

  1. Mario (простіший варіант) на Python

  2. Mario (складніший варіант) на Python

Використовуючи CS50 IDE, виконайте одне з наступних завдань (на оцінку):

  1. Cash на Python

  2. Credit на Python

Використовуючи CS50 IDE, виконайте одне з наступних завдань (на оцінку):

  1. Caesar на Python

  2. Vigenère на Python

  3. Використовуючи CS50 IDE, виконайте завдання Crack на Python (не оцінюється)

  4. Використовуючи CS50 IDE, виконайте завдання Bleep на Python (на оцінку)

Лекція 8

  1. https://www.youtube.com/watch?v=s_E5pXlssBA

  2. https://drive.google.com/open?id=1VUIzCMH79ciyAr-U6bTWWn8v8yx5Ob_P

Скрипти

Завдання 8

Для виконання завдань тижня вам знадобиться CS50 IDE.
  1. Використовуючи CS50 IDE, виконайте завдання Finance (на оцінку)

  2. https://finance.cs50.net/login

Ресурс для завдання

Лекція 9

  1. https://www.youtube.com/watch?v=qupYoZ2HoCw

Коди на диску :)

Додаткові ресурси

  1. https://ravesli.com/uroki-cpp/

Уроки программирования на С++
  1. https://prog-cpp.ru/category/c-posts/

Довідкова інформація про С++