Introduction and challenges

Practice for Week 1

Think about a software system you would like to build that can create, read, update and delete records.

For example, in an address book application, each record would be a Person.

In a to-do list application, each record would be an item on the to-do list.

Now think about:

In your application, what is the structure of each record?

How would you translate the records into a Java class?

If you found this week's practical activities very easy, then a more challenging warm-up activity would be to see if you could improve the design of the code:

  • How could you store more information about a person (e.g., date of birth, gender)?
  • Could you read Person details from a file saved on the disk drive?
  • Would inheritance be useful at all? If so, how?
  • What would make for a better design?
  • Could you create a more general table-builder class, and use that class to generate the results?