Programación visual

El término programación visual (Visual programming language, VPL) refiere a la programación en la que se utiliza más de una dimensión para expresar la semántica.[1]​ Los lenguajes de programación visual permiten a los usuarios crear programas mediante la manipulación de elementos gráficos, en lugar de especificarlos exclusivamente de manera textual.[2]​ Este tipo de lenguajes son muy utilizados en ámbitos educativos[3]​ a través de los denominados entornos de programación por bloques (entre los que se destaca Scratch) que permiten reducir las dificultades que enfrentan los principiantes cuando empiezan a programar. HyperCard de Apple fue probablemente el primer ejemplo de un entorno de programación visual.[4]

Características

Este estilo de programación presenta las siguientes características:

  • Visual: los elementos se arrastran y sueltan en el flujo del programa para integrarlos.
  • Orientado a acontecimientos: cada paso del programa comienza cuando ocurre un acontecimiento previamente definido.
  • Imperativo: la programación consiste en una secuencia de comandos.
  • Orientado a objetos: hay objetos individuales con tareas definidas asignadas.[5]

Los programadores suelen utilizar elementos de programación ya definidos, según el lenguaje de programación visual que utilicen. Los elementos de programación están diseñados para encajar como las piezas de un puzle. Si los elementos no encajan lógicamente, el editor lo detecta. Los elementos de programación suelen agruparse en grupos de colores, lo que orienta al usuario a la hora de elegirlos.

Estos pueden registrar textos e imágenes, organizarlos de forma lógica y modificar su apariencia o su expresión. Los elementos de control permiten insertar acciones que dependen de ciertas condiciones.[5]

NEPO, es un software de programación libre inspirado en Scratch. Fue creado por el MIT (Massachusetts Institute of Technology).

Programación orientada a objetos

  • Define los programas en términos de "clases de objetos", objetos que son entidades que combinan estado (es decir, datos), comportamiento (esto es, procedimientos o métodos) e identidad (propiedad del objeto que lo diferencia del resto). La programación orientada a objetos (OOP) expresa un programa como un conjunto de estos objetos, que colaboran entre ellos para realizar tareas.[6]
  • La OOP facilita el uso de características de un programa en otros, de modo que los programadores no tengan que empezar de cero con cada nuevo programa.[4]
  • La técnica de programación orientada a objetos,[7]​ se basa en fundamentos de diseño, técnicas y metodologías unificadas (UML).
  • Lenguajes visuales como Visual Basic.Net, Borland Delphi, incorporan una completa implementación de la programación orientada a objetos y permiten aprovechar al máximo toda la funcionalidad que ofrecen estos lenguajes para el desarrollo de aplicaciones de gestión.[8][9][10]

Programación por bloques

Captura de pantalla de la interfaz de Scratch Jr
Scratch Jr permite programar mediante bloques con íconos, por lo que no es necesario saber leer para usarlo

La programación por bloques o programación orientada a bloques usa una metáfora de "primitiva de programación como pieza de rompecabezas" como una forma de dar indicios visuales al usuario acerca de cómo y dónde pueden ser usadas las instrucciones del lenguaje. Escribir un programa en un entorno basado en bloques consiste entonces en arrastrar y soltar las instrucciones una junto a otra. Si las dos instrucciones no pueden unirse en una declaración válida, entonces el entorno evita que puedan encastrar juntas. De esta forma, los entornos de programación por bloques pueden prevenir errores de sintaxis reteniendo la práctica de crear programas ensamblando las instrucciones una por una.[11]

En estos ambientes predomina el uso del ratón, que se usa para encastrar las instrucciones con otras. Generalmente se da un feedback visual o auditivo informando al usuario si la construcción es válida. Además, hay indicios visuales de cómo usar el bloque: la forma sugiere dónde puede encajar (al principio, dentro de otro, etc), el color indica la categoría de bloque (por ejemplo en Scratch: control, movimiento, etc) y a veces se cuenta con una etiqueta en lenguaje natural que indica qué hace el bloque.[12]

Librerías y entornos de programación por bloques

"Hola Mundo" en el lenguaje de programación por bloques Scratch
"Hola Mundo" en el lenguaje de programación por bloques Scratch

Existen librerías como Blockly que permiten la creación de herramientas de edición de código por bloques. No deben confundirse con los lenguajes de programación por bloques, ya que las librerías son las que aportan la funcionalidad para editar, mientras que los lenguajes definen el conjunto de instrucciones posibles, su sintaxis, etc.

Los editores por bloques son un subconjunto de los llamados "editores estructurados", donde la unidad de trabajo mínima es un nodo del árbol de sintaxis del lenguaje. Esto brinda más flexibilidad que usar bloques funcionales completos y es menos proclive a errores que operar con unidades menores como caracteres.[12]

Algunos entornos de programación por bloques que tienen sus propios lenguajes son Scratch, Scratch Jr, Snap![13]​ y StarLogo[14]​.

Otros editores ayudan a la generación de código para hacer más accesibles plataformas como Android (App Inventor) o Arduino (Hello Blocks![15]​, Ardublock[16]​, ArduinoBlocks[17]​). Open Roberta permite generar código para múltiples plataformas de programación de robots (Arduino, Lego Mindstorms, Micro Bit).

Otra librería de programación por bloques, basada en Blockly, es Roboblocks[18]​, un repositorio de bloques para hacer editores de Arduino.

Programación por bloques en educación

En un curso de programación, el objetivo es desarrollar habilidades de resolución de problemas usando programación. Sin embargo, los estudiantes suelen presentar grandes dificultades para entender y aplicar conceptos abstractos en problemas concretos.

Algunas de las razones son las siguientes:[19]

PilasBloques, un entorno educativo basado en secuencias didácticas del Ministerio de Educación argentino.
  • La programación demanda un alto nivel de abstacción
  • La programación necesita un buen nivel tanto de conocimientos como de técnicas prácticas de resolución de problemas
  • La programación requiere un estudio muy intensivo y práctico, a diferencia de muchos otros cursos, que son más teóricos
  • Debido a la cantidad de participantes de las clases, es difícil tener un seguimiento personalizado
  • La programación es algo dinámico, pero se enseña con materiales estáticos
  • Cada estudiante puede tener un estilo de aprendizaje diferente
  • La sintaxis de los lenguajes de programación es muy compleja y no está pensada para fines pedagógicos.

La programación basada en bloques fue creada para evitar estos problemas en el aprendizaje, ya que evitan los errores sintácticos, permiten al estudiante desarrollar pensamiento lógico y creativo a través de diversas actividades (juegos, música), y permiten la visualización de la ejecución de los algoritmos.[20]

Existen entornos completos que favorecen el aprendizaje acompañado por secuencias didácticas, como PilasBloques.[21]

Programación por bloques en videojuegos

La programación por bloques es un desafío que se ha usado como tema para videojuegos de lógica, como es el caso de Human Resource Machine, y su secuela 7 Billion Humans de Tomorrow Corporation.

En los juegos mencionados se requiere resolver desafíos en una versión en bloques de un lenguaje similar al lenguaje ensamblador que se usa para programar procesadores, en una empresa donde los robots hacen trabajar a los humanos siguiendo instrucciones.[22]

Véase también

Enlaces externos

  • snapp Archivado el 19 de mayo de 2015 en Wayback Machine. es un sistema de programación visual derivado de Google Blockly
  • Scratch es un lenguaje de programación visual gratuito para jóvenes.
  • Scratch Jr es un lenguaje de programación introductorio visual para niños pequeños (5 a 7 años)
  • Pencil Code es un ambiente de programación visual híbrido (permite ver los bloques y el código)


Referencias

  1. Burnett, Margaret M. (1999). Wiley Encyclopedia of Electrical and Electronics Engineering (en inglés). American Cancer Society. ISBN 978-0-471-34608-1. doi:10.1002/047134608x.w1707. Consultado el 7 de mayo de 2020. 
  2. ai, craft. «The maturity of visual programming». craft ai | Explainable AI, as-a-service (en inglés). Archivado desde el original el 13 de abril de 2020. Consultado el 7 de mayo de 2020. 
  3. «program.ar». Archivado desde el original el 7 de junio de 2020. Consultado el 7 de junio de 2020. 
  4. a b BEEKMAN, G. (2005). «Capítulo 14». INTRODUCCIÓN A LA INFORMÁTICA. Sexta edición. PEARSON PRENTICE HALL. p. 526. 
  5. a b «¿En qué consiste la programación visual?». 
  6. «Programación orientada a objetivos con Scratch». Archivado desde el original el 5 de noviembre de 2018. Consultado el 5 de noviembre de 2018. 
  7. «qué es la programación orientada a objetos». 
  8. «Scratch». Argentina.gob.ar. 
  9. Pascual, Juan Antonio (13 de diciembre de 2015). «Scratch, programación sencilla y gratis para niños y mayores». ComputerHoy. Consultado el 11 de abril de 2020. 
  10. «Programación por bloques». 
  11. Weintrop, David (24 de julio de 2019). «Block-based programming in computer science education». Communications of the ACM (en inglés) 62 (8): 22-25. ISSN 0001-0782. doi:10.1145/3341221. Consultado el 14 de octubre de 2022. 
  12. a b Weintrop, David; Wilensky, Uri (6 de diciembre de 2017). «Comparing Block-Based and Text-Based Programming in High School Computer Science Classrooms». ACM Transactions on Computing Education (en inglés) 18 (1): 1-25. ISSN 1946-6226. doi:10.1145/3089799. Consultado el 14 de octubre de 2022. 
  13. «Snap! Build Your Own Blocks». snap.berkeley.edu. Consultado el 14 de octubre de 2022. 
  14. «Welcome». www.slnova.org. Consultado el 14 de octubre de 2022. 
  15. «Hello, Blocks!». hello-blocks.com. Consultado el 14 de octubre de 2022. 
  16. «Ardublock | A Graphical Programming Language for Arduino» (en inglés estadounidense). Archivado desde el original el 28 de diciembre de 2016. Consultado el 14 de octubre de 2022. 
  17. «ArduinoBlocks». www.arduinoblocks.com. Consultado el 14 de octubre de 2022. 
  18. RoboBlocks, BQ, 26 de mayo de 2020, consultado el 14 de octubre de 2022 .
  19. Gomes, Anabela; Mendes, António José (14 de junio de 2007). «An environment to improve programming education». Proceedings of the 2007 international conference on Computer systems and technologies. CompSysTech '07 (Association for Computing Machinery): 1-6. ISBN 978-954-9641-50-9. doi:10.1145/1330598.1330691. Consultado el 2 de noviembre de 2022. 
  20. Cárdenas-Cobo, Jesennia; Puris, Amilkar; Novoa-Hernández, Pavel; Parra-Jiménez, Águeda; Moreno-León, Jesús; Benavides, David (2021-01). «Using Scratch to Improve Learning Programming in College Students: A Positive Experience from a Non-WEIRD Country». Electronics (en inglés) 10 (10): 1180. ISSN 2079-9292. doi:10.3390/electronics10101180. Consultado el 2 de noviembre de 2022. 
  21. «Pilas Bloques». pilasbloques.program.ar. Consultado el 2 de noviembre de 2022. 
  22. «Tomorrow Corporation : Human Resource Machine». tomorrowcorporation.com. Consultado el 14 de octubre de 2022. 


Read other articles:

297

This article is about the year 297. For the number, see 297 (number). This article relies largely or entirely on a single source. Relevant discussion may be found on the talk page. Please help improve this article by introducing citations to additional sources.Find sources: 297 – news · newspapers · books · scholar · JSTOR (February 2024) Calendar year Millennium: 1st millennium Centuries: 2nd century 3rd century 4th century Decade...

 

Italian engineer, naval officer & university teacher (1904-1980) Ugo TiberioBorn(1904-08-19)19 August 1904Campobasso, Kingdom of ItalyDied17 May 1980(1980-05-17) (aged 75)Livorno, ItalyAllegiance Kingdom of ItalyService/branch Regia MarinaRankLieutenant colonel, Naval Weapons CorpsBattles/wars World War II Awards Order of the Crown of Italy Ugo Tiberio (Campobasso, 19 August 1904 – Livorno, 17 May 1980) was an Italian engineer, naval officer and university teacher, best k...

 

House elections in Washington See also: 2020 Washington elections 2020 United States House of Representatives elections in Washington ← 2018 November 3, 2020 2022 → All 10 Washington seats to the United States House of Representatives   Majority party Minority party   Party Democratic Republican Last election 7 3 Seats won 7 3 Seat change Popular vote 2,340,356 1,545,436 Percentage 59.34% 39.18% Swing 3.16% 4.48% Democratic   40–...

Historic school building in North Carolina, United States United States historic placeStonewall Jackson Youth Development CenterStonewall Jackson Training School Historic DistrictU.S. National Register of Historic PlacesU.S. Historic district Show map of North CarolinaShow map of the United StatesLocationSR 1157, Concord, North CarolinaCoordinates35°21′51″N 80°35′54″W / 35.36417°N 80.59833°W / 35.36417; -80.59833Area800 acres (320 ha) (58 acres (23...

 

Sporting event delegationSweden at the1988 Winter OlympicsIOC codeSWENOCSwedish Olympic CommitteeWebsitewww.sok.se (in Swedish and English)in CalgaryCompetitors67 (54 men, 13 women) in 9 sportsFlag bearer Thomas Wassberg (cross-country skiing)MedalsRanked 5th Gold 4 Silver 0 Bronze 2 Total 6 Winter Olympics appearances (overview)192419281932193619481952195619601964196819721976198019841988199219941998200220062010201420182022 Sweden competed at the 1988 Winter Olympics in Calgary, Al...

 

American politician (born 1952) James BarciaBay County ExecutiveIncumbentAssumed office January 1, 2017Preceded byThomas L. HicknerMember of the Michigan Senatefrom the 31st districtIn officeJanuary 1, 2003 – December 31, 2010Preceded byKen SikkemaSucceeded byMike GreenMember of the U.S. House of Representativesfrom Michigan's 5th districtIn officeJanuary 3, 1993 – January 3, 2003Preceded byJ. Bob Traxler[1]Succeeded byDale KildeeMember of the Mic...

Lithuanian army officer Jonas NoreikaBorn(1910-10-08)8 October 1910Šukioniai, Kovno Governorate, Russian EmpireDied26 February 1947(1947-02-26) (aged 36)Vilnius, Lithuanian SSR, Soviet UnionCause of deathExecution by shootingResting placeTuskulėnai Manor, Vilnius, LithuaniaNationalityLithuanianOther namesGenerolas Vėtra ('General Storm')Alma materVytautas Magnus UniversityKnown forPlungė massacreSpouseAntanina KrapavičiūtėAwardsOrder of the Cross of Vytis (1997...

 

Federica AbbateBackground informationBorn (1991-01-23) 23 January 1991 (age 33)Milan, ItalyGenresPopOccupation(s) Singer songwriter composer lyricist Years active2014–presentLabelsUMGMusical artist Federica Abbate (born 23 January 1991) is an Italian composer, lyricist and singer-songwriter. Life and career Abbate started playing piano at 5 years old and graduated in sociology. In 2013 she won a contest for songwriters promoted by SIAE and by the Comune of Genoa, Genova per voi, and go...

 

U.S. state This article is about the U.S. state. For other uses, see Michigan (disambiguation). The Great Lakes State redirects here. For states around the Great Lakes region, see Great Lakes region. State in the United StatesMichiganState FlagSealNicknames: The Great Lake State,[1] The Wolverine State, Water (Winter) WonderlandMotto(s): Si quaeris peninsulam amoenam circumspice(English: If you seek a pleasant peninsula, look about you)Anthem: My MichiganMap of the United St...

شِعْب أبي طالب أو شِعْب بني هاشم،[1] هو المكان الذي قوطعت وحوصرت فيه بنو هاشم لمدة ثلاثة سنوات ابتداء من السنة السابعة من النبوة بسبب قرار اتخذه سادة قريش بداية ظهور الإسلام وذلك للضغط على رسول الله في الإسلام محمد بن عبد الله ولثنيه عن الدعوة للإسلام فتعاهدو على ألا يتع...

 

Neighbourhood in MacPherson, Geylang, SingaporeMacPhersonNeighbourhoodName transcription(s) • Chinese麦波申 • PinyinMàibōshēn • MalayMacPherson • Tamilமக்பெர்சொன்Public housing residences at MacPhersonCoordinates: 1°19′36″N 103°53′24″E / 1.32665°N 103.890019°E / 1.32665; 103.890019Country SingaporePlanning areaGeylangSubzoneMacPherson MacPherson is a neighbourhood located...

 

美国海军United States Navy存在時期1775年10月13日[1]-1785年1797年-至今國家或地區 美国種類海軍功能海中作戰、運輸長程飛彈、密接支援規模现役349,593人预备役101,583人文職人員279,471人舰船480艘飞机2,623架直屬美国海军部駐軍/總部 美国弗吉尼亚州阿灵顿县裝備航空母舰11艘两栖攻击舰9艘船坞登陆舰22艘巡洋舰12艘驱逐舰75艘濒海战斗舰24艘核潜艇70艘 無人水面載具...

Halaman ini berisi artikel tentang perjanjian yang ditandatangani pada tahun 1991. Untuk perjanjian saat ini, lihat New START. Untuk roket, lihat Start-1. START Nama panjang: Strategic Arms Reduction Treaty Договор о сокращении стратегических наступательных вооружений Presiden George H. W. Bush dan Mikhail Gorbachev menandatangani START, 31 Juli 1991JenisPerlucutan senjata nuklir yang strategisDirancang29 Juni 1982 – Juni ...

 

نزعة استهلاكيةمعلومات عامةالبداية 2 ألفية[1] تسبب في مخلفات النقيض مناهضة النزعة الاستهلاكية تعديل - تعديل مصدري - تعديل ويكي بيانات يشير مصطلح النزعة الاستهلاكية (بالإنجليزية: Consumerism)‏ إلى نظام اجتماعي واقتصادي يحفز عملية شراء البضائع والاستفادة من الخدمات بكميات أكب...

 

Seminary in Virginia, US This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Union Presbyterian Seminary – news · newspapers · books · scholar · JSTOR (May 2008) (Learn how and when to remove this message) Union Presbyterian SeminaryTypePrivateEstablished1812; 212 years ago (1812)Religious affi...

この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)出典検索?: オゴデイ – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2013年10月) オゴデイᠦᠭᠡᠳᠠᠢ モンゴル帝国第2代皇帝(�...

 

City in North Carolina, United StatesDurhamCityDurham skylineDuke UniversityDuke Memorial UMCBennett PlaceCarolina TheatreDurham Performing Arts CenterAmerican Tobacco Historic District FlagSealLogoNickname(s): Bull City,[2] City of Medicine[3]Interactive map of DurhamDurhamShow map of North CarolinaDurhamShow map of the United StatesCoordinates: 35°58′43″N 78°54′00″W / 35.97861°N 78.90000°W / 35.97861; -78.90000CountryUnited StatesSta...

 

沖縄県立八重山商工高等学校 北緯24度20分1.5秒 東経124度10分25.39秒 / 北緯24.333750度 東経124.1737194度 / 24.333750; 124.1737194座標: 北緯24度20分1.5秒 東経124度10分25.39秒 / 北緯24.333750度 東経124.1737194度 / 24.333750; 124.1737194過去の名称 琉球政府立八重山商工高等学校[1]国公私立の別 公立学校設置者  沖縄県併合学校 沖縄県立八重山高等学校...

Pour les articles homonymes, voir Rasmussen. Anders Fogh Rasmussen Anders Fogh Rasmussen en 2008. Fonctions 12e secrétaire général de l'OTAN 1er août 2009 – 1er octobre 2014(5 ans et 2 mois) Prédécesseur Jaap de Hoop Scheffer Successeur Jens Stoltenberg Premier ministre du Danemark 27 novembre 2001 – 5 avril 2009(7 ans, 4 mois et 9 jours) Monarque Margrethe II Gouvernement Fogh Rasmussen I, II et III Législature 64e, 65e et 66e Coalition Venstre-KF Prédé...

 

Methodology in futures studies Futures studies Concepts Accelerating change Cashless society Global catastrophic risk Future Earth Mathematics Race Climate Space exploration Universe Historical materialism Kondratiev wave Kardashev scale Moore's law Peak oil Population cycle Resource depletion Singularity Swanson's law Techniques Backcasting Causal layered analysis Chain-linked model Consensus forecast Cross impact analysis Delphi Real-time Delphi Foresight Future-proof Futures wheel Future w...