Сайт находится в разработке. Возможна неполнота, ошибки и неточности...

XDE.Academy

TODO:Черновые концепции уроков

  • Описать отличие нашей программы от других. Преимущественно они дают предметы автономно, изредко связывая их. Мы же в силу выбранной архитектуры изначально готовим для них обобщённую платформу. А потом заниматься собой или формированием социальных структур в школах вообще не учат. Включить на принцип гетерогенности из Technology, а на неё же может сослаться и XDE Team.
  • Важная роль концепции I/O.
  • Эксперимент в консоли (spaced repetition).
  • Абстракция стоящая за консолью и концепция IoC.
  • Замена через IoC/DI консоли на чат-бота.
  • Отдельный чат сервер для образовательной когорты.
  • Использовать ALPHA в качестве стенда для изучения. И через всякие lspci/lshw изучать его устройство.

TODO:Выбор экосистемы

  • Rust
    • Rust хорош в DSL, но macro_rules! немного многословны.
    • Критикуемая система borrowing и другая специфика Rust может выглядеть натуральной, если начать с неё в самом начале.
  • Cx

TODO:Потенциальная стратегия

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

Возьмем в качестве точки опоры идею приложения XDE App. Это продукт, который "делает всё". Но речь здесь идёт не о абсурдной, фантастической задаче, когда нечто что делает всё и сразу. А о том, что системные архитекторы, разрабатывающие гигантские программные комплексы, называют масштабированием. Решение начинается с некоторой платформы, которая предусматривает фундамент, на котором всем остальным задачам будет намного проще выстраиваться. Это как несущая основа здания, которое может потом заполняться самыми разными офисами.

В некотором смысле такие платформы уже существуют. Для управления проектами и тестирования, для организации интерфейсов и коммуникаций, для хранения данных и их обработки. Например, СУБД (системы управления базами данных) предлагают универсальные механизмы для работы с данными, в независимости от того, описывают они музыкальное произведение или конструкцию космической ракеты.

Формирование такого фундамента в приложении XDE App – становится очень похожим на формирование основы образования. Как лучше понять другие области знаний, как их организовать, как разделить общие и специфичные детали, какие между ними зависимости, а значит в какой последовательности с ними работать. Разработка подобного универсального приложения выглядит как органичный образовательный процесс. Выстраивание форм внутри приложения и выстраивание аналогичных конструкций в нашем понимании мира практически полностью тождественны. А значит, его разработку можно сделать основой образовательного процесса.

С точки зрения интересов XDE Team и её стратегии первым идёт развитие личности. И первые же шаги в разработке данного приложения могут быть нацеленны именно на эту задачу. Особенно в рамках данной академии.

Например, есть такая техника запоминания материалов как "Spaced repetition". В быту многим известно приложение Anki, которое её реализует. Оно задаёт человеку вопрос из базы и в зависимости от правильности ответа на него определяет время, когда его задать в следующий раз. Ошибся – имеет смысл повторить через день. Уже третий раз отвечаешь правильно – можно отложить и на месяц.

Эта техника не зависит от областей знаний и с равным успехом может быть применена в любой из них. По сути, ученики начинают с получения базовых знаний из Technology и Informatics для того, чтобы их сразу применять к созданию простого модуля XDE App, реализующего кросс-дисциплинарную технику "spaced repetition", которая в свою очередь начинает помогать в закреплении полученных знаний.

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

За этим процессом может последовать организация работы командной работы и коммуникаций (разработка XDE App – определённо потребует командной работы), модульные системы, способы взаимодействия между этими модулями и многие процессы, связанные с Technology и Informatics как дисциплинами, которые мы рассматриваем в роли базовых.

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

TODO:Потенциальная тактика

Как правило, образование начинается с решения примитивных задач. От простых они отличаются тем, что носят синтетический характер. Тогда как простые – это понятное решение даже для самых сложных. Опыт решения примитивных в реальной практике практически бесполезен, поэтому большинству студентов приходится переучиваться непосредственно на рабочем месте и немалая доля из полутора десятков лет инвестированных в образование становится бесполезной. Мы идём по принципу методичного выстраивания очень сложного продукта – XDE App.

TODO:Есть важные принципы (IoC, модульность, реюзинг, управление изменениями и т.п.) без которых невозможно создать мало-мальски серьёзный продукт. И есть атомарные задачи с которыми может никогда не столкнётесь. Первое учит мыслить масштабно и в процессе может задействовать алгоритмическое мышление. Второй развивает только алгоритмическое мышление.

В качестве эксперимента можно попробовать начать с .NET и BDD, в рамках концепции Executable Specifications/Specs. Во-первых, сложные приложения невозможно строить без TDD-подхода, который сам по себе может быть интересной инженерной концепцией. Во-вторых, сам BDD начинается с простых выражений на естественном языке. Дальше достаточно короткий переход к DI, за которым будут самые простые реализации, с последующим ростом до самых сложных.

Таким образом последовательность развития события могла бы выглядеть следующим образом:

Альтернативный вариант может строиться на использовании VSCode + Polyglot notebooks.

Ещё один вариант мог бы строиться на экосистеме Rust. Из сильных сторон видится:

Rust может опираться на генеративный подход. Из Specs в продуктых для других языков и сред. Например, Swift-проект.

InBox

Интересным практическим кандидатом для исследования является идея рассматривать человеческую деятельность на примере лаборатории Application flow.