I’ve recently come across a very engaging platform through which children can learn to write computer programs. Little Wizard is an open source application designed to help students in the primary grades learn the concepts that are common in all programming languages, such as variables, loops and conditions. Students can do all this using the mouse. Let’s get up front and personal with Little Wizard.
The interface is WYSIWYG and rather delightful in its use of colorful, engaging images. At the top of the window is a menu bar and below this is a toolbar which, by default, has the Program button already depressed. This is referred to as program view. Below the toolbar is a row of tabs, called the palette. Below this is a row of colorful buttons used for writing computer programs by simply clicking on and dragging program elements represented by the buttons to the program grid below. This is where users write their programs. One really cool feature is that users can easily toggle views of their programs by clicking on buttons on the toolbar. Users can bounce from program view to world view to mixed view. World view presents the world grid which allows users to create and alter the wizard’s world. Mixed view displays both the world grid and the program grid. Integrated tooltips nicely enhance functionality.
So, what kind of programs can you write with Little Wizard? Looking at the tabs in the palette should give you a clue: Wizard, Math, Variables, Conditions and Loops and Other. Each tab has icons, which represent different program elements. Wizard controls functions such as movement of the Little Wizard icon. Math is where you find numbers and their operators. Variables provides the ability to add variables to your program. Conditions and Loops allows for conditions (e.g. if/else statements) and loops (e.g. repeat/until statements) to be placed in a program. Other allows users to assign positions or to prompt for user input. Using these tools, young programmers can make the wizard move, wait for user input or even change his world.
So what happens if you need help getting started? The Little Wizard Web site offers a free tutorial that will guide you through Little Wizard’s interface and to help you learn to use the building blocks of computer programming. Sample programs are provided that give Little Wizard the opportunity to show you what it can do. In no time, users can start developing and bringing to life their own ideas. Now stop reading this and download Little Wizard so you can see what your students will create.
Little Wizard is available for Linux and Microsoft Windows.
Kirillov, K. (n.d.). Little Wizard’s home page: tutorial. GNU General Public License. Retrieved from http://littlewizard.sourceforge.net/tutorial.html.
Kwadrans, M. (n.d.). Little wizard [computer software]. GNU General Public License.
Taking a break from my more traditional topics of STEM and programming, I’d like to put the Arts into the spotlight for a change and talk about Ardour, an open source application that allows users to create audio compositions. Undoubtedly, music teachers out there are familiar with the proprietary, but WYSIWYG software, Accoustica Mixcraft. Ardour is just as WYSIWYG, but, as mentioned above, open source. Let’s take a look at Ardour right now.
Ardour is designed to be suitable for audio engineers, musicians, soundtrack editors and composers, but it should be just as ideal an environment for young composers to create their masterpieces. The interface is very similar to the aforementioned Mixcraft. The Editor Window presents a menu at the top of the screen allowing for ready access to features. Below this, the Transport Menu allows users to navigate (Play, Fast Forward, Loop, Record, etc.) through clips added to the Main Canvas below.
. To the right of the Transport Menu are the Clocks, offering four time formats. Right of the Clocks are the Edit Modes and Cursor Modes controls, which allow users to edit clips. Below this is the aforementioned Main Canvas in which sound and video tracks appear, each with its own track. Each track can then be edited individually. To the left of the Main Canvas is the Editor Mixer, which allows users to control volume and other features using slider controls.
So, what can you do with Ardour? I’d venture to say that you could do just about anything that you could do with Mixcraft. Rather than to compare the two, I’ll focus on Ardour’s features and what can be done with them. First of all, Ardour supports importing of the following audio types: AAIF, BWF, CAF ,FLAC and WAV. In terms of audio exporting, the following formats are supported: AAIF, BWF, CAF, FLAC, Ogg and WAV. Ardour is not just limited to handling sound. Videos can be imported and soundtracks extracted from them. Videos can be displayed frame-by-frame on the Video Timeline for easy editing. Users can add start/stop points to the video as well as blank frames and mix the video with the soundtrack of the current session. An Ardour session can even be run simultaneously on multiple computers.
This all sounds great, but it gets better. There are many plugins available for Ardour that enhance its functionality. These are conveniently handled through the Plugin Manager. Plugins allow users to create various audio or MIDI effects and to generate audio by functioning as “software instruments.” Additionally, although Ardour does not include music/sounds of its own, these can be downloaded from sites like Freesound (see below) and then imported into Ardour.
After reading this, I don’t know why you’re not downloading Ardour right now. Your students may not thank you with words, but their compositions will speak volumes.
Ardour is available for Linux and Apple MacOS.
Thanks to Paul Davis of the Ardour Development Team for permission to use all images included in this article.
Ardour [computer software]. (n.d.). GNU General Public License.
Ardour Manual. (n.d.). GNU General Public License.
Mixcraft 7 vs Ardour -audio editing comparison. (2016). Software Insider: Graphiq, Inc. Retrieved from http://sound-editing.softwareinsider.com/compare/39-169/Acoustica-Mixcraft-7-vs-Ardour.
It’s been almost three years since a wrote a little blurb on an exciting application that allows learners to explore geometry. That application was Dr. Geo and its developers recently, and with much-deserved pride, announced the release of its latest version. With that in mind, I thought that maybe it was time to take an in-depth look at Dr. Geo.
Dr. Geo is an open source application that provides an engaging environment through which school-age learners may explore, and learn about, geometry. So, what can users do with Dr. Geo? Users have the opportunity to work with the building blocks of geometry, including points, line segments and rays. Users can create arcs, circles and polygons. Vectors can be used to accurately assign points. Virtually anything geometric in nature can be created.
What’s even more amazing is that Dr. Geo allows users to bring their creations to life through computer programming. The programming language used in Dr. Geo is the same one used to create Dr. Geo –Smalltalk. Some of my regular readers may remember a blog that I wrote a while back on Pharo, a computer programming environment. Pharo also uses Smalltalk. Smalltalk is an open source object-oriented programming language. This simply means that it focuses on objects and data rather than commands and logic. Portland State University computer science professor Harry H. Porter III (March 24, 2003) describes Smalltalk as “highly efficient, extremely portable, easy to use, and very reliable. But more importantly, Smalltalk is still the most enjoyable language in which to program.” What better tool to employ to introduce learners to computer programming?
As can be seen in the screenshots, Dr. Geo’s interface is very straightforward. All actions can be performed readily via a menu, a toolbar or tabs, all located at the top of the Dr. Geo window. This traditional interface certainly minimizes the learning curve. Even without having used the software, users can jump right in and begin creating. Functionality is also enhanced by tooltips, which provide a quick way to identify tools.
So, what are you waiting for? Your students’ potential as geometricians and computer programmers is waiting to be unleashed.
Dr. Geo is available for Linux, Microsoft Windows and Apple MacOS.
Fernandes. H. (2016). GNU Dr. Geo [computer software]. GNU and MIT General Public Licenses.
Porter III, H.P. (2003). Smalltalk: a white paper overview. Portland OR: Portland State University. Retrieved from http://web.cecs.pdx.edu/~harry/musings/SmalltalkOverview.html#Basic%20OOP%20Concepts%20and%20Terminology.
ExpEYES is a low-cost open source framework of computer hardware and software that provides a means to perform low-cost science experiments using computers. ExpEYES offers formats designed for students from high school on. Let’s take a look at what can be done with ExpEYES.
According to its Web site, ExpEYES is a tool for learning science through exploration and experimentation, It includes integrated an oscilloscope and a signal generator and is powered via USB. ExpEYES offers 12-bit analog resolution, accurate measurements and is physically compact, for easy relocation. The software for ExpEYES is written in Python, an open source programming language. The online manual presents 50 (yes, fifty!) experiments that users can duplicate and, perhaps tha coolest feature of all, others can be easily created and added to the list.
So, from where does this marvel of scientific exploration come? ExpEYES was developed by the PHOENIX project of Inter-University Accelerator Centre (IUAC) of New Delhi. The long-term goal of this project is to make the equipment and methods used in research available to the student community. In science, experiments are performed, data is collected and analyzed. Conclusions drawn. The difference offered by ExpEYEs is the fact that the equipment is affordable.
So, what kind of experiments can a burgeoning scientist perform with ExpEYES? According to the ExpEYES User’s Manual, users can conduct experiments involving electricity, magnetism, electronics, sound, mechanics, optics, heat and computer programming. In terms of electricity, young scientists can perform experiments involving, among many other topics, voltage measurement, water conductivity and AC circuit study. Regarding electricity and magnetism, possible experiments include creating a simple AC generator and making an electromagnet. Some of the other experiments include amplitude and frequency modulation (electronics), sound velocity, using a stroboscope and hardware communication.
As potentially enriching as ExpEYES sounds, it is just one of several open source technology products created as part of the PHOENIX Project. If you’re interested in learning more about this and other opportunities to cultivate the scientists and engineers in your school, you should check out the ExpEYES Web site. Your students will thank you through their creations, if not through their words.
Thanks to Ajith Kumar for his support, the contributions that he provided and for suggested modifications.
ExpEYES is available for Linux and Microsoft Windows. It is available in Canada and the UK.
ExpEYES junior user’s manual: experiments for young engineers and scientists. n.d.). New Delhi: Inter-University Accelerator Centre. GNU General Public License. Retrieved from http://www.iuac.res.in/~elab/expeyes/Documents/eyesj-a4.pdf.
I came across this little gem while perusing the Ubuntu Software Center and decided to give it a shot. Stellarium is an open source, free planetarium that runs right on your computer. To be honest, I was really taken aback by Stellarium’s stunning appearance and visual quality. For one thing, it doesn’t run in a window. It launches into full-screen mode, which beautifully presents the eye-catching graphics. I can discuss this further at another point.
As previously mentioned, Stellarium opens in full screen mode by default. The user finds him or herself looking up at the night sky in the northern hemisphere. Only the major heavenly bodies and cardinal compass points are labeled. The interface is very straightforward. At the bottom of the screen, a panel provides information such as location (Paris, France by default), elevation, Field of View (FOV), Frames Per Second (FPS), date and time. Clicking on a heavenly body brings up information about that body, such as its name, position and distance from Earth. Configuration is handled through two docks/panels called toolbars in the lower left corner. The bottom toolbar, or main toolbar, allows the user to turn visual effects on and off. The side toolbar opens dialog boxes used to configure Stellarium.
So, what does Stellarium have to offer in terms of features? According to the Stellarium Web site, Stellarium includes a default catalog of over 600,000 stars (though additional catalogs containing up to 210 million are available) There are optional connecting lines and/or illustrations (referred to as Constellation Art) that can be toggled to better visualize constellations. Stellarium offers constellations for over 20 cultures and the stories behind those constellations. Views of every planet, and their satellites, are provided. Other features include powerful zoom, multilingual support, time controls, excellent graphics and integrated help.
Arguably, one of Stellarium’s greatest strengths is the level of customization that it offers. First of all, as I mentioned, Paris, France is the default location. Paris is, however, one of hundreds of locations around the world from which users may choose for their session. Additionally, if you’re bored with Earth, you can view the stars from such heavenly bodies as Mars, Saturn or the Moon. One feature that the author thought was pretty cool was being able to toggle the visibility of the ground. Remove the ground and you can view the whole night sky, northern and southern hemispheres, just as if you were in outer space. Other features that can be controlled include equatorial and azumuthal lines, the flow and direction of time and visibility of nebulae. Combine these with the many other features available and you have an incredible platform upon which your students can explore the universe.
Stellarium is available for Linux, Apple MacOS and Microsoft Windows.
Category: User’s guide. (2014). Retrieved from the Stellarium Wiki: http://www.stellarium.org/wiki/index.php/Category:User’s_Guide
While looking for an open source technology to review, I came across WriteType, .an open source word processor geared towards school-age children. I work in special education in a middle school and all too often I hear students lament about having to type out assignments. WriteType through the combination of an accessible interface and valuable features, strives to be a word processor that students can readily use.
Let’s start by checking out the WriteType window, shown in the screenshot at left. As can be seen, the interface is WYSIWYG, offering a menu bar and the top of the window and simple toolbars below this. WriteType offers only the most common word processing features, such as text and paragraph formatting. Features can be quickly and easily utilized via either the menu or the toolbars. Simply put, everything a user needs is here. There are no tabs or complex menus offering features that can confuse new users and into which one could get lost . This functionality is further enhanced by context menus accessed by right-clicking on the text or area in question.
So, what makes WriteType ideal for students? The integration of certain tools takes much of the pain out of writing. One of these tools is word completion. As the screenshot on the right shows, as they type, users are presented with a list of suggested words in the gray field on the right-hand side of the screen. Simply click on the the desired word in the list, or press an indicated function key, and the complete word is inserted into the document. Another useful feature is the fact that WriteType can read back what users have typed, which will help them to catch mistakes prior to proofreading or printing.
If these features aren’t reason enough to give WriteType some serious consideration, other features include auto-correction and grammar checking. Users can also add words to the integrated spelling list. Text highlighting allows users to mark areas of text in need of attention. Distraction-free mode allows users to work without the added distraction of a menu and toolbars. Other customizations include adjusting read-back speed as well as changing the font size of the suggested word list. WriteType also offers multilingual support. WriteType can be readily customized further via the Settings option under the File menu. Documents can be saved in either the native WriteType format (.wtd), as formatted text (.html) or as plain text (.txt)
WriteType is available for Linux, Microsoft Windows and Apple MacOS. WriteType teacher workshops are available for free to schools in the Minneapolis area.
Documentation: a word processor to help students write. (n.d.). GNU General Public License.
Shinn, M. (2010). WriteType [computer software]. GNU General Public License.
Ozark is an object-oriented programming language designed for building software that is readable and reusable. So, what is “object-oriented Programming”? According to TechTarget (2015), object-oriented programming OOP) utilizes a programming language that focuses on objects rather than actions and data rather than logic. In brief, the programmer identifies the objects he or she wants to manipulate and the relationship(s) of these objects, often referred to as data modeling. Each object is categorized and the category determines the type of data assigned to the object. If this sounds confusing, think of a toolbox. Each tool has a specific purpose. Object-oriented programming allows the programmer to define the tools and their purposes.
The philosophy behind Ozark is that of strict code formatting. What this means to users is that there is only one way to do each function. This minimizes error potential. For example, look at a word processor. How many ways are there to perform a task, such as text alignment formatting? At least two methods immediately come to mind. Imagine if there was only one way to do this. You would save much time, as you wouldn’t have to correct mistakes made by invoking the wrong method. Many programming languages work in a similar fashion as there may be more than one way to do something. Choose the wrong one and your program doesn’t work correctly. This scenario is eliminated in Ozark. Strict formatting also means that even if you are unfamiliar with a particular application written in Ozark, you should have little trouble understanding its code.
Ozark is still in its early development stages. In fact, the complier is still under development. However, though you cannot execute programs created in Ozark, you can still write the code, which is great training and practice. For more information about Ozark or how you can help, please check out the Ozone Web Site (link provided below).
All images are from the Ozark Web site and are the property of Finch Software.
Ozark Language – Documentation. (n.d.). San Diego: Finch Software.
What is object-oriented programming? (2015). TechTarget. Retrieved from http://searchsoa.techtarget.com/definition/object-oriented-programming
I want to divert from the educational technology-themed blog that I usually write and talk about a very simple encryption program. If you don’t know what encryption is, you should, especially if you store personal information on a cloud drive. When a file is encrypted, it renders the file unreadable unless you (a) have the software used to encrypt it and (b) have the password, more commonly referred to as an encryption key, that was set when the file was encrypted. It’s not as complex as it sounds and the program I’m going to take a look at does it all for you. To aid with interpretation of this article, the screenshots demonstrate this application’s encryption process, as well as presenting before (at left) and after (below) images of the text document that I am going to encrypt.
Bcrypt is open source, which means that it’s free to use, free to change (with the intent of improving it) and free to share. Bcrypt is available for Linux and Microsoft Windows (32-bit). It runs from the command line (in Linux anyway). I know what you’re thinking. “Oh no! Chris, I’m not a programmer. There’s no way that I can use something so intimidatingly complex.” My response is simply that it’s easy and you can do it.
Once it’s installed (if you’re using a Debian-based Linux distribution like Ubuntu or Linux Mint, open a terminal emulator and type “sudo apt-get install bcrypt” and provide your administrator password and you’re good to go), open a terminal emulator (in Windows, open the PowerShell). To encrypt a file, make sure that you’re in the file’s directory or folder, type “bcrypt filename.xxx” (where “filename.xxx” is that name and extension of your file) and press Enter. You will be prompted for an encryption key. You will be prompted to enter the encryption key again for verification. The file will be encrypted. Bcrypt assigns a .bfe extension to the encrypted file’s name (e.g. “filename.xxx.bfe”), so if you see this, then you know it’s encrypted. Your file can now be stored on a cloud drive without the danger of being the victim of hackers, should the cloud drive ever be compromised. To decrypt a file, open a terminal emulator and simply type “bcrypt filename.xxx.bfe” and press enter. Enter your encryption key when prompted and press Enter. Who said security had to be complicated?
Shelley, J. (2002). Bcrypt [computer software]. Sourceforge.net.
I’d like to focus on computer programming in this installment. Towards this end, I’d like to take a look at Pharo, a software development environment released under the MIT License (similar to GPL, see link below). Pharo provides a graphical way to utilize the Smalltalk programming language, the programming language used to write Dr. Geo, one of my favorite geometry exploration programs.
First of all, Pharo’s development team refers to Pharo as an “immersive programming environment.” What does this mean? Dictionary.com defines immersive as an adjective “noting or pertaining to digital technology or images that deeply involve one’s senses and may create an altered mental state.” Techopedia defines a programming environment as “a collection of procedures and tools for developing, testing and debugging an application or program.” Another name for such an environment is Integrated Development Environment or IDE. What this means is that Pharo provides a graphical interface for Smalltalk that is so intuitive, full-featured and graceful that it allows you to code without getting in the way.
Before I go further, I’d like to share a few things from Pharo’s mission statement. The Pharo team seeks to provide an accessible and innovative free, open source programming environment. These people strive to keep Pharo small, stable and equipped with excellent tools key for software development. Finally, Pharo seeks to foster a healthy ecosystem of contributors who strive to maintain and enhance this application.
Smalltalk is an object-oriented programming language, which, in layman’s terms means that it focuses more on objects and data rather than on commands, or actions, and logic. Keeping this in mind, Pharo is designed to be very straightforward to use and to provide prompt feedback. Pharo also includes an IDE (Integrated Development Environment), from which it draws its simplicity. Furthermore, Pharo offers a high level of diversity through a large library and a set of external applications. Pharo also includes strong support for business use in the form of organizations, such as the Pharo Industrial Consortium and an association of users, the Pharo Association.
I’d like to take a look at Pharo’s interface as this is key to Pharo’s ease of use. How often have you launched a new program with some trepidation, wondering with what will I be presented? How intuitive will the interface be? How long will it take me to figure out how to make this thing do what I need it to do? Arguably, Pharo’s interface, or lack thereof, is not just one of its strengths. It’s also aesthetically appealing. No need for a menu bar or tool bar, as Pharo relies on context-sensitive menus for its functionally. Simply click in the main window to open the World Menu, which is a general menu, from which you can select Workspace. A Workspace is like an artist’s sketchpad upon which you create your application. Once a Workspace has been opened, you can use contextual menus to perform desired tasks.
So, what’s the best thing about Pharo? It could be that it is free to download. It could be the number of free books about Pharo available online. It could also be the extensive support community. I leave it to you, the reader, to download and install Pharo. Then start using it and find out for yourself what you think is the best thing about Pharo.
Pharo is available for Microsoft Windows, Apple MacOS and GNU/Linux.
Thanks to the people at Pharo for permission to use their screenshots for this article.
Black, A.P., Ducasse, S., Nierstrasz, O., Pollet, D., Cassou, D. & Denker, M. (2009). Pharo by example. Switzerland: Square Bracket Associates. Retrieved http://pharobyexample.org/versions/PBE1-2009-10-28.pdf
Immersive. (n.d.). In Dictionary.com. Retrieved from http://dictionary.reference.com/browse/immersive?s=t
Pharo [computer software]. (n.d.). GNU General Public License.
programming environment. (n.d.). Techopedia. Retrieved from https://www.techopedia.com/definition/16376/development-environment