An Inquiry into the Use of Semantic Analysis Patterns and their Implementation in Django for Software Engineering Instruction