Atoms to Compounds via Object Orientation
The goal of this lab is to teach about how Atoms interact with each other to create compounds. Your goal is to build an Object Model where Atom
has electrons and Compound
has atoms.
There's a beautiful symmetry between chemistry and programming.
Describing Water
Water is made of H20, two hydrogen atoms and one oxygen atom.
Your goal is to create atoms that will make one molecule of the compound of water.
You can make an atom via Atom.new(:electrons => 1)
.
Lookup the electron counts of Oxygen and Hydrogen in the Periodic Table of Elements so you can create the correct Atoms.
You can add atoms to a Compound
via the Compound.new
method. For example:
describe 'Table Salt (Sodium Chloride) NaCL' do
it 'is composed of Sodium and Chlorine in equal parts' do
sodium = Atom.new(:electrons => 11)
chlorine = Atom.new(:electrons => 17)
salt = Compound.new(sodium, chlorine)
expect(salt.name).to eq("Sodium Chloride")
end
end
Have fun programming some compounds!!!
View Atoms to Compounds via Object Orientation on Learn.co and start learning to code for free.