Solve the following sql problem:
Calculate the average satisfaction of the good students with their courses.

Schema:
SCHEMA:
- Table: course
  - Column: course_id
    - Samples: [1, 2, 3, 4, 5]
  - Column: name
    - Samples: [Machine Learning Theory, Intro to Database 1, Intro to Database 2, Natural Language Processing, Intro to BlockChain]
  - Column: credit
    - Samples: [3, 2, 2, 3, 3]
  - Column: diff
    - Samples: [3, 4, 1, 3, 5]
- Table: prof
  - Column: prof_id
    - Samples: [1, 2, 3, 4, 5]
  - Column: gender
    - Samples: [Male, Male, Male, Female, Male]
  - Column: first_name
    - Samples: [Nathaniel, Zhihua, Ogdon, Merwyn, Bernhard]
  - Column: last_name
    - Samples: [Pigford, Zhou, Zywicki, Conkay, Molen]
  - Column: email
    - Samples: [npigford0@hku.hk, zzhihua@hku.hk, ozywicki2@hku.hk, mconkay3@ucla.edu, bmolen4@hku.hk]
  - Column: popularity
    - Samples: [3, 2, 2, 3, 3]
  - Column: teachingability
    - Samples: [5, 1, 2, 3, 1]
  - Column: graduate_from
    - Samples: [University of Washington, Beijing Polytechnic University, University of Boston, Carnegie Mellon University, Princeton University]
- Table: RA
  - Column: student_id
    - Samples: [16, 23, 23, 20, 31]
  - Column: capability
    - Samples: [2, 5, 4, 2, 3]
  - Column: prof_id
    - Samples: [11, 6, 11, 11, 6]
  - Column: salary
    - Samples: [med, high, high, low, free]
- Table: registration
  - Column: course_id
    - Samples: [1, 1, 1, 1, 1]
  - Column: student_id
    - Samples: [7, 3, 2, 31, 12]
  - Column: grade
    - Samples: [A, B, B, B, B]
  - Column: sat
    - Samples: [5, 4, 4, 3, 4]
- Table: student
  - Column: student_id
    - Samples: [1, 2, 3, 4, 5]
  - Column: f_name
    - Samples: [Kerry, Chrysa, Elsy, Dougie, Ahmed]
  - Column: l_name
    - Samples: [Pryor, Dine-Hart, Shiril, Happel, Sukbhans]
  - Column: phone_number
    - Samples: [(243) 6836472, (672) 9245255, (521) 7680522, (192) 6371744, (805) 4273942]
  - Column: email
    - Samples: [kpryor0@hku.hk, cdinehart1@hku.hk, eshiril2@hku.hk, dhappel3@hku.hk, asukbhans4@cuhk.edu.hk]
  - Column: intelligence
    - Samples: [5, 2, 1, 2, 1]
  - Column: gpa
    - Samples: [2.4, 2.7, 3.5, 2.8, 3.9]
  - Column: type
    - Samples: [RPG, TPG, TPG, UG, UG]

SELECT CAST(SUM(sat) AS REAL) / COUNT(course_id) FROM registration WHERE grade = 'B'