background preloader

Scratch for Budding Computer Scientists:

Scratch for Budding Computer Scientists:
by David J. Malan <malan@post.harvard.edu> Table of Contents IntroductionStatementsBoolean ExpressionsConditionsLoopsVariablesThreadsEventsOscartimeOscartime's Instructions SpriteOscartime's Trash SpriteOscartime's Oscar SpriteConclusion Introduction Most programming languages, on first glance, "look like Greek" to the untrained eye, an amalgam of English and unusual syntax. class Hello { public static void main(String [] args) { System.out.println("hello, world!") All the program above does, when executed, is display "hello, world!" Suffice it to say that, when it comes to learning to program, there's quite a learning curve with languages like Java. Learning to program is ultimately about learning to think logically and to approach problems methodically. For many students, the seemingly cryptic syntax of languages like Java tends to get in the way of mastery of such relatively simple constructs as these. We turn our attention first to statements. Statements Boolean Expressions Conditions Loops

Home page | Scratch Problem Solving & Critical Thinking with Scratch 21st Century Skills Addressed Using Scratch from MIT Students across the world are using computers to develop a host of twenty-first century skills. One of the tools being deployed in classrooms and in after school computer clubs is Scratch, from the Lifelong Kindergarten Group at the MIT Media Lab in Cambridge, Massachusetts. Specifically, Scratch is a media creation tool which allows students to easily create animations, stories, and interactive games. At its core, Scratch is a programming environment which sidesteps learning the syntax required in programming by using Lego-like blocks. This constructionist approach in learning supports critical thinking and problem solving through the creative process when students create, enhance, or troubleshoot their projects. Scratch is learning through Design, Interests, Collaboration, & Reflection It was Dr. To teach problem solving, we need to give kids authentic problems to solve that reach across multiple school subjects or disciplines.

Les enseignant(e)s sont formidables n°13 : Scratch Lancement le 18 avril 2013 de la catégorie Les enseignant(e)s sont formidables Si vous aussi vous trouvez l'idée et le projet intéressant et souhaitez participer. Utilisation à différents niveaux : Scratch est un langage dynamique qui permet de modifier le code du programme en cours d’exécution. Orienté multimédia pour une initiation des élèves à l’univers informatique, il appréhende avec une grande facilité les concepts de base de la programmation (boucles, tests, affectations de variables), et surtout ceux de la manipulation des objets, des sons et des vidéos. Le code est directement inscrit dans la langue maternelle de l’enfant (une vingtaine de langues européennes est disponible) sous forme de briques de couleurs (par exemple les contrôles en jaune, les variables en rouge, les mouvements en bleu, etc.). A l'école, les compétences travaillées avec Scratch, résolution de problèmes, les nombres, la géométrie, les mesures et les sciences.

Chirp: Scratch2Exe Scratch2Exe lets you deploy a Scratch Project as a stand-alone exe-file for Windows, optionally specifying your own custom icon. The resulting exe-file doesn't need Scratch or Chirp to be installed. The embedded code of your Scratch Project in the exe-file will not be visible or editable. Usage After installing Scratch2Exe Double click on the Scratch2Exe Icon on you DesktopChoose a Source Scratch ProjectChoose an Icon File (optional, cancel to use the default icon)Wait for a folder to open showing an exe-file by the name of your Scratch Project How it works Scratch2Exe is not a real compiler. Known and expected problems The exe-file may take a very long time to load. Even though you will normally not be able to see or edit the Scratch code embedded in the exe-file, the embedded Scratch project is not really protected against unwanted retrieval. So, what is it good for? ...back to top

Learn to Teach , Teach to Learn / Computer Programming with Scratch What is Computer Programming? Writing computer programs means writing instructions, that will make the computer follow and run a program based on those instructions. The process includes designing, writing, testing, debugging/troubleshooting , and maintaining code. What is Scratch? A teaching tool developed by the MIT Media Lab LifeLong Kindergarten Group that allows people to learn the basics of computer programming using pictures as building blocks rather than needing to know the actual code -- a graphical interface Here is a really nice tutorial on getting started with Scratch: Bouncy Bounce Beginning Scratch Lesson Plan.doc Bouncy Bounce Beginning Scratch Lesson Plan.pdf Bouncy Bounce Acitivity Brochure.doc Bouncy Bounce Acitivity Ideas Brochure.pdf Go Go Graph.xlsx Examples Donna's example example from youth age 11, she didn't quite get to finish it before her dad picked her up Video with a nice teaching idea for beginning Scratch:

Functional Programming and Category Theory [Part 1] - Categories and Functors – Nikolay Grozev In category theory, a Functor F is a transformation between two categories A and B. We write F : A → B. F must map every object and arrow from A to B. In other words, if a ∈ ob(A) then F(a) ∈ ob(B), and if f ∈ Hom(A) then F(f) ∈ Hom(B). We also require that F preserves the structure (i.e. identity arrows and composition) of the source category. When a functor F transforms a category A into itself, we call it an endofunctor and we write F:A → A. Functors in FP Before we delve into Functors and FP, we need to introduce the concept of a type constructor. Functors in Category Theory are a much more general concept than in functional programming (FP). In order to define a functor, we also need to define the arrow mapping. To summarise, a functor in FP is uniquely defined by a type constructor TC[ _ ] and a map function with the aforementioned signature. Functors in code Following the previous definitions, in Scala a functor can be defined as: Note that the return type of map is a function.

CS110 - Lab 1 CS110 Computing Principles Lab 1 Broadcast, Animations, and Music! Learning Goals Get comfortable with the Snap user interface. Learn to use Broadcast blocks to communicate between sprites and make a movie. Get experience debugging using single-step. Resources Lab Work User Interface Detective Work Welcome to Snap Let's open up Snap! You will see a screen like the one shown below. For the rest of the lab I have changed the sprite costume to be the animal Scratch_Cat.png Make a Sprite sing! For your first project, make a quick song! While you are working on it, try to figure out how to connect and disconnect blocks, and how to remove a piece from inside a long script. and Hint: Try to use many copies of one of the blocks in a row, and hear the result. There are two options to save your projects On your own computer you can just save to the browser, but then you will not have access in the OTS lab In the lab you must save your project "in the cloud" at the Snap! Some Starting Snap Lingo Snap Lingo

Related: