Snap! (Sprog)

Snap!
Logo.
Illustrativt billede af artiklen Snap!  (Sprog)
Dato for første version 2011
Paradigme Visuelt , begivenhed , bydende nødvendigt , objekt , funktionelt / rekursivt
Forfattere Brian Harvey og Jens Mönig
Sidste version 6.2.4
Indtastning dynamisk
Påvirket af Scratch
Smalltalk
Scheme-
logo
Påvirket BeetleBlocks, Snapi
Skrevet i JavaScript (til Snap!, Tidligere Squeak til BYOB-versioner <4.0)
Operativ system multiplatform
Licens GNU Affero General Public License
Internet side snap.berkeley.edu
Filudvidelse .xml (for Snap!, tidligere for BYOB: .ypr og .ysp)

Snap! er et grafisk , multisystem programmeringssprog designet til at lære datalogi og matematik for studerende og begyndere. Ved at indlejre og matche grundlæggende, parametriserede instruktionsblokke, opretter elever historier, animationer eller spil, der derefter kører inde i deres webbrowser.

De således oprettede programmer kan sammenlignes med flowcharts, mens de er direkte eksekverbare, hvilket sparer tid og motivation for små børn. Udførelsen af ​​dette sprog tillader dog avanceret brug og undersøgelse af koncepter på højt niveau og dets anvendelse til universitetskurser.

Snap! , udviklet af University of California i Berkeley , er helt HTML5- baseret og kræver ikke lokal softwareinstallation. Det er gratis software licenseret under AGPL .

Historisk

BYOB (Build Your Own Blocks) blev udviklet i fællesskab af Jens Mönig og Brian Harvey som en udvidelse af Scratch, som blev brugt ved University of California i Berkeley til et kursus kaldet "The Beauty and Joy. Of Computing" ("skønheden og glæde ved computing ”). Ifølge Brian Harvey har Scratch, dog afledt af Logo , den store ulempe ved ikke at integrere begrebet procedure og derfor rekursion , en central idé inden for datalogi og også central fra starten af ​​undervisning af Logo. Derudover er dens understøttelse af datastrukturer svag.

BYOB , der tog inspiration fra Scheme , selv inspireret af Logo , havde derfor til formål at supplere Scratch . Han ville sidde på toppen af ​​Scratch og give det, hvad der meget manglede, især selvfølgelig for ældre studerende ved University of California i Berkeley, men hvorfor ikke for yngre mennesker, der er ivrige efter bedre at forstå kodningsteknikker og tackle dem fra bunden. Mere logisk og effektiv måde. Begreberne algoritmer og datastrukturer kan blandt andet kontaktes direkte og fuldstændigt med BYOB og dens efterfølger Snap! Uden at gå på kompromis med den brugbarhed, der er nødvendig for yngre børn.

Scratch lider også af en anden fejl, nemlig at være baseret på Adobe Flash- software , meget kontroversiel og ikke tilgængelig på alle platforme (meget dårligt understøttet på Linux, og fraværende på IOS og i stigende grad opgivet. Af de store videosider, herunder Dailymotion og Youtube From der blev født Snap!, version 4 af BYOB, autonom og fuldstændig baseret på HTML5 og javascript, derfor uafhængig af platformen, da den udføres fuldstændigt i webbrowseren .

Officielle publikationer

Snap! er blevet anerkendt af Logo Foundation og bedømt af et online magasin for programmører. I Frankrig er det blevet vurderet af Académie de Poitiers. En artikel om visuel programmering er afsat til ham på webstedet for IREM of Reunion.

Kompatibilitet og interoperabilitet

Kan køre på enhver HTML5-kompatibel webbrowser, der understøtter JavaScript , som de fleste af dem i øjeblikket gør, Snap! Kræver ingen installation og fungerer med det samme på alle typer systemer og enheder, inklusive tablets, der bruges af flere skoler.

Blokke og projekter udviklet med Snap! kan gemmes lokalt i en XML- fil , som derefter kan importeres tilbage til et nyt projekt på enhver enhed. En blok kan således let bruges af flere projekter.

Snap! er også tilgængelig offline, men denne version er ikke længere opdateret .

brugergrænseflade

Det svarer til Scratch (med layoutet før version 2), og brugen er den samme, med 39 tilgængelige sprog. Det findes dog i to versioner, som kun adskiller sig i antallet af grundlæggende instruktioner og funktioner. Den forenklede version er beregnet til begyndere og Scratch-brugere, mens den udvidede version tilbyder mere grundlæggende instruktioner og funktioner til avancerede brugere, som helt sikkert kan oprettes med den forenklede grænseflade, men som således gøres direkte tilgængelige.

Med hensyn til Scratch er det muligt at registrere dit projekt på webstedet (her vil det selvfølgelig være serveren fra University of California i Berkeley) efter at have oprettet en konto. Hvert projekt kan enten forblive fortroligt eller være åbent for alle. Et projekt kan også eksporteres i XML-format og gemmes lokalt på brugerens computer.

Siden Snap! kræver ingen installation, er det muligt at se og bruge det direkte på det dedikerede sted (se eksterne links eller brug en af ​​de ovenfor nævnte grænseflader).

Funktioner

De vigtigste funktioner, der adskiller Snap! af Scratch er:

Dette bringer særpræg, der er værdsat selv af de yngste eller flere begyndere, for eksempel at være i stand til at opdele en sprite i flere dele for at animere den, som vi kan se i Académie de Poitiers '"helikopter" -projekt.

Anvendelser

Som med ethvert programmeringssprog er anvendelserne uendelige. Men med sin intuitive og brugervenlige grænseflade, der findes på mange sprog, og dens multi-paradigmedesign, der gør det overkommeligt for unge grundskolebørn såvel som magtfuldt og lærerigt for akademikere, Snap! primært rettet mod undervisning og design af prototyper. Jens Mônig giver på sin Youtube-kanal mange eksempler på disse to områder.

Brug inden for rammerne af kollegereformen fra 2015

Snap! er meget velegnet til brug i denne sammenhæng. Den intuitive og sjove grænseflade gør det let for yngre børn at tackle det grundlæggende ved computerkodning, og det faktum, at det også er designet til akademikere på højt niveau, sikrer, at de indlærte begreber ikke gøres unøjagtige ved forenkling. Et godt eksempel er den universelle opfattelse af funktion, der fremsættes i det nye andetårsprogram under forberedelse.

Snap! er blevet testet og værdsat af akademiet Poitiers og IREM of Reunion. Sidstnævnte giver detaljerede og kommenterede eksempler på anvendelser hos de studerende.

Konvertering af Scratch til Snap!

Det er muligt at omdanne et Scratch 2-projekt til Snap! Afhængigt af projektet kan der nogle gange være nogle små justeringer, men disse er normalt minimale. Og det er en fantastisk måde at lære at sammensætte et projekt! Bemærk, at den nye version af Scratch (3.0) endnu ikke understøttes.

Denne facilitet giver dig mulighed for let at udvikle sig til, hvad nogle ikke tøver med at kalde et rigtigt sprog, mens de betragter Scratch som et simpelt uddannelsesværktøj. Personligheden hos forfatterne af Snap! (Brian Harvey var en lærer, der var meget knyttet til at viderebringe sin viden og sin lidenskab), så han intet mistede af sin legende og uddannelsesmæssige karakter i processen.

Fra projekt til eksekverbar

Det er også muligt at omdanne projektet til et eksekverbart program, der kan køre på det valgte system: Linux, Windows eller OSX. Da du kan vælge at lade koden være synlig, kan du derfor finde en offlineversion, der giver dig mulighed for at arbejde på dit projekt, mens du er "afspilbar".

Referencehåndbog

Forfatterne har sørget for at skrive en 109-siders referencehåndbog, der giver dig mulighed for at gøre dig fortrolig med manipulationen af ​​blokke som med de nye koncepter, der er bragt af Snap! sammenlignet med Scratch. Den er tilgængelig i PDF-format på University of California at Berkeley-webstedet.

Se også

Relaterede artikler

eksterne links

Bemærkninger

Noter og referencer

  1. (in) Manuel version 4.1, side 30
  2. (in) Manuel version 4.1, side 51
  3. (in) Manuel version 4.1, side 26 og 30
  4. (in) https://github.com/jmoenig Jens Mönig på Github
  5. "  https://snap.berkeley.edu/tos  "
  6. (da) [1]
  7. (i) BYOB (gammel version) Downloads
  8. (in) BYOB Reference Manual Version 3.0.7 (PDF 560Ko)
  9. (in) Jens scratcher Tilmeldt sig siden 9 år, 10 måneder Tyskland
  10. (in) bharvey lærer Konto Tilmeldt siden 8 år, 8 måneder siden United States
  11. (i) Brian Harvey Datalogi Division University of California i Berkeley
  12. (in) UC Berkeley EECS - CS10: The Beauty and Joy of Computing - Fall 2011
  13. (in) At bringe "No Ceiling" til Scratch: Man kan redde børnene og computerforskere? - B. Harvey og J. Mönig
  14. (in) At bringe "Intet loft" til at skrabe: Man kan redde børnene og computerforskere? - Paper Constructionism 2010, Paris, Brian Harvey & Jens Mönig
  15. "  Adobe lancerer Flash på iOS ... uden Flash - iPhone XS, XR, iPad og Apple Watch: blog og nyheder fra iPhon.fr  " ,11. september 2011(adgang 15. september 2018 )
  16. "  YouTube opgiver Flash til HTML5, Google datterselskab tager springet efter 4 års eksperimenteren  " (adgang September 15, 2018 )
  17. "  Snap! (Byg dine egne blokke) 4.2  ” , på snap.berkeley.edu (adgang 15. september 2018 )
  18. (i) Om Snap, University of California, Berkeley
  19. (in) Spejlwebsteder og minimumversioner af browsere (websted for University of California, Berkeley)
  20. (in) side i fundamentet Logo's historie
  21. (i) iProgrammer Snap! anmeldelse
  22. “  Rids og snap! At starte programmering - Side 2/3 - Matematik - Pædagogik - Académie de Poitiers  ” , på ww2.ac-poitiers.fr (hørt 15. september 2018 )
  23. (da) Kodningsalgoritmer med Snap! - Visuel programmering i gymnasiet
  24. (in) Snap Reference Manual! (PDF 3,4  MB )
  25. http://dm1r.fr/wp-content/uploads/2017/05/Snap-offline.zip
  26. (in) Tilknyttede lister i Snap! (Jens Mönig - PDF 671 KB)
  27. (da) Førsteklasses sprites i Snap! (Jens Mönig - PDF 3,1  MB )
  28. “  Rids og snap! At starte programmering - Side 3/3 - Matematik - Pædagogik - Académie de Poitiers  ” , på ww2.ac-poitiers.fr (konsulteret 15. september 2018 )
  29. "  Jens Mönig  " , på YouTube (adgang 15. september 2018 )
  30. "  Snapin8r2  "djdolphin.github.io (adgang 15. september 2018 )
  31. "  Snapp!  » , På snapp.citilab.eu (adgang 15. september 2018 )