Skip to content

Instantly share code, notes, and snippets.

@lpalma
Last active February 12, 2019 23:33
Show Gist options
  • Save lpalma/2deda9a1cda88275923ba880be6cf8ac to your computer and use it in GitHub Desktop.
Save lpalma/2deda9a1cda88275923ba880be6cf8ac to your computer and use it in GitHub Desktop.

Working with Systems

For this exercise we will not be writing any code. Even better, there are no right or wrong answers. We will be listing and describing behaviours of items using our own words. If you need inspiration, feel free to look on the internet, but first try to think through the process and use your imagination.

Part 1

For the first part of the exercise, you will receive a list of items and your task is to find sub-components which form these items. For example, if we are describing a Car, we can say:

  • Car
    • Seat
    • Steering Wheel
    • Engine
    • Wheels
    • Fuel Tank

We know a Car is composed of many other sub-components, but we are not Mechanical Engineers so the list above should be fairly ok.

Now it is your turn, here is the list of items you should describe:

  • Coffee Machine
  • Laptop
  • CodeYourFuture (the organisation, not the website)

Part 2

Now that we described the sub-components of our items, we would like to know how they connect to each other. Continuing with our previous examnple, let's say that we would like to know how our Car performs a right turn:

  • Driver turns the Sterring Wheel to the right
  • Steering Wheel turns the wheels to the right
  • Driver pushed the Accelerator pedal
  • Accelerator Pedal sends a signal to the Engine
  • Engine rotates the wheels forward

Notice that we didn't use all the sub-components described in Part 1, which is ok. Also, notice that we found 2 other sub-components while describing the behaviour: Driver and Accelerator Pedal. That is common when describing a behaviour of a system: we often find gaps which are filled with newly discovered components. If you discover new components, remember to list them as part of your solution to Part 2.

Below is the list of behaviours you need to describe:

  • Coffee Machine: Making a cappuccino
  • Laptop: Displaying typed characters on the screen
  • CodeYourFuture: Participating in a Sunday class

Submitting your solution

You should upload your solution as a public Gist so you can share with the rest of the class on Slack. To create a gist, follow the link:

https://gist.github.com/<your-github-username>

Then click on New Gist on the top right corner.

Have fun ;)

@nbogie
Copy link

nbogie commented Feb 12, 2019

Creating a new gist: it's even simpler - they can simply visit https://gist.github.com/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment