Участник:Vera Safonova/программирование на языках высокого уровня: различия между версиями

Материал из Поле цифровой дидактики
(Новая страница: «Участник:Vera Safonova/программирование на языках высокого уровня»»)
 
 
(не показано 50 промежуточных версий этого же участника)
Строка 1: Строка 1:
Участник:Vera Safonova/программирование на языках высокого уровня»
Участник:Vera Safonova/программирование на языках высокого уровня»
= Шаблон продвижения по учебному курсу =
== Работа в вики среде ==
* Создать страницу участника в вики среда
* Отметить нужными категориями
* Создать вложенную страницу с материалами по курсу /Программирование на языках высокого уровня
* Переместить на вложенную страницу данный шаблон продвижения по учебному курсу
== Языки высокого уровня. Типология языков ==
* Сделать выборку из объектов категории [[:Category:Язык программирования]]
* Представить выборку из объектов категории [[:Category:Язык программирования]] в виде тайм-лайн
* Дополнить статью из категории [[:Category:Язык программирования]]
# Создать новую статью в категории [[:Category:Язык программирования]]
# Предложить новое свойство для статей в  категории [[:Category:Язык программирования]]
== Языки высокого уровня. Типология языков ==
; Работа с объектами в категории [[:Category:Язык программирования]]
{{#ask:
[[Category:Язык программирования]]  [[Ancestors::Python]] OR [[Descendants:Python]] OR [[Python]] AND [[Category:Язык программирования]]
|format=moderntimeline
|?launch year
|? Ancestors
|?Descendants
| background = grey
}}
; Работа с объектами в категории [[:Category:Scripting Tutorials|руководства - рецепты]]
: [[Как добавить диаграмму связей на вики страницу]]
: [[Как включить Snap! проект в состав вики страницы]]
: [[Как получить изображение Scratch блоков]]
: [[Как оценить Scratch проект]]
: [[Как использовать визуальные блоки на вики страницах]]
: [[Scratch/VisualCommands]]
: [[How to Make a Calculator]]
=== Инфо о языке Python ===
{{#ask: [[Python]] | format=embedded }}
== Визуальное программирование ==
* Познакомиться с доступными на площадке средами визуального блочного программирования
* Составить запрос и получить перечень языков блочного программирования созданных в определённый временной интервал
{{#ask: [[Category:Язык программирования]] [[Возрастная категория::10]] | format=ol}}
* Создать проект в среде [[Snap!]] и сделать его доступным со страницы продвижения по курсу
https://snap.berkeley.edu/user?username=verasafonova
* Предложить внешний источник данных для  [[Snap!]] проекта - [[:Категория:Dataset]]
* Прописать линейную последовательность операций над данными
[[Файл:30.09.coffee script pic (2).png]]
# Создать последовательность операций видоизменяющих изображение в Snap!
https://snap.berkeley.edu/project?username=verasafonova&projectname=30%2e09%2eimage
# Создать статью в категории [[:Категория:Scripting_Tutorials|Рецепты]] с использованием визуальных блоков
См. [[Периодическая система химических элементов]]<br />
[[Файл:Tablescript.png|400px]]
== Концепции программирования ==
=== Распространённые языковые конструкции ===
* Обсудить управляющие конструкции в визуальных языка программирования [[Scratch]] - [[Scratch/Управление]]
# Сравнение конструкций в различных языках высокого уровня
# Примеры использования конструкций для симуляции паттернов в категории  [[:Категория:HowTo]]
* <sb>повторять всегда</sb>
=== Сравнение концепций программирования ===
== Стандартные типы данных ==
=== Структуры данных ===
[[Файл:Table sprite.png|600px]]
* [[Как работать со списками в Snap!]]
=== Среды выращивания данных и анализа данных ===
=== Импорт и экспорт данных ===
== Функциональное программирование ==
[[Файл:Item2 foo.png|300px]]
=== Создание собственных функций ===
[[Файл:Geo qw1.png|300px]]
[[Файл:Definition sq.png]]
== Функциональное программирование ==
[[Файл:Item2 foo.png|300px]]
; Языки функционального программирования сетевого использования
<nowiki>
{{#ask: [[Category:Язык программирования]] [[Назначение языка::Мини-язык для обучения]] [[Programming paradigm::Функциональное программирование]] | ?Description }}
</nowiki>
{{#ask: [[Category:Язык программирования]] [[Назначение языка::Мини-язык для обучения]] [[Programming paradigm::Функциональное программирование]] | ?Description }}
=== Создание собственных функций ===
* https://snap.berkeley.edu/snap/snap.html#present:Username=patarakin&ProjectName=factorial_demo
* [[Рекурсия]] и примеры ([[Фрактал]], [[Треугольник Серпинского]], факториал )
=== Оценка времени выполнения процедуры ===
== Модули и библиотеки (Использование и создание модулей и библиотек) ==
* [[Файл:Imaga Erase.png|100px]]  <br /> Как создать собственную библиотеку внутри Snap
* Использовать в своём проекте одну из готовых библиотек Snap!
# Сделать краткое описание одной из библиотек Snap! в категории [[:Категория:DigitalTool]]
#  Сделать описание краткое описание внешней библиотеки в категории [[:Категория:DigitalTool]] - так чтобы можно было показать на площадке digida - см. пример [[Shiny]]
== Объектно-ориентированное программирование ==
* Материалы по теме [[Объектно-ориентированное программирование]]
* [[Организовать обмен сообщениями между агентами]]
=== Классы и методы  ===
=== Наследование ===
[[Файл:Paret alonzo.jpg]]
== Работа с медиа. Программирование игр и программирование внутри игр ==
[[Файл:Slnova.png]]
=== Программирование игр ===
* Образовательные среды создания игр
* Обсудить один из паттернов поведения агентов в цифровых средах [[:Категория:HowTo]]
# Предложить новое решение реализации паттерна поведения
=== Программирование внутри обучающих игр ===
* Сделать выборку из материалов в категории [[:Категория:DEG]]
# Добавить статью  в [[:Категория:DEG|Категорию обучающих игр]]
# Предложить свойство для статей в [[:Категория:Язык программирования|Категорию языков программирования]]
==== работа с визуальными блоками ====
<scratchblocks>
при нажатии на enter
говорить [ПРИВЕТ]
конец
</scratchblocks>

Текущая версия на 16:03, 20 октября 2023

Участник:Vera Safonova/программирование на языках высокого уровня»

Шаблон продвижения по учебному курсу

Работа в вики среде

  • Создать страницу участника в вики среда
  • Отметить нужными категориями
  • Создать вложенную страницу с материалами по курсу /Программирование на языках высокого уровня
  • Переместить на вложенную страницу данный шаблон продвижения по учебному курсу

Языки высокого уровня. Типология языков

  1. Создать новую статью в категории Category:Язык программирования
  2. Предложить новое свойство для статей в категории Category:Язык программирования


Языки высокого уровня. Типология языков

Работа с объектами в категории Category:Язык программирования
Работа с объектами в категории руководства - рецепты
Как добавить диаграмму связей на вики страницу
Как включить Snap! проект в состав вики страницы
Как получить изображение Scratch блоков
Как оценить Scratch проект
Как использовать визуальные блоки на вики страницах
Scratch/VisualCommands
How to Make a Calculator

Инфо о языке Python

Python


Краткое описание языка
Компетенции в каких сферах формирует Computational Thinker
Парадигмы программирования
Возрастная категория 10
Назначение языка (Общее / Учебное) Язык общего назначения
Visual_Text_Blocks Текст
Измерение (2D/3D/Tangible) 2D
Область знаний
Открытость продукта Открытый
Address https://www.python.org/
Предки (Ancestors) ABC, APL, Haskel, Lisp, Perl
Потомки (Descendants) CoffeeScript, JavaScript, Nim
Активность в данный момент Project is active
Доступны ремиксы? Да
Год создания 1991
Создатели
Поясняющее видео
Используется для создания мобильных приложений? Да


Vera Safonova/программирование на языках высокого уровня упоминается в свойствах следующих страниц




Python в русском языке распространено название пито́н) — высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций.

Сообщество
https://wiki.python.org/moin/FrontPage

Генерация коллекций:

 >>> [0]*10
 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
 >>> [ i for i in range(5) if i%2==0]
 [0, 2, 4]

Пример кода

Двоичный поиск

 
a = []
for i in range(10):
    a.append(randint(1, 50))
a.sort()
print(a)
 
# искомое число
value = int(input())
 
mid = len(a) // 2
low = 0
high = len(a) - 1
 
while a[mid] != value and low <= high:
    if value > a[mid]:
        low = mid + 1
    else:
        high = mid - 1
    mid = (low + high) // 2
 
if low > high:
    print("No value")
else:
    print("ID =", mid)


История языка




Визуальное программирование

  • Познакомиться с доступными на площадке средами визуального блочного программирования
  • Составить запрос и получить перечень языков блочного программирования созданных в определённый временной интервал
  1. AgentCubes
  2. AlgoBlock
  3. Alice
  4. App Inventor
  5. Blockly
  6. FMSLogo
  7. Josef
  8. Kumir
  9. Lynx
  10. MakeCode
  11. MicroBlocks
  12. Python
  13. RobotC
  14. Squeak
  15. StarLogo
  16. Swift Playgrounds
  • Создать проект в среде Snap! и сделать его доступным со страницы продвижения по курсу

https://snap.berkeley.edu/user?username=verasafonova

  • Предложить внешний источник данных для Snap! проекта - Категория:Dataset
  • Прописать линейную последовательность операций над данными

30.09.coffee script pic (2).png

  1. Создать последовательность операций видоизменяющих изображение в Snap!

https://snap.berkeley.edu/project?username=verasafonova&projectname=30%2e09%2eimage

  1. Создать статью в категории Рецепты с использованием визуальных блоков


См. Периодическая система химических элементов
Tablescript.png

Концепции программирования

Распространённые языковые конструкции

  1. Сравнение конструкций в различных языках высокого уровня
  2. Примеры использования конструкций для симуляции паттернов в категории Категория:HowTo
  • повторять всегда

Сравнение концепций программирования

Стандартные типы данных

Структуры данных

Table sprite.png

Среды выращивания данных и анализа данных

Импорт и экспорт данных

Функциональное программирование

Item2 foo.png


Создание собственных функций

Geo qw1.png


Definition sq.png


Функциональное программирование

Item2 foo.png

Языки функционального программирования сетевого использования

{{#ask: [[Category:Язык программирования]] [[Назначение языка::Мини-язык для обучения]] [[Programming paradigm::Функциональное программирование]] | ?Description }}

 Description
Boxer
CreatiCodeСреда для создания 3х мерных игр средствами блочного программирования
FMSLogoFMSLogo is a free implementation of a computing environment called Logo, which is an educational interpreter language. GUI and Extensions were developed by George Mills at MIT. Its core is the same as UCBLogo by Brian Harvey.
LogoBlocksГрафический блочный язык для программирования кирпичиков Programmable Brick
ScratchСреда программирования, которая позволяет детям создавать собственные анимированные и интерактивные истории, игры и другие произведения. Этими произведениями можно обмениваться внутри международной среды, которая постепенно формируется в сети Интернет. Scratch — это учебный блочный язык программирования, позволяющий ученикам создавать игры, цифровые истории. Среда разработки дает возможность детям редактировать аудиофайлы и монтировать небольшие, но полноценные видеоролики. В новые версии языка создатели обещают добавить функционал для создания собственных мобильных приложений.
ScratchJRScratch Junior – это визуальная среда программирования для детей от 5 до 7 лет. С ее помощью малыши могут создавать мультики, расставляя блоки действий в последовательном порядке.
Snap!Блочный язык программирования для преподавания алгоритмов и структур данных. Snap! - потомок языка Scratch. В отличие от Scratch Snap! поддерживает лямбда-исчисление, объекты первого класса, процедуры, рекурсия и множество других возможностей. С версии 4.0 Snap! получил современное название и был переписан на JavaScript. Moscow_city_univ.png
StarLogo Nova120px-Slnova.png
  • StarLogo Nova – среда совместного агентного моделирования в трехмерной среде. Во многом это среда продолжает и развивает традиции языка Scratch. При этом здесь можно ставить серьезные эксперименты и получать воспроизводимые результаты. Центральной метафорой среды является мир (World), в котором можно создавать агенты различных пород.
ЛогоЛого - первый язык созданный для обучения детей математике при помощи компьютера. Язык Лого получил очень широкое распространение и популярность благодаря работам Пейперта и его книге "Переворот в сознании: дети, компьютеры и плодотворные идеи". В восьмидесятые годы Logo и LogoWriter были установлены в США на каждом четвертом школьном компьютере. Черепашка Лого, способная принимать облик различных видов растений и животных, активно использовалась для образовательных и исследовательских проектов. Многочисленные языки с роботами исполнителями являются потомками Лого.


Создание собственных функций

Оценка времени выполнения процедуры

Модули и библиотеки (Использование и создание модулей и библиотек)

  • Imaga Erase.png
    Как создать собственную библиотеку внутри Snap
  • Использовать в своём проекте одну из готовых библиотек Snap!
  1. Сделать краткое описание одной из библиотек Snap! в категории Категория:DigitalTool
  2. Сделать описание краткое описание внешней библиотеки в категории Категория:DigitalTool - так чтобы можно было показать на площадке digida - см. пример Shiny

Объектно-ориентированное программирование

Классы и методы

Наследование

Paret alonzo.jpg

Работа с медиа. Программирование игр и программирование внутри игр

Slnova.png

Программирование игр

  • Образовательные среды создания игр
  • Обсудить один из паттернов поведения агентов в цифровых средах Категория:HowTo
  1. Предложить новое решение реализации паттерна поведения

Программирование внутри обучающих игр

  1. Добавить статью в Категорию обучающих игр
  2. Предложить свойство для статей в Категорию языков программирования

работа с визуальными блоками

при нажатии на enter
говорить [ПРИВЕТ]
конец