Posters are available free to download which can be used in the class room to stimulate questions and inquiry into different programming languages, their syntax, semantics and features.
What is Fizz Buzz?
The algorithm used on the posters is the game Fizz Buzz. For more information, please see the page about Fizz Buzz.
How to use these posters
These posters can be used for many different things:
- Stimulate discussion about programming languages in the class room.
- Students can look at the posters and see examples of different programming languages.
- The posters can be used as a starting point for further research and inquiry learning.
- The algorithm fizz buzz can be used as a teaching tool for algorithmic thinking.
Discussing Programming Languages
There are a multitude of different programming languages in the world, and more are being created every day. It is important that people understand that there are many ways of achieving the same goal, and the inherent biases in the tools and languages they choose.
Languages differ in many key ways: syntax (the way a language is written down and interpreted), semantics (the way in which ideas are expressed and verified) and implementation (the way a program is executed or combined with other tools).
The posters are a good starting point for evaluating and discussing these issues. One option is to have students evaluate each poster, and then pick a poster they like, based on the above qualities. Have the students form small groups based on their choice, and research the benefits and weaknesses of their particular choice.
Algorithmic Thinking
Often in programming, we have to read code which we did not write. Sometimes this is not even in a language that we are familiar with. This is an important skill and also helps us to appreciate the way in which we think and express our ideas.
The posters all express the same game fizz buzz, which in many cases is a game that students will have not come across. Have the students divide up into even groups and assign them a poster each. Have them read the poster and do their best to come up with an explanation for how the game works.
The key to this problem is that most programming languages usually have a formal syntax and semantic which is cohesive and systematic. Systematic thinking is an important part of programming and computer science.
Once each group has come up with an explanation, have all the students play the game, with each student using their own understanding of the algorithm. If there is a dispute in the rules, the person must refer to their groups poster to clarify what rule has been broken.
Inquiry Learning
There are many problems people are trying to solve in the world. Many of these have roots in computer science, or use computer science as a tool for improved accuracy, speed and storage. Exposure to a wide range of different syntax and language paradigms gives students a better foundation for solving problems.
Each poster has a link to this website where further resources and research material can be found. This can be used as an educational tool for learning about programming in a particular language, or in a situation where a student is evaluating several languages / frameworks for solving a particular problem.
How were these posters made?
Several software tools and resources were used to produce these posters:
- Adobe Illustrator.
- Pygments.org was used to suggest syntax highlighting.
- jQuery.Syntax was used to highlight the code.
- OmniGraffle was used to design and author the actual posters.
RosettaCode.org was used as a starting point for code examples.