Never touch the student's mouse.
In today's graphics-driven world, the computer mouse has become the ultimate tool for operating a computer. However, teachers and adults often fail to see the mouse as a scepter of control. The mouse plays an understated role between the student and teacher in instilling (or diminishing) confidence. Sometimes, a teacher may want to take control of the mouse and complete a tricky task. By doing this, the student not only fails to understand or remember how the task was performed, but may also feel slighted or even denigrated. The student may feel as if he or she was not capable of solving the problem.
Never refer to your class as "You guys."
Most, if not all, of us have faced the problem of trying to increase the enrollment of girls in our computer science classes. One of the simplest strategies to combat this is not to refer to the class as "guys." This should not happen in any class, let alone in a class where girls feel that they do not belong in the first place. Instead, address your classes as "people"—a very simple change that shows that you’re talking to everyone and that you don't think of all of the students as guys. It is just as easy to say, "People, we need to get started."
Lecture as little as possible.
Allow students to program and solve problems on their own rather than lecturing This will engage your students, and students learn best this way. As they solve problems on their own, they obtain ownership of the solution. Although lectures can dispense a lot of content very quickly, students rarely retain the entire lecture. A hands-on experience is a personal experience, which is retained much longer.
Utilize your partner.
The lab part of computer science classes is always a challenge. This might help: Have your students first explain the difficulty they are facing to a partner. Often through articulating the problem, students will come up with the correct solution without having to ask for help. The partner should be careful to listen and ask clarifying questions in their attempt to help.
Create "Company Rules."
As a teacher of a computer science class, you must interact with many different programmers and programming styles. To bring uniformity to the work, try developing "Company Rules." Company Rules might be created for naming conventions of files, methods, variables, and how your students should document code.
Give random quizzes for reading assignments.
If you teach a course that requires the students to read a textbook or other materials, you can give your students random unannounced reading quizzes. Each quiz consists of one multiple-choice question worth five points. The question is very easy if the reading was done.
Incorporate eXtreme programming.
Coding is a crucial part of the development life cycle but it is not the only part. Expose your students to the construction portion of the development life cycle. The development life cycle includes the gathering of business and user requirements, technical requirement specifications, technical detailed design, detailed design, construction (coding), component test, assembly test, function test, integration test, performance test, and field test. Valuable computer programmers are technically gifted and able to translate technical specifications into generic functional terms. These programmers become an integral part of multiple facets of the development life cycle.
Give multiple-choice questions and free response questions on every test and quiz.
Familiarize your students with the exam format. The AP Computer Science Exam has two types of questions: multiple choice and free response. Expose your students to these types of questions throughout the school year; this will allow them to become comfortable with the exam format. You will also be able to introduce test-taking strategies for each type of question earlier in the course, allowing students to refine their test-taking skills for each question type.
Visit your textbook's website.
Most textbooks have websites designed for the book that may offer many resources, such as online practice tests and quizzes, test banks, PowerPoint presentations, instructor discussion groups, and hints for teaching. In addition, many authors provide additional materials on their personal websites. Research what's available.
Join a local AP CS teachers' group.
Find a local teachers' group, or start your own. The AP Computer Science A Teacher Community and the AP Computer Science Principles Teacher Community are also helpful resources. Sharing teaching experiences, resources, and strategies can be an invaluable tool for you and everyone involved.