This web site is a virtual laboratory for programming practice. It contains a collection of programming problems and an automatic grader (judge) for these problems. Two main uses are possible:

The term "FLOP" is just an acronym, that stands for "A Free Laboratory Of Programming". No other meaning has FLOP. If we would like note some words to describe it, we could cite these: laboratory of programming, open, free, light, easy to access and use... We wish add also others: useful, fun, attractive, enjoy, learn, etc.

Practise with FLOP, now

Go into the area of practises and choose a problem within the available ones. Design a program as a solution, with your favourite programming language, and upload it. FLOP will grade it instantly.

If it is the first time you are using an automatic program grader, maybe useful to review this little help page.

About the problems

The problems have been carefully prepared following the standard template of the most popular programming contests (ACM, ICPC, USACO, PKU, etc.) But our problems are not contest ones, suitable only for brilliant students, but they cover the typical difficult levels (from trivial to very difficult ones) that appear in the usual programming learning. Problems are organized in different blocks:

  1. Introduction to programming
    1. Expressions with basic data
    2. Control instructions: selection, iteration
    3. Subprograms. Recursion.
    4. Basic data structures: arrays, records, etc.
  2. Data Structures and algorithms (in development)

In every block there are five levels of difficulty: trivial, easy, medium, hard and very hard.

Some of the problems stated here are partially or fully solved in the following book, that is now open and free, available here:

FLOP is open

FLOP is a web service running under Apache Tomcat, and the judge itself is a program writen in C. Both have GPL license. Thus, any person interested in virtual laboratories or checking programs automatically will be able to download the system and use it, or modify it to fit their needs. The installer and instructions can be download from here.

The collection of problems is also available to the community. Because of its potentially sensitive content, an e-mail motivating the request should be sent to obtain the collection.