80; final; 20% 90; programming assignments; 30% 70; midterm 2; 10% 90; sections; 10% 90 60 50; quizzes; 10% 60; midterm 1; 10% 80; peer reviews and drills; 10%