example usage
$ bundle install
$ irb
>> require "./gpa"
-- create_table(:courses)
-> 0.0088s
-- create_table(:students)
-> 0.0007s
=> true
>> susan = Student.create! name: "Susan"
=> #<Student id: 2, name: "Susan">
>> susan.courses.create! name: "Underwater Basket Weaving", grade_points: 4, credit_hours: 3
=> #<Course id: 3, student_id: 2, name: "Underwater Basket Weaving", grade_points: #<BigDecimal:102824b70,'0.4E1',9(36)>, credit_hours: #<BigDecimal:102824aa8,'0.3E1',9(36)>>
>> susan.courses.create! name: "Quantum Physics", grade_points: 0, credit_hours: 4
=> #<Course id: 4, student_id: 2, name: "Quantum Physics", grade_points: #<BigDecimal:10283c798,'0.0',9(36)>, credit_hours: <BigDecimal:10283c6d0,'0.4E1',9(36)>>
>> puts susan.calculate_gpa
0.571428571428571429
#=> nil