Инструмент для программирования превращает рукописный текст в компьютерный код
Команда из Корнелла создала интерфейс, который позволяет пользователям писать от руки и делать наброски в компьютерном коде, что является проблемой для обычного кодирования, которое обычно основано на наборе текста.
Интерфейс на основе пера, называемый Notate, позволяет пользователям компьютерных цифровых блокнотов, таких как интерактивные веб-блокноты Jupyter, открывать холсты для рисования и писать диаграммы от руки в строках традиционного оцифрованного компьютерного кода.
Интерфейс, основанный на модели глубокого обучения, объединяет контексты рукописного и текстового программирования: обозначения на рукописной диаграмме могут ссылаться на текстовый код и наоборот. Например, Notate распознает написанные от руки символы программирования, такие как «n», а затем связывает их с их машинописными эквивалентами. В ходе тематического исследования пользователи рисовали схемы квантовых цепей внутри ячеек кода ноутбука Jupyter.
Инструмент был описан в «Нотационное программирование для сред ноутбуков: пример с квантовыми схемами», представленном на симпозиуме ACM по программному обеспечению и технологиям пользовательского интерфейса, состоявшемся 29 октября.до 2 ноября в Бенде, штат Орегон. Статья, ведущим автором которой является Ян Аравжо, докторант в области информатики, получила почетное упоминание на конференции.
«Подобная система отлично подойдет для науки о данных, особенно для построения графиков и диаграмм, которые затем взаимодействуют с текстовым кодом», — сказал Аравджо. «Наша работа показывает, что текущая инфраструктура программирования на самом деле сдерживает нас. Люди готовы к такому типу функций, но разработчики интерфейсов для ввода кода должны принять это к сведению и поддерживать изображения и графические интерфейсы внутри кода».
Аравджо сказал, что работа демонстрирует новый путь вперед, представляя кодирование на основе искусственного интеллекта с помощью пера в то время, когда планшеты для рисования становятся все более широко используемыми.
«Такие инструменты, как Notate, важны, потому что они открывают нам новые способы осмысления того, что такое программирование, и как различные инструменты и репрезентативные практики могут изменить эту точку зрения», — сказал Тапан Парих, доцент кафедры информатики в Cornell Tech и соавтор статьи.
Другие соавторы: Энтони ДеАрмас ’22; Майкл Робертс, докторант в области компьютерных наук; и Шрутарши Басу, доктор философии. 18 лет, в настоящее время приглашенный доцент компьютерных наук в колледже Миддлбери.
Луи ДиПьетро — писатель Корнеллского колледжа вычислительной техники и информатики им. Энн С. Бауэрс.
Вычислительные и информационные науки
Запросы СМИ
Контакты для СМИ
Бекка Бойер
Получайте новости Корнелла прямо на свой почтовый ящик.
Подписаться
Вам также может понравиться
Приложение для создания покадровых видеороликов с помощью смартфона
Наручная камера снимает все тело в 3D
Символы электрических цепей и принципиальные схемы
До сих пор в этом разделе учебника «Класс физики» основное внимание уделялось ключевым компонентам электрической цепи, а также понятиям разности электрических потенциалов, тока и сопротивления. Концептуальное значение терминов было введено и применено к простым схемам. Были обсуждены математические отношения между электрическими величинами и смоделировано их использование при решении задач. Урок 4 будет посвящен способам соединения двух или более электрических устройств в электрическую цепь. Наше обсуждение будет развиваться от простых схем к относительно сложным схемам. К этим сложным цепям будут применяться прежние принципы разности электрических потенциалов, тока и сопротивления, и для их анализа будут использоваться те же математические формулы.
Электрические цепи, простые или сложные, могут быть описаны различными способами. Электрическая цепь обычно описывается простыми словами. Сказать что-то вроде «Лампочка подключена к D-элементу» — достаточное количество слов, чтобы описать простую схему. Во многих случаях в уроках с 1 по 3 слова использовались для описания простых схем. Услышав (или прочитав) слова, человек привыкает быстро представлять схему в уме. Но еще один способ описать схему — просто нарисовать ее. Такие рисунки обеспечивают более быстрое мысленное представление фактической схемы. Чертежи электрических цепей, подобные приведенному ниже, многократно использовались в уроках с 1 по 3.
«Схема содержит лампочку и D-элемент на 1,5 В.» |
Последним средством описания электрической цепи является использование обычных символов цепи для создания принципиальной схемы цепи и ее компонентов. Некоторые символы цепей, используемые на принципиальных схемах, показаны ниже.
Отдельный элемент или другой источник питания представлен длинной и короткой параллельными линиями. Набор элементов или аккумуляторов представлен набором длинных и коротких параллельных линий. В обоих случаях длинная линия представляет собой положительный вывод источника энергии, а короткая линия представляет собой отрицательный вывод.
Прямая линия используется для обозначения соединительного провода между любыми двумя компонентами цепи. Электрическое устройство, оказывающее сопротивление потоку заряда, обычно называется резистором и изображается зигзагообразной линией. Открытый переключатель обычно представляет собой разрыв прямой линии на подъем части линии вверх по диагонали. Эти символы цепей будут часто использоваться в оставшейся части урока 4, поскольку электрические цепи представлены схематическими диаграммами. Важно либо запомнить эти символы, либо часто обращаться к этому короткому списку, пока вы не привыкнете к их использованию.В качестве иллюстрации использования электрических символов на принципиальных схемах рассмотрим следующие два примера.
Пример 1:
Описание со словами: Три D-элемента помещены в батарейный блок для питания цепи, содержащей три лампочки.
Используя словесное описание, можно получить ментальную картину описываемой цепи. Это словесное описание может быть затем представлено рисунком трех ячеек и трех лампочек, соединенных проводами. Наконец, символы схемы, представленные выше, могут использоваться для представления одной и той же схемы. Обратите внимание, что три набора длинных и коротких параллельных линий использовались для представления аккумуляторной батареи с тремя D-ячейками. И обратите внимание, что каждая лампочка представлена своим индивидуальным символом резистора. Прямые линии использовались для соединения двух клемм батареи с резисторами и резисторов друг с другом.
Приведенные выше схемы предполагали, что три лампочки были соединены таким образом, что заряд, протекающий по цепи, последовательно проходил через каждую из трех лампочек. Путь положительного пробного заряда, покидающего положительный полюс батареи и пересекающего внешнюю цепь, должен проходить через каждую из трех подключенных лампочек, прежде чем вернуться к отрицательному полюсу батареи. Но разве только так можно соединить три лампочки? Должны ли они быть подключены последовательно, как показано выше? Точно нет! Фактически приведенный ниже пример 2 содержит одно и то же словесное описание, но рисунок и принципиальные схемы выполнены по-разному.
Пример 2:
Описание со словами: Три D-элемента помещены в батарейный блок для питания цепи, содержащей три лампочки.
Используя словесное описание, можно получить ментальную картину описываемой цепи. Но на этот раз соединения лампочек выполняются таким образом, чтобы на схеме была точка, где провода ответвляются друг от друга. Место разветвления называется узлом .. Каждая лампочка помещается в свою отдельную ветку. Эти ответвления в конечном итоге соединяются друг с другом, образуя второй узел. Один провод используется для подключения этого второго узла к отрицательной клемме аккумулятора.
Эти два примера иллюстрируют два распространенных типа соединений в электрических цепях. Когда в цепи присутствует два или более резистора, их можно соединить последовательно или параллельно . Оставшаяся часть урока 4 будет посвящена изучению этих двух типов соединений и тому влиянию, которое они оказывают на электрические величины, такие как ток, сопротивление и электрический потенциал.