Software Engineering Frameworks: Perceptions of Second-Semester Students

2012 
Introduction Learning is more effective in a Computer Science course if topics and concepts are organized within an overall mental framework. Each concept is introduced as a piece of a puzzle. The framework allows the pieces to fit together into a meaningful whole. Other similar terms used by authors include schema, cognitive style, paradigm, and mental model. According to Donald (2002), a course needs a schema to improve understanding. A schema ... is a data structure of generic concepts stored in memory and containing the network of relationships among the constituent parts .... If we are to understand the relationships between concepts, we need to know in what order and how closely concepts are linked and the character of the linkage. Which schema is preferable for a given course? In an ideal world, course concepts would blend naturally into the general mental framework of each student. In The Mathematical Experience, Davis and Hersh (1981) observe that: People vary dramatically in what might be called their cognitive style, that is, their primary mode of thinking. Ken Bain (2004) emphasizes the ubiquity of frameworks in education when he states: The students bring paradigms to the class that shape how they construct meaning. Even if they know nothing about our subjects, they still use an existing mental model of something to build their knowledge of what we tell them. Frameworks, explicit or implicit, are available for most Computer Science courses. Some courses organize primary concepts into a layered framework, where services received at one layer are provided by algorithms and data structures in a lower layer. Computer network courses favor layers consisting of some blend of the OSI Model and the Internet Protocol Suite (Tanenbaum & Wetherall, 2011). Operating systems courses include topics from the hardware, kernel, system services, and user-interface layers (Silberschatz, Galvin, and Gagne, 2008). Database courses insert a DBMS layer between application programs and operating system files (Connolly & Begg, 2009). Not all Computer Science frameworks are layered. A common framework for object-oriented programming (Lafore, 2001) includes groups of interrelated classes, arranged according to established design patterns (Gamma, Helm, Johnson, & Vlissides, 1994). Data structures course topics are divided into algorithm and data structure categories, such as stacks, queues, linked lists, searching, and sorting (Lafore, 2002). Artificial intelligence utilizes a variety of frameworks that describe search strategies, game playing, learning models, knowledge-based systems, and intelligent agents (Russell & Norvig, 2009). But which frameworks are suitable for Software Engineering (SE) courses? The most common SE framework is a horizontal life-cycle sequence of stages for software development (McConnell, 2004; Sommerville, 2004). Some SE textbooks add a vertical dimension, separating the user interface, algorithms/business rules, and data components (Pressman, 2009). Other SE books promote a quasi-religious experience that endorses a particular development practice (Beck & Andres, 2004; Cockburn, 2006; Jacobson, Booch, & Rumbaugh, 1999; Beck, 2004). In previous research (McMaster, Hadfield, & Anderson, 2008), we examined frameworks for software development from the viewpoint of textbook authors. We determined which words are used frequently in three samples of books: object-oriented programming, database, and Software Engineering. Our assumption was that the words used most often in a book suggest the framework of the author. A framework is certainly more than a set of concepts, but concepts are the building blocks used to construct frameworks. Frameworks help highlight and integrate the meaning of the concepts. In this study, we sought to determine which concepts are considered most important by students after they had completed their second SE course (SE-II). …
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    20
    References
    0
    Citations
    NaN
    KQI
    []