Difference between revisions of "Category/Education"
(inserting Category-page template -- User:jgay)
|Line 1:||Line 1:|
Latest revision as of 13:25, 6 July 2011
Broaden your selection:
- 3dpl GE
- 3dpl GE the 3D Programming Language Gaming Environment, is mainly a learning tool for novice programmers and children. Aiming at reintroducing the concept of coding to computers the way we used to have BASIC on older systems, but this is 3D, it also features a Modeling tool which is similar to Minecraft, the models can then be programmed to do anything you want. This is a full featured language so it can be used for other applications such as CAD and just for playing games made in 3dpl. It is also real-time interpreted.
- AKFAvatar is a fancy graphical user interface for applications, where an avatar appears on the screen and tells things to the user via a speech bubble. There can also be recorded audio files, so that the user even can hear what it is saying. It can be used for infotainment systems.
With AKFAvatar you can easily write cross platform applications in Lua. Lua scripts don't even need to be compiled for the target platform. It has an interface for C programs. Furthermore there is a binding for Free Pascal.
- Learn how to program shell scripts using bash, the command interpreter from the GNU project. Start from the basics and become and advanced programmer.
- A combination of Portal and Sokoban, AdaGate is a great example of OpenGL programming using the Ada language. It is F.O.S., of course.
While exploring a remote south-seas island you make a startling historical discovery. But before you can report your findings, an operational stargate transports you into a curious sequence of dungeons. Your escape will require the logical rearrangement of weird power cells, called Zero Point Modules (ZPMs), that can roll in only two directions.
You can shoot your portal guns at the dungeon walls to define a wormhole. But, in order to activate it, all of the ZPMs must be bumped into their sockets. Now, you can only PUSH the ZPMs. That means you will fail if you roll one into a corner or against a wall.
Escape each level and find your way back to a beautiful lake on the surface.
The degree of difficulty is now selectable. Each game resumes at the beach but progress from previous games is tracked. Complete all 4 levels to access the lake epilog and reset the game.
Uses fully modern OpenGL methods in Ada using textures, shaders and uniforms that achieves version 3.3 core profile contexts in a way that is sufficiently mainstream that it easily compiles and runs on both GNU/Linux and Mac OS-X systems. This project serves as a testbed for learning the complexities of modern OpenGL and GLSL.
Absolutely no coding efforts or compromises have been made to accomodate proprietary operating systems except for learning how to compile on OS-X. It relies on a thin SDL2 binding from Dan Vazquez, a thin OpenGL binding from "Lumen", a PNG reader by Stephen Sanguine, and SFML-Audio.
If one defines "modern" OpenGL to mean version 3.3 or beyond, then this may be the most functionally advanced demonstration of "modern" OpenGL using Ada to be found. The code itself is far from elegant, but serves as a working example, with focus on learning OpenGL. The Ada bindings used are thin, so the relationship to C++ methodology is quite transparent. Developers should note that these Ada bindings are usable as a standalone library for most any OpenGL project.
Media Files Note: The particular choices of sound, image, and shader files (*.fs) delivered are not essential to the function of the game and are easily replaced. This software is primarily intended as a tutorial example of modern OpenGL game assembly methods. The only requirements are that sounds be in WAV format, images be in PNG format, and shaders be updated to GLSL 330 specifications.
- 'Aetherspace' is a project to produce multiplayer game that blends several different game genres. It is being developed by gamers as a way to learn programming. These games are currently under development and, while fun to look at, are not considered playable yet.
Aetherspace has been decommissioned, as it never came to fruition.
- Agecalc is a utillity that can be used to calculate dates since birth, what day a person was born, days since last/to next birthday and other data.
- Think of a radio station. Airtime is software that allows multiple people to run it over the internet. Airtime helps them manage the audio archive, upload files, create shows, manage staff, edit the programme calendar and cue playout. Designed specifically for independent media, it's free software.
- Anki is a flashcard program which makes remembering things easy. Because it is a lot more efficient than traditional study methods, you can either greatly decrease your time spent studying, or greatly increase the amount you learn.
Anyone who needs to remember things in their daily life can benefit from Anki. Since it is content-agnostic and supports images, audio, videos and scientific markup (via LaTeX), the possibilities are endless. For example:
- learning a language - studying for medical and law exams - memorizing people's names and faces - brushing up on geography - mastering long poems - even practicing guitar chords!
- asciinema player is a terminal session player written in ClojureScript. Contrary to other "video" players asciinema player doesn't play heavy-weight video files (.mp4, .webm etc) but instead it plays light-weight terminal session files called asciicasts (simple .json files).
Asciicast is a capture of terminal's raw output and thus the player comes with its own terminal emulator based on Paul Williams' parser for ANSI-compatible video terminals. It covers only the display part of the emulation as this is what the player is about (input is handled by your terminal+shell at the time of recording anyway) and its handling of escape sequences is fully compatible with most modern terminal emulators like xterm, Gnome Terminal, iTerm, mosh etc.
You can see the player in action on asciinema.org.
You can also host the player and the recordings yourself.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.
The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.