My GF is going through an accelerated Computer Science Master's program and wants some more experience than what she feels she's getting (due to a combination of shitty graduate student teachers and the accelerated nature of the program). Does anyone know of any free or paid sites/programs that offer a lot of relatively small programming assignments as part of learning the material? In a lot of classes and sites, there'll be a couple major projects, but I'd like to find something that had a lot of smaller exercises to really reinforce and focus on individual concepts (I kind of feel like a lot of CS classes would benefit from being treated more like a math class in that way). Pearson has something called MyProgrammingLab which she found really effective in other classes but it looks like you have to be enrolled in a real class to access them. If it matters, she'd like to focus on Java, SQL, git, and web services.