In general, I believe that college students are adults, and have the right to choose when to attend class and when other things are more important than class. Sometimes, things happen that are more important than class, and you should be allowed to make that decision. For this reason, attendance at lectures is optional. However, you are still responsible for knowing the material in the lectures, and I will not repeat a lecture for someone who didn’t attend.
However, in labs we will be doing pair programming. Pair programming involves working with a partner to complete the lab. It is unfair to your partner if you don’t show up for lab. Therefore, you are required to attend all lab sections.
Labs will use a pair programming technique to help you better learn how to program. Pair programming involves having two people working simultaneously on the same program. “Two people one computer” is the motto. Both people use the same computer to work on the same program. One person, usually called the Driver, controls the keyboard and mouse and does most of the direct interaction with the computer. The second person, usually called the Navigator, watches over the shoulder of the Driver, helps catch errors, and thinks about higher-level questions. Both people can and should interrupt each other to talk to help clarify questions, or to figure out how to do something.
Pair programming is valuable for this class for two reasons. First, pair programming forces you to think more and more clearly about what you are doing, because you need to be able to talk about it with your pair. Studies have indicated that students who use pair programming while learning programming learn faster and better than students who learn by themselves. Second, pair programming is a commonly used technique in the real world. Not all software development uses pair programming, but a non-trivial amount of real-world development is done this way.
There are 11-12 labs in this class. In the first lab, I will allow everyone to choose another person to pair with. Pairs will work together for 3 consecutive labs, and then we will rematch: everyone will be required to find a new parter. This process will continue through the semester, with pairs working together for 3 labs before rematching. You must choose a different pair each rematching.
Attendance at labs will be graded, and will count for 1/8 of your final grade. Your grade for attendance will simply be the percentage of labs that you attend. Attending all 12 labs will give you a 100% for attendance. If you decide that something else is more important than one of the labs, then your attendance score will be about 92%.