Welcome to learn to teach Java, Boolean expressions, if statements, and iteration. In this course, part of our bigger specialization on learning to teach Java we'll continue on with units 3 and 4 of the Advanced Placement Computer Science A, course and exam description. In particular, as we said, we'll be covering Boolean expressions, if statements including nested if statements and if-else, and while and for loops, including nested iteration and diving a little bit into informal code analysis. As always, we start with a block to Java transition to help both you and your students leverage any preexisting knowledge of block-based programming for Java. I particularly think that in nested ifs, this is a really great thing to be doing with kids. For each page in CS awesome, you'll get the teacher down and dirty quick overview including recommendations for areas be sure not to skip and in this case, some extra help and resources that you can use in to covering particularly difficult topics like Demorgan's law with your students. In our teacher power up, we have a lot of really valuable content in this course. We're going to be introducing you to CodingBat. If you're on any of the APCSA Facebook groups, you've heard about CodingBat, but CodingBat can be difficult to use and doesn't align terribly well with the Advanced Placement CSA. So we're going to teach you how you can transform CodingBat problems into problems that your students can do. The other thing we'll really dive into, especially in Unit 4, is teaching your students tracing skills, explicit ways to trace code so that on a paper and pencil on multiple choice exam which is credibly popular in universities, and also make up a lot of the APCSA exam, your students will have techniques that they can pull out and use to trace code systematically and hopefully, carefully and correctly. Finally, a huge amount of resources for you, this time on developing students problem-solving skills. In a lot of the materials I see around APCSA, there's focus on understanding the basic concepts and then there's an immediate jump to very difficult problem-solving questions like the free response questions, but in fact, there's some intermediate ground that I really think is important that you expose students to so that there's free-response questions on how we approach them, don't just seem like magic. In particular, I've identified four types of questions that we can solve in computer science, given the materials that we've learned up from units 1 to units 4. One of them is the gathering pattern. With gathering, we might be calculating the sum of a bunch of numbers or maybe even the average of a bunch numbers. We're gathering some things together. We might have a problem-solving type called count, like how many A's are in a string. We might have something, is a variant account called a check, maybe is all of the numbers that we have in decreasing order. Finally, the last pattern is what we call the most wanted patterns of very popular pattern. That's where you're going to find your minimum, your maximum, the second biggest one, whatever. Again, what's really important to know is that our goal for you is that you'll spend your time not just learning Java but experiencing and creating materials and sharing ideas through our peer reviews with fellow teachers.