[Show abstract][Hide abstract] ABSTRACT: It would be unlikely for any first year programming class to be solely composed of novices with the same aptitude for learning. We all have students who arrive with a range of abilities and backgrounds. We have students who barely know their way around a keyboard and those who have programmed professionally; this starting knowledge is also no indicator of learning ability. We need to support struggling students with little knowledge whilst maintaining the enthusiasm of those who are quick to learn, and trying not to demotivate the ones in the middle.
The aim of this working group was to explore the ways in which academics around the world enthuse their high achieving students; seeking things that work and things that don’t. This has been achieved by a mixture of literature review and survey of current practice. The synthesis of these forms the basis for the recommendations we make.
[Show abstract][Hide abstract] 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.
Data provided are for informational purposes only. Although carefully collected, accuracy cannot be guaranteed. The impact factor represents a rough estimation of the journal's impact factor and does not reflect the actual current impact factor. Publisher conditions are provided by RoMEO. Differing provisions from the publisher's actual policy or licence agreement may be applicable.