These are valuable skills that you will be using over and over again throughout your college career. Neither programming nor Java are particularly difficult but both require thinking about things in ways which you may not be used to. The best way to learn these skills is through practice. That's what the programming assignments and labs are intended to give you. Basically I'm allowing you to select a partner for both lab and program assignments.
Participation is voluntary.
You must take turns typing in the lab. While one types, the other thinks. You may dissolve your partnership unilaterally at anytime except during lab. This means you should always KEEP YOUR OWN COPY of the program. Copying a program from someone who is not your partner is cheating.