Welcome¶
Thank you for visiting The Loro Project!
We recently started to localize the Loro system to different natural languages but there is still a lot of work to do, even on this website! While we make more progress, please read what this project is about, and come back soon for updates.
About¶
Loro is an open system intended to help beginners learn programming. It uses its own programming language and includes an integrated development environment system focused on first-year students . The language features a "specify, then implement" methodology; you have to specify a task before writing any implementation (algorithm). Specification is an explicit, compilable construction to make a contract between suppliers and clients, and can be implemented in either Loro or Java (via BeanShell). The IDE features support for test-driven developing, syntax highlighting, and automatic HTML documentation generation and visualization.
The Loro Programming System has been designed from the grounds up under the following principles: 1) "program to an interface, not an implementation" (GoF, 1995); 2) Design by Contract; and 3) Test driven development.
Status¶
Recently we started a localization process so the system is now also available in English. Other languages coming next as more contributors join the project.
You can download the last development release Version 0.9pre7 (after downloading, just run this installer program either by double-clicking or from the command line:
java -jar [downloaded-installer]
Screenshots¶
Main project window:
Documentation browser:
Dialog to install projects:
Project properties:
Dialog to export a project:
Projects in Loro¶
Some demo projects you can easily install from within LoroEDI with just a click! (still too few, but maybe you will be willing to share your own creations).
Learning/Teaching programming?¶
Links you may find useful.
For learners¶
- Teach Yourself Programming in Ten Years
- DrJava - A lightweight development environment for writing Java programs.
- Bluej - an integrated Java environment specifically designed for introductory teaching.
- JJ: A Language Designed for Beginners (Less Is More) - an online Java educational environment.
For teachers¶
- Concepts, Techniques, and Models of Computer Programming (highly recommended)
- Programming as an Engineering Discipline
- Test Driven Development
- Teaching Semantic Aspects of OOP
- How to Design Programs: An Introduction to Computing and Programming
- Functional and Declarative Programming in Education
- DrScheme: A Pedagogic Programming Environment for Scheme
- JUnit Test Infected: Programmers Love Writing Tests
- Objecting to Objects
- Exploring Didactic Models for Programming
- Testing for programmers
- An Overview of MiniJava
Development¶
Want to contribute?¶
Let us know! Choose one of the mailing lists, or drop me an email at carueda-at-users-sf-net if you prefer.
Links¶
More links
(some interesting/intriguing notes, quotes, articles ... )
- Structured programming in Java. "it is better to use a ‘why’ approach to teaching programming than a ‘how’ approach."