Teaching Introduction to Programming as Part of the IS Component of the Business Curriculum - Roussev, Borislav (Journal of information technology education, 2003)
Modern software practices call for the active involvement of business people in the software process. Therefore, programming has become an indispensable part of the IS component of the core curriculum at business schools. This work presents a model-based approach to teaching introduction to programming to general business students. The underpinnings of the new approach are modeling, abstraction, and Bloom's classification of cognitive skills. Models are employed to introduce the basic programming constructs and their semantics. To this end are used statecharts to model objects' state, the environment model of evaluation as a virtual machine interpreting programs written in JavaScript, and UML class diagrams to represent the static structure of the designed software systems. The organization of the material is in accordance with Bloom's ladder of cognitive skill where factual knowledge, theory comprehension, and theory application come before analysis, synthesis and finally evaluation. The novelty of the model-based approach lies in teaching the lower-order cognitive skills. The adoption of this approach helps learners build a sound mental model of the notion of computation process. Learners' achievements, student evaluations, and the instructor's observations suggest that the proposed ideas improve the course significantly. The paper is organized as follows. The introductory section discusses the importance of software development as part of the IS component of the undergraduate business curriculum, as well as Bloom's taxonomy of cognitive skills. The next section attends to the presentation of the model-based approach used in teaching programming. Next, preliminary results about the advantages of adopting the proposed approach are reported. The final section summarizes the experience gained and concludes. Keywords: introduction to programming, model-based approach, teaching programming