Algorithm design is crucial to any program, and the ability for you to be able to problem solve and think for yourself is very important. We have made a suggestion (see the video) as to the secret of matchmaking, and your task is to try and imlplement the algorithm OR if you are a real social and computing genius, to come up with an even better magical algorithm and implement that too. What do YOU think is the key to relationships working? Our algorithm suggests that people with complementary strengths are best matched and those with the same strengths had best avoid each other (this is not always true, but in many many many cases it does seem to be the case!) Something to discuss further in sociology perhaps? See if you can implement the "matchmake" function, by displaying possible matches based on their opposing strengths.
Without validation no program would be complete. Validation is ensuring that the input entered into a program is valid ....the programmer - or at least a good programmer - will try and minimise the errors that could be caused on user input. e.g. the date input requries the date to be entered in a specific format, this minimises the chance of people typing in rubbish. The program could check to see that the email address entered has an @ sign, as a type of validation. Of course, validation could get really complex and be endless, but select a few areas and try and implement some validation. You can then discuss it further in your evaluation and testing.
Note: See if you can do better (and you should be able to). The solutions provided are basic, and allow for discussion on possible alternative methods and solutions.
Write your own summary of the problem. What are your objectives? List the success criteria