Teaching Software Engineering Bottom Up

R. E. Kurt Stirewalt · 2020

A typical CS curriculum contains a course on software engineering, which introduces principles and heuristic methods for designing large software systems subject to desirable properties, such as maintainability and extensibility.The nature of this body of knowledge suggests that the best method for teaching it is to use the elaboration theory of instruction.Applying this theory to software engineering requires a complete inversion in the traditional coverage of topics.We developed a new course, CSE 370, which incorporates this "bottom up" coverage.Using this method, we are able to instill a higher level of cognitive ability in software-engineering methods than we were able to achieve using the old method.* Contrast the subject of this metaphorical knowledge with other concepts in computer science-e.g., fundamental data structures and algorithms-which enjoy a formal (mathematical) meaning irrespective of design context.

Read the paper · More papers on PaperTik