An objects-first approach to teaching introductory software development

  • Authors:
  • Zaigham Mahmood

  • Affiliations:
  • School of Computing, University of Derby, Derby, United Kingdom

  • Venue:
  • ICCOMP'08 Proceedings of the 12th WSEAS international conference on Computers
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software development (SD) refers to design and development of software applications. Most educational institutions teach introductory modules in SD using a procedural paradigm and an imperative language. Modules are often delivered in the first semester of the first year of a degree or diploma programme. Whereas, the procedural approach to SD may be considered suitable for teaching programming-in-the-small, it is not entirely appropriate for teaching the principles of programming: there are numerous inherent issues on the approach. This paper discusses the traditional method to teaching SD and suggests an objects-first approach where students adopt a top-down method of learning to develop software. Our model is imperative in nature but introduces functions and modules as basic building blocks for producing software. Thus, students' first programs are written as sequences, selections and iterations of given functions and it is in the later stages of the course, when they write their own modules after they learn the basic constructs of the language. Our method places an emphasis on SD as an engineering activity. This paper also discusses the issues concerning the choice of first programming languages and outlines a complete scheme for teaching a first course in SD.