Analysis of students' learning satisfaction in a social community supported computer principles and practice course