A framework for teaching introductory software development

  • Authors:
  • Zaigham Mahmood

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

  • Venue:
  • WSEAS Transactions on Computers
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software development (SD) refers to design and development of software applications. Most educational institutions teach programming using a procedural paradigm and an imperative language where the emphasis is often on learning a computer language and not on problem solving or the modeling of realistic computational problems. Thus, the teaching is dependent on the chosen language, which is not entirely appropriate for teaching principles of programming or SD as an engineering activity. This paper discusses the traditional method of teaching programming and suggests an objects-first approach where students adopt a top-down method of learning to develop software. Our model 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, that they learn the basic constructs of the language. This paper outlines a complete framework for teaching a first course in programming. It also discusses the characteristics of a good teaching language to help academics to choose an appropriate first programming language.