Design a CD Player

Your task is to design a portable CD player, as though it were a JavaScript program. What are the components of a CD player? What does it look like? How does it work? What are the potential problems that can arise? (Hint: What happens when there is no cd in the tray, and I press 'play'?) These are all things you will have to consider as you plan out this design. To help you start, here is a list of some of the CD components you will have to include:

As this is just a warm-up exercise before you design your first real program, we don't expect this to be written up formally or in great detail. Just make sure that you have considered the things which make a basic CD player work. There is no need to document the extra features some players may have. You can also make some basic assumptions. For example, if you ask the CD player to check the contents of the tray, you can assume that it "knows" whether or not the tray is empty.

Good luck on this design. Think about it carefully, and make sure that you are fulfilling the basic requirements of a design.

You may want to discuss general concepts of the design as a group, but remember that the design itself -- all aspects of the actual write-up -- must be done on your own.

For more information, see the Design instructions.