---
# System prepended metadata

title: Процеси

---

# Процеси

Люди при мисленні формують ментальні моделі. Для програмування критично важливо мати кілька таких ментальних моделей, а саме --- уява процесів та машин у голові.

Програмування --- це про виокремлення та кодування процесів у вигляді, який машина може виконувати.


Поговорити про:
- ментальні моделі
- процеси
- виконавці
    - база:
        - закони Природи (фундаментальні закони фізики)
        - закони математики
        - хаос, складність, математична неможливість, свідомість
    - фізичні машини:
        - біомашини
            - РНК/ДНК
            - рибосоми, протеїни
            - полімерази, лігази, Cas9
        - метал-напівпровідникові конструкції:
            - направлений рух електронів, метал-провідники
            - транзистори
            - навіпровідникова пам'ять
            - програмуєма матерія
    - математичні машини:
        - машина Тьюрінга
            - універсальна машина Тьюринга
                - мінімальна (2,3)-машина Вольфрама
            - RAM-машина
                - регістрова машина
                    - x86, AVR, ARM, ...
                    - LLVM
                - стекова машина
                    - Forth
                    - PostScript (PDF)
                    - JVM
                    - Python bytecode
        - абстрактний рерайтинг та правила
            - лямбда-числення
                - комбінаторне числення
                - функційне програмування
            - логіка
            - макроси
            - Excel
            - фрактали
                - L-системи
            - клітинні автомати
                - правило 110
                - гра Життя
                - WireWorld
        - векторні обчислення
            - SIMD
            - gen-map-filter-reduce
            - нейронки
            - обчислення на відеокартах
        - математичні функції
        - допоміжні конструкції
            - синтаксис
            - граматика
            - двійкова система
            - кодування чисел
            - структури даних


## Групове завдання "асоціації"

1. Якщо група велика, то вона ділиться на дві
2. В кожній групі утворюється порядок --- хто за ким говорить
3. Всі по кругу називають слова
4. Завдання: назвати одне слово, яке асоціюється з попереднім словом (але незалежно від попередніх)
5. Слова повторювати не можна. 

Правила гри в асоціації
- кожен робить одне слово або словосполучення у відповідь на попереднє у своїй групі
- якщо написав слово, отримуєш +1 пойнт
    - якщо зробив відповідь не по своїй черзі, отримуєш -1 пойнт
    - відповіді не по черзі на повідомлення у іншій групі не штрафуються, і навіть вітаються, бо допомагають шкодити іншій команді
- якщо 10 сек не відповідав, отримуєш -1 пойнт і хід переходить до наступного
- якщо зробив дублювання слова-асоціації:
    * і це було помічено: мінус 2 пойнти
    * це не було помічено: плюс 2 пойнти (замість +1 пойнту)
- якщо помітив дублювання слова-асоціації:
    * і це справді було дублюювання: плюс 2 пойнти
    * це не було дублювання: мінус 2 пойнти
- чи це дублювання визначається балансом "палець вверх" та "палець вниз". Якщо баланс 0 або більше, значить дублювання було
- після певного часу гри рахуємо пойнти. Команда яка набрала найбільше, виграє


## План занять

1. Вступ
    1. Асоціації
    3. Ментальні моделі
    4. Процеси
    5. Ментальні моделі процесів
    6. тренування пам'яті
    7. проект по пайтон
    8. книга по пайтоун
2. Клітинні автомати
    - правила Вольфрама
    - двовимірний автомат Конвея "Життя"
    - двовимірний автомат WireWorld
3. Ігри
    - шахи
         - отримати максимум балів на https://lichess.org/learn#/
    - го
        - https://online-go.com/learn-to-play-go
        - https://online-go.com/puzzle/15438
4. Болото Тьюринга
    - Brainfuck
    - Тьюринг машини
5. Кодування по правилам
    - бінарні послідовності
    - ASCII

----

1. Вступ
2. Правила Вольфрама
3. Го
4. Життя Конвея
5. Шахи
6. WireWorld
7. Брейнфак
8. Тьюринг1 


Підсумок уроку:

ЗМІНА КОНЦЕПЦІЇ

- пайтон вивчаєте самостійно (ті, хто його не знає)
    - книги для самовивчення англ
        * Automate the Boring Stuff with Python, By Al Sweigart. 
        * Real World Python: A Hacker’s Guide to Solving Problems with Code, by Lee Vaughan
        * https://diveintopython3.problemsolving.io/
        * книга в матеріалах курсу на класрумі
    - книги укр
        - https://pythonguide.rozh2sch.org.ua/
    - ви ж читаєте книги на укрліт та зарубі --- велкам ту зе клаб
    - .... і виконуйте завдання з книг ....

- оцінкою знань буде виконання проекту в кінці семестру
    - ідею проекту узгоджуєте зі мною. Дедлайн: 15 квітня 2021
    - дедлайн по виконанню проекту: 20 травня 2021
    - у вас є 2-3 місяці щоб прочитати книгу по пайтон і придумати ідею
    - в процесі курсу я буду давати вам ідеї, ви можете брати їх для реалізації

- флешкарти --- маст льорн (https://traverse.link/home/Getting%20started%20with%20Traverse)
    - я буду робити опитування на уроках по флешкартах, які я створив
    - і буду вимагати щоб ви робили свої флешкарти
    - тренуйте пам'ять! (https://ncase.me/remember/, там є переклад на російську)
    - ментальні моделі --- маст льорн (https://traverse.link/danbst/%D0%9C%D0%B5%D0%BD%D1%82%D0%B0%D0%BB%D1%8C%D0%BD%D1%96%20%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%96%20%EF%BC%88%D0%B7%D0%B0%D0%B3%D0%B0%D0%BB%D1%8C%D0%BD%D1%96%EF%BC%89)

- на уроках ми будемо проходити
    - поняття КОМПУТАЦІЇ
    - поняття МАШИНИ
    - та те, як вони повинні уживатись у вашій ГОЛОВІ
    - всі теми будуть максимально відірвані від життя, навіть не питайте "чим це мені згодиться в майбутньому"