Programming for the L/S Company (A Software Engineering Simulation)



Résumé, summary

The software engineering simulation, Programming for the L/S Company, is designed to provide students with the opportunity to create an original software package through all phases of the development cycle. It also provides the structure by which students can integrate a wide range of computing tools and skills in one major project of their own choosing. The students enjoy being "employed" by a software company and the challenge of creating product with real significance.

Discipline, subject :

info. scol. et prof. Schul- und Berufsinformation further studies information inform. scolastica e profess. informatique Informatik computing/computer science informatica computing computer science techniques industrielles Industrietechnik industrial techniques tecniche industriali

Public :

postobligatoire Weiterführende Schulen upper high school postobligatorio université Universität university universita`

Contacts :

Stefanics, Barbara

Vienna International School, Strasse des Menschenrechte 1

Tel : 01 23 55 95
Mail : IT0051 (AppleLINK)
Fax :

Pédagogie, pedagogy :

During the second semester of an introductory programming course in Pascal, the students participate in a 7-8 week simulation in software engineering. They are employed by the L/S Company (named for the two teachers Locke and Stefanics who "own" the company). The students are instructed to develop a complete software package for the company. The project may be of their own choice as long as it has value to some target audience. The final project may be any type of software: learning software, game, simulation, commercial tool, etc. Most important of all-it should be something that has an audience and that the student will enjoy developing over the 7-8 weeks.

Apprentissage, learning :

The purpose of the simulation is to provide the opportunity for students to create an original software package using a programming language and simulate the software engineering cycle. Each student is required to create both the complete programmers documentation and the final end-user package with user manual. In the simulation it is explained to the students that the L/S company is a rather small company and each person must be completely responsible for one product rather than having teams of students work together. The simulation provides an opportunity for the students to review their use of computer tools and to use a programming language to create an original project of their own choosing.

Enseignement, teaching :

The students after completing the first semester of a programming course, usually do not have the confidence that they can really use their programming skills for a "real" purpose. By creating a simulation where each person is responsible for developing one product for the imaginary company from the class, the students experience a tremendous sense of accomplishment. At the conclusion of the simulation, the students feel that this is the best project which they have ever done. It is also difficult to teach students about the ethical responsibility in using software and why companies have copyright laws, warranty cards and registrations. At the conclusion of this project, the copyright agreements written by the individual students in their software packages are stricter than that of most companies.

Technique :

It is important for students to have adequate access to computers. During the class period, there must be a computer for each student. The students should also be able to use the computer lab during unassigned periods, lunch time or after school.

Société, society :

Even though each student develops his own individual project, there is a great deal of discussion among the students as they encounter various problems. The students also have a great appreciation for the success of the other students' projects and enjoy "beta" testing each others programs. Many of the students strive to create a program good enough for distribution as either shareware or public domain on an electronic bulletin board system

Culture :

As the project progresses the students seem to take on the roles of "real" programmers. They discuss the design, user interface and making their programs user-friendly. The user manual, the packaging, and the labels for the diskettes are quite attractive and "professional" in overall appearance.

Institution :

In order to insure the success of each student, the "salary" is "paid" in points for the various components in the programmer's documentation and the user manual. The point distribution is also established in such a way that the students know exactly how many points each component is worth and that every student has the chance to achieve a top score if they work hard. There is a strict timeline for the project with the draft of a component due each week. Points are also awarded for meeting the deadlines. This corresponds to receiving a weekly "salary" and insures that no student gets behind in their project. The students are also provided with adequate opportunity to look at the contents and packaging of a wide range of commercial packages. Discussions in class are centered around the various aspects of the project. Examples include: the need for good programmer's documentation, the purpose of copyright and sample copyright agreements, warranties and registration cards.

Logistique :

The students should be familiar with fundamental computing tools such as word processing, desktop publishing, screen shots, and graphics. This simulation is most successful after studying a semester of programming in Pascal. The simulation requires the adequate access to computer hardware and time allocation to complete the program (7-8 weeks recommended). The students must also have a detailed outline of the expectations of the project, the deadlines and how the points will be distributed at the beginning of the simulation.

Remarques, remarks :

The software engineering simulation is a most successful and personally gratifying programming experience for students. All students develop more confidence in using their computing and programming skills and in developing a project of significant proportion as a part of their high school studies. The students often regard this project as the "best piece of work" that they have done to date.