Pull to refresh

Как учить детей программированию: Kodu Game Lab теперь доступен для PC

Studying in IT
Я уже писал про обучение детей программированию на основе Лого. Однако возможен и другой, ещё более “симпатичный” подход – это визуальное программирование, в котором вообще не надо писать текст. Причём визуальное – это не обязательно рисование блок-схем! Например, можно исходить из понятия объекта, который находится в разных состояниях и реагирует на внешние события.

В Майкрософт также задумываются над проблемами обучения детей, в частности, уже писалось про проект Kodu Game Lab. Kodu – это интерактивная среда создания трехмерных игр, доступная одновременно на Xbox 360 и на ПК. Я решил написать о ней подробнее, поскольку начиная с сегодняшнего для любой желающий может скачать и попробовать версию для ПК.

image image
Читать дальше →
Total votes 82: ↑76 and ↓6 +70
Views 42K
Comments 82

Создаем менеджер пресетов в PureData

Sound
Да, Max более совершенен, чем Pd. Да, в нем очень много сделано для продуктивной работы. Наконец, его интерфейс не тормозит при большом количестве объектов в патче. Однако, есть в Pd что-то магическое, что заставляет снова и снова открывать этот простой интерфейс, написанный на tcl/tk, с его простенькими боксами и радующей ночью глаза цветовой гаммой. Может это и есть та самая магия open source, которая заставляет людей использовать gentoo на десктопе?

В данной статье мы будем пытаться решить одну наболевшую тему всех пользователей этой замечательной программы, а именно, сохранение параметров числовых боксов, слайдеров, кнобов и т.д. Казалось бы, очень важная функция, почему до сих пор нет специального объекта, аналогичного preset в Max? Все дело в том, что с помощью PureData API нельзя получить доступ к данным других объектов, поэтому приходится выкручиваться.
Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Views 1K
Comments 0

Визуальный язык программирования Google Blockly

Programming *Visual programming *
Blockly — визуальный язык программирования с веб-интерфейсом. Создание программы осуществляется путём соединения блоков.



Некоторые демки:
Maze — используйте Blockly, чтобы пройти лабиринт.
Code — экспорт программы Blockly в JavaScript, Dart, Python или XML.
Читать дальше →
Total votes 132: ↑116 and ↓16 +100
Views 51K
Comments 152

Мой путь инди-разработчика, итоги нескольких лет

Game development *Development for Android *
Sandbox
Вот уже несколько лет я занимаюсь созданием игр. Иногда в свободное от работы время, иногда в перерывах между работой, а иногда и вместо нее. За это время мною выпущено несколько игр, пара из которых может оказаться достойными внимания. В этой публикации я хочу рассказать о пройденном мною пути, от дизайнера, который хотел делать игры, до дизайнера который делает игры.

image
Читать дальше →
Total votes 91: ↑77 and ↓14 +63
Views 57K
Comments 38

Как мы трансформировали идею конструктора сайтов

Куик corporate blog Media management *
Расскажем о пути, по которому прошла наша мысль об инструменте создания сайтов, прежде чем оформиться в готовый продукт и привести нас сюда.

Предыстория


Человеку понадобился сайт, чтобы представить себя или организацию в интернете. Страница в социальной сети не удовлетворяет его потребности. Там не та среда/аудитория, нет ощущения «своего», мешает реклама или не хватает разнообразия функций. Разумное решение — заказать сайт у профессионалов, но оно подходит не всем. Тогда возникает желание сделать всё самостоятельно.

Рассмотрим варианты.
Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Views 3.9K
Comments 9

VAX — инструмент для визуального программирования, или как написать SQL мышкой

JavaScript *Programming *System Analysis and Design *SQL *Visual programming *


Я хочу рассказать про созданный мною web редактор для «визуального программирования» и его историю создания.
Читать дальше →
Total votes 49: ↑48 and ↓1 +47
Views 38K
Comments 88

Visual Scripting: будущее уже наступило?

Productivity Inside corporate blog Programming *Game development *Data visualization *Unreal Engine *
Эту статью можно рассматривать как обзор-рассуждение на тему визуального программирования. У меня самого больше опыта создания игр на Unity, в Unreal Engine 4 я новичок, поэтому мы будем говорить о самом явлении визуального программирования в целом, а не только о UE.


Немного истории, или коротко о визуальном программировании


Мы не будем слишком глубоко уходить в историю, но знайте: визуальные языки как таковые появились очень давно, задолго до того, как увидел свет визуально прекрасный Unreal Blueprint. Проанализировав концепцию визуального программирования более внимательно, мы увидим, что она базируется на парадигме программирования потока данных (dataflow programming). Этот подход был придуман еще в 70-х годах прошлого века. Он заключается в том, что любую программу можно представить в виде орграфа, который отображает поток данных между компонентами программы (по сути, это та же блок-схема). К сожалению, эта парадигма сейчас находится весьма далеко от трендовых течений, но мы можем вернуться к ней в период расцвета визуального программирования.
Читать дальше →
Total votes 30: ↑24 and ↓6 +18
Views 39K
Comments 53

Почему визуальное программирование и D3NE могут быть Вам полезны

JavaScript *Programming *Game development *Data visualization *Visual programming *
Recovery mode
Sandbox

Визуальное программирование позволяет описывать процессы в графическом виде, в отличии от текстового представления, где нужно приложить дополнительные усилия, чтобы мыслить так, как это должен выполнять компьютер. Звучит многообещающе, но попробуем разобраться в сути и выяснить, почему Вам стоит это попробовать.



Само по себе программирование подразумевает не только процесс написания кода, но зачастую на это тратится большая часть времени при разработке. Только представьте, сколько усилий приходится тратить на то, чтобы держать в голове множество правил и спецификаций к конкретному языку программирования, вместо того, чтобы сосредоточиться на решаемой проблеме. Особенно может раздражать разнообразие синтаксиса в языках: где-то нужна точка с запятой, где-то не нужны фигурные скобки, где-то вообще ни одно выражение не обходится без скобок. Что уж и говорить о холиварах, напоминающие религиозные споры.

Читать дальше →
Total votes 30: ↑25 and ↓5 +20
Views 26K
Comments 80

Визуальное программирование на языке ДРАКОН

Abnormal programming *JavaScript *Programming *Visual programming *
Sandbox

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


Что является в программе движущей силой? Что порождает полезный результат? Конечно, алгоритм. Алгоритм создает тот эффект, ради которого написана программа. Алгоритм работает не один. Он работает совместно со структурами данных. Но именно алгоритмы составляют наибольшую часть программы.


Исторически сложилось, что алгоритмы в программах записываются в виде исходных текстов. Почти никто не ставит под сомнение, что текст — это и есть лучшее средство представления алгоритмов. Алгоритм кодируется внутри функций на языке программирования, например, C или JavaScript. Для тех, кто хочет разобраться в алгоритме с высоты птичьего полёта, предусмотрен псевдокод. Однако с текстом есть серьезные проблемы. Дело в том, что человек не оптимизирован под сплошной текст. Человек оптимизирован на восприятие графики. Текст — это относительно новое изобретение, а вот графическую информацию организмы обрабатывают уже миллионы лет.


Исходя из этого, логично было бы составлять алгоритмы в графическом виде. Посмотрите на инженеров. Они повсеместно используют чертежи. Чем же программисты хуже? Они тоже могли бы составлять чертежи алгоритмов. Некоторые здесь возразят: визуальное программирование якобы неэффективно. UML неудобен, а в блок-схемах легко запутаться. Уж лучше программировать традиционным способом — текстом. В структурном программировании есть хотя бы структура, и она обеспечивает порядок и единообразие. А кроме того, рисовать диаграммы долго и трудно. Печатать быстрее, чем рисовать.


Так что же, программисты обречены всю жизнь работать только с текстом?
Возможно, не всё так плохо. Существуют визуальные языки для представления алгоритмов, в которых тоже есть порядок и структура, например ДРАКОН, BPMN и LML Action Diagrams. Здесь мы рассмотрим визуальный алгоритмический язык ДРАКОН.


Как программировать на языке ДРАКОН


ДРАКОН не является самостоятельным языком программирования. Он работает в паре с

Читать дальше →
Total votes 43: ↑36 and ↓7 +29
Views 43K
Comments 123

Семафоры, гонки, критические секции и Scratch. Зомби против растений

Programming *
Tutorial

Почти все воспринимают Scratch как развлечение с быстрым результатом. Действительно это важно на первых парах. Однако, давайте сегодня перешагнем через эту грань и посмотрим на другую сторону программирования.


Хочу поделиться с Вами очень интересным кейсом, который давал детям, чтобы объяснить организацию доступа к одному ресурсу из множества спрайтов и одновременно выполняющихся скриптов. Это приближает нас к серьезной теме про многопоточность.


Total votes 9: ↑9 and ↓0 +9
Views 5.5K
Comments 2

FLProg – Урок второй: Работа с аналоговыми сигналами

FLProg corporate blog IOT DIY Sound
Tutorial

В предыдущем уроке , были рассказаны основные принципы работы с программой FLProg, а так же работы с дискретными сигналами. В этом уроке будет рассмотрены возможности FLProg в работе с аналоговыми сигналами.
В процессе урока будет создана программа управления светодиодным индикатором уровня и показана регулировка яркости светодиода с помощью выхода ШИМ.
Осторожно трафик
Total votes 11: ↑9 and ↓2 +7
Views 28K
Comments 31

Визуальное программирование — почему это плохая идея

Edison corporate blog Programming *Studying in IT Visual programming *
Translation
image

Внимание.
Первоначальная версия этой публикации получила большой отклик на Reddit в виде более чем 300 комментариев. После этого я решил дописать к ней небольшой апдейт, чтобы ответить на некоторые критические замечания из множества поступивших.

Язык визуального программирования — это такой язык, который позволяет программисту создавать программы, манипулируя графическими элементами, а не печатая текстовые команды. Известным примером является Scratch, язык визуального программирования родом из MIT, который используется для обучения детей. Его преимущества заключаются в том, что он делает программирование более доступным для новичков и не-программистов.

В 1990-х годах было очень популярное движение по внедрению визуального программирования в корпоративную среду с помощью так называемых CASE-инструментов, где корпоративные системы можно было бы определять с помощью UML и генерировать [их код] без необходимости в привлечении обученных разработчиков программного обеспечения. Это связано с концепцией «round tripping» («туда и обратно»), где система может быть смоделирована визуально, программный код будет генерироваться из полученных моделей, а любые изменения кода могут быть возвращены обратно в модель. Увы, подобные инструменты так и не смогли выполнить свою миссию, и большинство из экспериментов [по их внедрению] в настоящее время в значительной степени заброшены.
Читать дальше →
Total votes 54: ↑45 and ↓9 +36
Views 81K
Comments 710

ShIoTiny: обновления и уведомления

Programming microcontrollers *Manufacture and development of electronics *Smart House IOT Electronics for beginners


О чем эта статья


Продолжаем цикл статей о ShIoTiny — визуально программируемом контроллере на базе чипа ESP8266.

В этой статье рассказано о том, что изменилось со времени предыдущей прошивки ShIoTiny: как изменился интерфейс пользователя; как переназначить «ножки» и другие менее важные, но не менее долгожданные вещи.

Статья представляет что-то вроде "информационного листка" о состоянии дел на поприще разработки прошивки ShIoTiny. Те, кто не заинтересовался этой моей разработкой могут со спокойной совестью эту статью пропустить.

Те, кто не знает о чем речь, но хотят узнать — могут прочитать мои предыдущие статьи о прошивке ShIoTiny или обратится к документации.

Сайт проекта ShIoTiny

Онлайн-версия редактораElDraw — точно такая же как в прошивке, для ознакомления.

Ссылки на схемы, прошивку и прочее — на сайте ShIoTiny в разделе документация.

Предыдущие статьи о ShIoTiny и другие мои статьи
Читать дальше →
Total votes 19: ↑16 and ↓3 +13
Views 4.6K
Comments 8

ЯПФ, конвейер, автоматные вычисления и опять… корутины

C++ *Concurrent computing *The future is here

1. Вновь о корутинах


В предыдущей моей статье, уважаемый Хабр, я только лишь прикоснулся к проблемам познания современного программирования. Последовавшая дискуссия только подтвердила спонтанно возникшие опасения: источником разногласий сразу же стали пресловутые «теоретические основы». То, что их (разногласий) могло бы не быть или они носили бы другой характер основную массу «настоящих» программистов похоже не тревожит. Более того, возможно, особо и не интересует, т.к. у программистов стимулируется в основном один интерес — код, код и только код. Ну, почти «как доктор прописал» [1]…

Затрагивая в своих статья и комментариях тему корутин, я ни сном ни духом не предполагал насколько они в «нонешнем» тренде. Поражали, правда, «минусовки» моих комментов по поводу и без. За что, мол, ребята-программисты? Однако, как мне представляется, все прояснилось после прочтения статьи о только что утвержденном С++20 и перспективах его дальнейшего развития [2]. К моему изумлению, выяснилось, что корутины находятся в первых рядах настоящих и будущих новшеств моего любимого С++ (см. также библиотеку CppCoro).

Ну, скажите, можно ли серьезно и/или спокойно воспринимать чела, который, похоже, возомнил себя невесть кем? Попал, что называется! :(
Читать дальше →
Total votes 5: ↑4 and ↓1 +3
Views 3.4K
Comments 37

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

ManyChat corporate blog PHP *Entertaining tasks Programming *Logic games
Понимание даже основ программирования может упростить деятельность человека. Помимо очевидных вещей, таких как развитие абстрактного мышления или способность разделять задачу на меньшие части, я предлагаю пойти ещё дальше и воспользоваться основными подходами к разработке. На примере создания классической логической игры, проводя аналогию между визуальным и традиционным программированиями, я и хочу показать, как навыки разработки могут помочь в решении прикладной задачи. Желающих подискутировать на тему или поиграть в «Быков и коров» и выиграть приз — зову под кат.



Читать дальше →
Total votes 8: ↑7 and ↓1 +6
Views 4.5K
Comments 9

Рисуем музыку: Coffin dance в Pure Data

Programming *Data visualization *Popular science Sound
Tutorial

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


Программирование — процесс на грани науки и творчества. Без грамотно составленной программы компьютер — беспомощный агрегат, тратящий электроэнергию. Большинство современных специалистов работают с декларативными символьными языками — составляют программы из текстовых команд: простых — присваивание, умножение; и сложных — проверка условия, выполнения подпрограммы в цикле.

Но не все языки программирования предназначены для решения системных задач. Некоторые создаются в целях обучения, проведения презентаций и цифровых шоу. Когда производительность и функциональность отходят на второй план, на свет появляются такие оригинальные решения, как среда визуального программирования Pure Data.

В 2020-ом году танец из архивного видео похоронной церемонии агентства Dada awu из Ганы стал самым популярным мемом в России. Сегодня нам предстоит пошагово воссоздать легендарную музыкальную тему Coffin Dance, используя среду алгоритмического описания звука Pure Data.
Total votes 9: ↑9 and ↓0 +9
Views 2.3K
Comments 0

Как определить функционал MVP и влюбить клиента в пилотную версию продукта

Web design *Website development *Start-up development Product Management *
Sandbox

Итак, MVP. Достаточно заезженная тема, на мой взгляд. Каждый, кто хоть как-то связывал себя с разработкой программного обеспечения за последние 5 лет, с 99% вероятностью слышал эти 3 буквы. Но даже несмотря на обилие информации, народ все равно наступает на грабли «идеального продукта» при создании проектов.


Эта статья не претендует на то, чтобы быть истиной в последней инстанции. Она не про важность и необходимость MVP. И не про его роль в бережливом запуске стартапов. Я просто порассуждаю о том, каким должен быть минимально жизнеспособный продукт на момент пилотного выхода на рынок.


Начну с вирусной зарисовки пути развития стартапа по принципу MVP, которая гуляет по интернету и которую вы наверняка встречали.


image


90% авторов используют иллюстрацию в своих публикациях в буквальном смысле, что вводит в заблуждение читателей.

Читать дальше →
Total votes 21: ↑20 and ↓1 +19
Views 9.9K
Comments 18

Шарманка на Ардуино

Амперка corporate blog Developing for Arduino *DIY
Translation

Эта публикация является переводом моей инструкции размещенной на сайте instructables.com. Проект занял первое место в DIY Arduino contest 2020 от Instructables



Привет! Это статья о том, как я делал шарманку на Arduino.

Total votes 17: ↑17 and ↓0 +17
Views 6.9K
Comments 6

Опыт проведения городской школьной олимпиады по программированию

Python *Programming *Visual programming *
Recovery mode

В этой статье я расскажу про опыт проведения городской школьной олимпиады по программированию.

Идея организовать местную олимпиаду возникла ещё на стадии запуска детской школы программирования. За два года работы стало ещё более очевидно, что счёт идёт на единицы различных соревнований в этом направлении, а значит мало возможностей для проверки учеников, вовлечения вне занятий, дополнительной мотивации результатами. Скажу даже так: в Иркутске нет соревновательных мероприятий для учеников по программированию на scratch, и только одна олимпиада в которой могут участвовать питонисты - “Играем в программистов”.

Читать далее
Total votes 31: ↑28 and ↓3 +25
Views 8.6K
Comments 56
1