В докладе дается обзор нескольких инструментов Microsoft, которые позволят показать вашему ребенку, что компьютер - это отличный инструмент для творчества! В частности, рассказывается про несколько способов научить ребенка программировать, начиная с 7-8 лет. Доклад вошел в число лучших приглашенных докадов на конференции SECR2013
12. Что такое Kodu?
Лаборатория игр:
•
•
создание трехмерных миров
создание (программирование) игр
Разработан в лаборатории Microsoft Research
Каждый персонаж и объект в Kodu запрограммирован индивидуально
и взаимодействует с миром по-своему, почти как умный агент
Kodu – высокоуровневый визуальный язык
Язык Kodu "event driven", где каждая строка в программе – это условие
и действие (правило)
Можно программировать на Xbox 360
14. Kodu Game Lab
Концепции программирования:
•
•
•
•
•
•
Конечный автомат
Управление персонажами /
исполнителями
Вводит концепцию класса-объекта
(через Creatable / Родитель)
Переходы (для изменения
поведения персонажей)
Логика: И (вложение), ИЛИ
Условия ЕСЛИ-ТО (продукционное
описание поведения)
Сценарии использования:
•
•
•
•
•
Визуализация прочитанного –
можно построить свой мир
Объяснение концепций
площади, параметра, координат,
путей
Ограниченность ресурсов в
мире и игры на тему
сохранение окружающей среды
Преломление света
Создание простых мелодий
19. Треугольник Серпинского
int x = 100, y = 100;
var Rnd = new Random();
for (int i = 0; i < 10000; i++)
{
GraphicsWindow.SetPixel(x, y, "Black");
var r = Rnd.Next(1, 30);
if (r < 10) Move(ref x, ref y, 100, 500);
else if (r < 20) Move(ref x, ref y, 600, 500);
else Move(ref x, ref y, 350, 100);
}
static void Move(ref int x, ref int y, int nx, int ny)
{
x = (x + nx) / 2;
y = (y + ny) / 2;
}
20. Анонс
Курс «Введение в программирование на
C#» в ближайшее время на
MicrosoftVirtualAcademy.com!
22. Microsoft Robotics Developer Studio
На поверхности:
http://www.microsoft.com/robotics
Среда, позволяющая разрабатывать поведение роботов как с помощью
визуального языка Visual Programming Language, так и на C#
Содержит эмулятор популярных моделей роботов (LEGO
Mindstorm, iRobot), поддерживающий физику реального мира
Версия 4.0 Beta поддерживает эмуляцию Kinect!
Поддерживает популярные модели роботов (LEGO, iRobot) с помощью
Bluetooth-управления
Изнутри:
Роботы – это сложные устройства, состоящие из асинхронно
взаимодействующих сервисов
23. Функциональное программирование
как первый подход к программированию
Парадигма программирования, естественная для человека,
которая рассматривает программу как функцию, которая
перерабатывает входные данные в выходные, и в свою
очередь строится из более простых функций.
24. Подходы к обучению F#
“Это почти как математика”
let solve a b c =
let d = b*b-4.*a*c
((-b-sqrt(d))/2/a,(-b+sqrt(d))/2/a)
> solve 1. 2. -3.
(1.0, 2.0)
Функции, обрабатывающие сложные объекты
(геометрические фигуры)
Fun.fillColor Color.Gold (Fun.circle 200.0f) $
Fun.fillColor Color.Red (Fun.circle 150.0f) $
Fun.fillColor Color.Gold (Fun.move 0.0f 15.0f
(Fun.circle 160.0f)) $
Fun.fillColor Color.Green
(Fun.move -50.0f 25.0f (Fun.circle 50.0f) $
Fun.move 50.0f 25.0f (Fun.circle 50.0f))
25. В заключение – решаем
квадратное уравнение
Без ошибок!
#msdevcon
31. Вывод
Если вам интересна эта тема – я хочу с вами
общаться!
http://blogs.msdn.com/sos | dmitryso@microsoft.com
Childcast
Kodu Cup
Функциональное программирование