Free Software Foundation!

Join now


From Free Software Directory
Jump to: navigation,

Broaden your selection: Category/Education

Category/Education Search icon.png

programming (26)

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.

BASM is a user friendly and easy to use assembler for The Basic Computer, capable of creating the object, list and hex file and giving detailed error reports. It's more of academic use for students who wish to understand how does The Basic Computer actually work.

Blockly is a web-based, graphical programming editor. Users can drag blocks together to build an application. No typing required.

C Programming
C is the most commonly used programming language for writing operating systems. Unix was the first operating system written in C. Later Microsoft Windows, Mac OS X, and GNU/Linux were all written in C. Not only is C the language of operating systems, it is the precursor and inspiration for almost all of the most popular high-level languages available today. In fact, Perl, PHP, and Python are all written in C.

Dive Into Python 3
Dive Into Python 3 is the successor to Mark Pilgrim's Dive Into Python, a popular book for learning programming with Python 2.x. It has been adapted to Python 3.x, and contains about 20% revised and 80% new material.

Dr. geo Heckert gnu.small.png
Dr. Geo, a libre software to design & manipulate interactive geometric sketches with constraints.

Dr. Geo aim is to be an open, easy to study, modify and extend interactive geometry software. It is distributed with its source code you can modify while using it. Ten years old kids use Dr. Geo to explore Euclidean geometric sketch, agile kids extend and program it with its embedded dynamic Smalltalk language and user interface.

Just like other interactive geometry software such as Cabri, Cinderella, Geogebra, Carmetal, with Dr. Geo the user creates a geometric sketch and manipulates it according to its constraints. What sets Dr.Geo apart from the other geometry software is the possibility of studying and even modifying/extending its source code while s/he is using it to create a figure.

All in all, its philosophy is also to empower the user with direct access to the Dr. Geo arcane and programming. For example, with script, one can build a geometric sketch to compute the slope at an arbitrary location of a given curve. Or the user can describe a recursive curve with Smalltalk programmed sketch.

It is distributed as an universal portable application: you can install it in a usb stick and run it anywhere: Dr. Geo is Modify-me Ready! But don't be afraid, if you only want to design interactive sketch, Dr. Geo is intuitive and easy to use.

It is also tablet ready for both Android and iPad.

Eloquent JavaScript
Eloquent JavaScript is a book providing an introduction to the JavaScript programming language and programming in general.

Fire★ is a a simple platform for decentralized communication and computation. Provides a simple application platform for developing p2p applications and share these applications with others in a chat like user interface.

You don't send a message to someone, you send an program, which can have rich content. All programs are wired up together automatically providing distributed communication, either through text, images, or games.

The source code to all applications is available immediately to instantly clone and modify.

Guido von Robot
Guido van Robot (GvR) is a minimalistic programming language that provides just enough syntax to help students learn the concepts of sequencing, conditional branching, looping, and procedural abstraction. Its biggest strength is that it permits this learning in an environment that combines the thrill of problem-solving with instant visual feedback.

… further results

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.

Personal tools