Home

Products
  BOOT.SYS
  Champ
  Clip

Contact us

Friends

Other useful links

Champ Logo

The Perfect Tool for Educational and Scientific Programming

Easy to Use...

We set out to create a C++ programming environment that is so easy to learn that High School students can write and understand their first Windows program in their very first programming lesson. After three years of development, trials, and tuning, it's finally here: the Champ Class Library.

Our student's first programming assignment is this:

Write a program that draws 5 steps.

Here's the result:

5 Steps Image

And here's the program:

#define GLOBAL_TURTLE
#include <champ.h>

void gmain()
{
   ginit("My First Program");
   repeat ( 5 )
   {
      forward(20);
      right(90);
      forward(20);
      left(90);
   }
} 

This is our version of the famous "Hello, world!" program. Of course, beginning students can't write this little program all by themselves yet; we show it to them and have them type it in. And, the important part, we explain it to them line by line, and they can fully understand it in their very first programming lesson.

In the subsequent lessons we introduce our students to object-oriented programming, starting out with interesting predefined objects: the Object Turtles. From there we take them through the fundamentals of OOP (encapsulation, inheritance, and polymorphism) in 30 lessons.

... Powerful...

We didn't stop there — our users asked for more and we were happy to oblige:

  • Multiple windows, with automatic redraw capability
  • Graphics primitives including line drawing, styles, colors, filling; full font support; pixel and floating point coordinates
  • High-resolution printer output, simply by replacing ginit() with pinit()
  • Turtle graphics with full LOGO command set, multiple turtles
  • Fully-integrated complete on-line help, like the compiler's library documentation
  • Windows menus
  • Windows modal and modeless dialogs, compatible with Resource Workshop; ready-to-use input dialogs with validation for all standard data types
  • VBX 1.0 custom control support
  • Text window, supporting character-based I/O (cin, cout, getch, etc.)
  • Low-level classes for easy access to the hardware: COMx, LPTx, and timers
  • Support for bitmaps and sprite animation
  • Simple container class templates: list, stack, queue, etc.
  • Complete printable documentation

... the Perfect Tool for You!

Champ is well-suited for writing graphical and real-time applications, simulations, etc. It does not require any knowledge of Windows API calls or message processing.

Most Windows programming environments available today fall in two categories: either they're designed for professional programmers who can tackle a steep learning curve, or they advocate a visual approach to software development, where you interactively design a user interface and add some glue by setting properties. The latter can yield impressive results in a very short time, but they work well only for certain types of applications, and they're not suited for teaching programming as part of a general education.

Champ is the perfect tool for you if you:

  • teach programming
  • want to learn a real programming language
  • need a framework for trying out third-party libraries
  • occasionally want to write small programs, especially with graphics
  • used to write DOS programs but haven't stepped up to Windows yet
  • ...

End of Life

2014-10-24 — Champ was developed as a pure Windows library. Champ applications are still running under Windows 7 (in XP mode), but the development tools aren't, and they are not even on the market anymore. Also, trends come and go, and while we still love the C++ language for professional work, the educational community has turned to other languages, such as Python. The legacy of our teaching approach with easy-to-use graphics, including first-person turtle graphics, lives on in TigerPython – please go and take a look!

Thank you for your interest in Champ!

Copyright © 2011 Salvisberg Software & Consulting. All rights reserved.
Top