Quality Assurance
Quality assurance is so important that it has to be an ongoing activity throughout the project. It's too important to be left to the experts, so I recommend it as a key activity for all beginner developers. As far as I'm concerned, the key responsibility of all beginners on a project is to read and understand every line of code that's written. This means that every day they have to read the new and changed code as it's committed to the source control system. Anything that's difficult to understand or that looks questionable should be raised as a question with the author of the code and then, if not resolved, raised with the lead developer.
This informal review might not be as effective as a formal code walkthrough, but you'll be amazed at the number of potential problems that are spotted. It also ensures that the beginners learn what good and bad code looks like, as well as giving them a good understanding of the entire application. The experienced and intermediate developers are also expected to read and understand all of the code, or at least the subsystems that they're responsible for on really large projects.
JUnit-style unit tests are another very effective quality assurance technique that complements these informal code reviews. As a final check, you should also have some testers as an integral part of the team, whose role is to define and automate (if possible) a suite of acceptance tests.