Assessing Critical Thinking in Computer and Software Engineering Courses | Synapse