How to test students in computer science lecture?
My experience: One thing I do see in your question is a sensitivity to your students work load. In my experience when I have taught courses involving less "homework" the course may be looked at as "easy." In higher education, students expect a challenge and teachers need to bring it. Worry less about their workload and more about what you want them to learn. If all else fails, grade on a curve.
Groups are hard. It's an unpaid environment. Slackers will slack, pushovers will get pushed, and a group of real team players will rarely shine through. If you are going to do groups, let it be a part of the grade, but not nearly the full grade. Information comprehension/retention should be tested individually. Working in groups is a whole other set of skills that some thrive at and some falter at, and that's not the class you are teaching(I assume.) 
You should know what your students expectations are and they should know yours. Have that conversation, but come prepared.