CodeAssessor is a web-based assessment tool for CS1 courses that is meant to both assess student's code and to provide immediate feedback to students. The tool provides a web-based form that allows an instructor to enter a program and designate parts of the program as code blocks that are to be completed by the student. For each code block the instructor provides a set of instructions, solution code, and a scoring rubric. The instructor also provides a set of test cases for the entire program. Students complete the problem by writing a block at a time and testing their code using their own test cases. Any empty blocks are compiled using the instructor-provided code. Students may submit code blocks at any time for automatic grading by CodeAssessor. If the students' code does not compile, or the student's output does not match the instructor's output, the student is given appropriate feedback and allowed to try again. The student is shown the instructor's code either upon correct completion of the code block, when the points available for the code block become 0, or the student gives up. This tool can be used for homework assignments, for exam problems, or for in-class assignments. Although the current language is C++, a one-line change to a couple PhP scripts is all that is required to change the compiler and execution environment to another language, such as Java. By providing the student with portions of the program, and by displaying instructor code, we hope to help students move through a problem more expeditiously and with greater understanding.