Google
 
Site navigation: [ Home | Theory | Java | Moodle courses | Resource wiki | About ]

Standard Level Dossier Projects

SL1 Triangles
A system is required that will allow a user to 'solve a triangle'. The user will be able to enter data in three different ways and the program will find the missing parts. The student can enter:

1. The three sides of the triangle
2. Two sides and their included angle
3. Two angles and their included side.

The system will then find the missing angles and sides for the given triangle. The system may also classify the triangle as scalene, isosceles or equilateral and acute, obtuse or right.

The person running the program should have the option of trying as many triangles as desired. File usage could to be added for IB requirements. Programmer defined functions (methods with return values) are strong possibilities here.


SL2 Sales by Area
A user in a small company wants to track sales of items by area sold (or perhaps by product type, salesperson, area of delivery etc). The company could store monthly sales figures for each area, person or type. Any of these that has sales over (or under) a certain amount in a particular month is given special recognition.

Your program could let the manager see:

1. the total sales figure for the company for all months (so far)
2. the total sales figures for all areas individually
3. the average sales figure for a given month
4. a list of the area that earned special recognition (and the month it was earned).

You can add other options, such as allowing the manager to find which area was the most/least productive during a chosen month. Determine which month yielded the poorest sales figures for the company. The input (for the new programme first submissions in 2006) could be in the form of an input file, from a database or even network stream. Output could be to a file or the monitor, whichever makes sense. The program could build and manipulate data files, search for data to be stored in a linked list as extensions for HL.

SL3 Inventory Management
A store that sells cards, stationary, art supplies etc. stores information pertaining to their inventory a manual system. A record is kept for each product that they sell in a master book. The record of a product needs to be defined by the user. The master records are updated by various means. For example, stock level, monthly total sold (MTD)and Yearly Total Sold (YTD) are all updated when an item is sold. Likewise stock level is increased whenever a shipment comes in.

You are to design a solution that will allow a user all or some of:

1. Product maintenance:
The user should be able to insert new products.
The user should be able to indicate that a product has been discontinued.
2. List Reports
The user should be able to get an ordered list of the products showing their number, description, cost, sell price, percentage markup, MTD_sold and YTD_sold.
The user should be able to produce a reorder report showing which products need to be reordered (base on the reorder point and on hand)
3. Inquiry
The user should be able to enter a product number in order to find out the supplier.
The user may not know a product number and instead, may enter the description (or part of the description). After doing so, they will see the corresponding project number, the full description and the supplier. Note: You may get more than one response when partial descriptions are entered.

SL4 Maths Skills
Develop a system that will be used to provide computer assisted instruction in the operations of addition, subtraction, multiplication and division. More than one level of difficulty should be offered. A GUI or console-based system maybe appropriate for users of various ages - identify user requirements first.

A possible format would be for the computer to ask the student a number of questions, tell them their score and record their result for the teacher's benefit. This is just a suggestion. The format of your solution is for you to decide. Remember that results will need to be stored in files, though.

SL5 A Quiz Applet
An Applet for a web page. Constructed using AWT or Swing GUI objects such as radio buttons, check boxes, text fields. Questions are built into the code (but not visible to the user, of course). Can 10 masteries be achieved? Remember to find out if you are submitting in 2004/2005 (old style dossier) or 2006 or later (new srtyle dossier) - it makes a big difference.

SL6 Steady State Potential Flow Simulator
This program is an attempt to use a computer to simulate real-life events such as flow of water or gas around obstacles. It's for serious mathematicians as you will probably need to use partial-differential equations to work out the flow vectors. Or you can take them from a good book. You will probably want to modify algorithms which are described in the literature - be sure to give proper references.

Users might be car designers or anyone else that wants to design objects that move through air or water. The simplest approach is to produce grid's of numbers representing flow velocity and directions - the velocities might be contoured by hand or hand-drawn arrows derived. If you have more time, you could try producing flow lines yourself but this could be too time-consuming.

This program could demonstrate a part played by computers in scientific research. Start with simple objects!

SL7 Story/poem frameworks
The program attempts to create a String of related sentences such as might be used in helping a child create a story or poem. The user selects nouns, verbs and adjectives based on some form (or many forms) of classification (emotions, situations, places). The program then generates a sequence of sentences to start the writer thinking.

SL8 POS Terminal
A program to simulate a checkout in a shop. A code (representing bar code) is entered, details found in file and total cost/receipt produced.

Comments
Can be extended for HL to allow "shop" to update goods' file (add/delete/modify, e.g. price) and even a suppliers' file to produce reorder letters automatically when stock levels fall below reorder level.

SL9 Hospital Records
Hospital records. General file handling (add/delete/amend/view records) geared towards medical use. Can be extended to allocate patients to wards/operations depending on need/space.

This type of project is good for students who are having difficulty choosing or who are not confident in their abilities. Easily extended to dentists, car sales, music shops, sporting goods, portable address books, Mum's recipes and the like.

SL1O Graphic Interpreter
Create your own computer language for doing specific graphic tasks for a user. You must then write an interpreter which executes programs written in this language, a so-called "script" language, as commonly employed in CAD systems.

An example script might be:

CLEAR
CIRCLE 100 300 50
FILL 100 300 RED
WAITFORKEY

The script is written in a text-file. The program "interprets" the commands and draws the appropriate pictures. Command lines must be parsed by using standard string operations. Parameters are read and converted from strings to numerical variables. The inclusion of variables in the script language presents a fairly difficult problem, as does the creation of looping or decision structures.

It is a good idea to have lines that can be ignored (comment lines) in your script files too.

Other Comments
It is an excellent program to work on strings, text files. It also leads to discussions of basic concepts such as syntax, parameters, variables and looping structures. Creating a loop command in your own language is a pretty good thinking exercise for young students. It is a good project to encourage good "design" of a problem solution. It allows for a good deal of creativity. For example, what are the most useful commands? Students usually suggest very interesting, high-level commands such as FADE, EXPLODE, GROW, SPIN If you have an appropriate CAD program available, the students might want to study it's script language and work on improvements.

Less graphic-intensive but similar problems might be a simple charting language which can draw histograms (bar charts) and pie charts from a data file - if you can't do the graphics or don't have time consider generating the output on a console using asterisks or other characters.

SL12 Club
Small clubs - like health clubs, tennis clubs, social services groups or even some departments in your school, often need to keep details of members and perhaps payments of subscriptions. They may want to send emails or e-zines or even traditional newsletters.

The exact nature of the solution here would depend on interviewing the user and analysing their requirements. As finding a user can be a big part of the problem for the new programme for first exams in 2006, looking around your local neighbourhood or school can be helpful in identifying suitable problems.

SL13 Directions
How do you represent a map in the computer? It could be a map of your school, shopping mall or local town centre. Can you then store information about links between places identified on the map? Can you extend this to producing directions for people going from reception to room 207, say? I know a map is an excellent solution to the problem but you can't always represent different floors (for example) easily on maps.

You would almost certainly want to structure a data file for this and provide methods for adding, editing and removing link information. As with many problems, start small and develop it further if you have time.

SL14 Game of Life
This concerns a number of 'cells' arranged in a 2 dimensional grid. Each cell is in one of two state, alive or dead. The system evolves by iteration. At each iteration the state of each cell is recalculated, according to the state of its 8 immediate neighbours.

The rules are:
If cell alive, stays alive if 2 or 3 neighbours are alive, otherwise dead If cell dead, comes alive if 3 neighbours are alive, otherwise dead.

This and other equivalent problems (2 dimensional grid, state determined by state of immediate neighbours) is well documented in: 'The Armchair Universe' by A K Dewdney pub: FREEMAN, ISBN 0 7167 1939 8.

This is another example of simulation in computer science and could be adapted for use in population studies - be sure to carefully identify what a real user would want.

SL15 A Source File Compressor
A person wants to be able to transport program source files in as small a storage space as possible. A simple start would be to strip all of the comments from a source file. Other techniques might include checking for extra spaces (stripping out all the indentation for example). Many languages would support multiple statements on a single line. You can really mess up a decent program listing this way! A good idea is to write a new file rather than to re-write the original.

More advanced techniques might include having a "tokeniser" which replaces all the keywords with a single character token (using the extended character ser for example). A "de-tokeniser" or "decompressor" could also be written.

Back to top

You could print these out and give them to your students to comment on each one.

Some of these topics are taken or adapted from the 1995 Subject Guide published by IBO (ie two programmes ago). For the current programme, each dossier problem needs a real-world user - how might you adapt these problems to such a user?


The site is partly financed by advertising revenue, partly by online teaching activities and partly by donations. If you or your organisation feel these resouces have been useful to you, please consider a donation, $9.95 is suggested.


Questions or problems related to this web site should be addressed to Richard Jones who asserts his right to be identified as the author and owner of these materials - unless otherwise indicated. Please feel free to use the material presented here and to create links to it for non-commercial purposes; an acknowledgement of the source is required by the Creative Commons licence. Use of materials from this site is conditional upon your having read the additional terms of use on the about page and the Creative Commons Licence. View privacy policy.

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.

© 2001 - 2007 Richard Jones, PO BOX 246, Cambridge, New Zealand; This page was last modified on May 31, 2009