- Full text PDF available (6)
- This year (0)
- Last 5 years (2)
- Last 10 years (7)
Journals and Conferences
When teaching computer programming to novices, forget "objects early," "objects later," and "back to basics."
A software package implementing Schwarz-Christoffel Conformal transformation (or mapping) of doubly connected polygonal regions is fully described in this article from mathematical, numerical, and practical perspectives. The package solves the so-called accessory parameter problem associated with the mapping function as well as evaluates forward and inverse… (More)
Computational thinking has been promoted in recent years as a skill that is as fundamental as being able to read, write, and do arithmetic. However, what computational thinking really means remains speculative. While wonders, discussions and debates will likely continue, this article provides some analysis aimed to further the understanding of the notion.… (More)
The prevailing paradigm in teaching elementary programming uses Java as the first programming language and the " objects first " approach as the conceptual basis. This approach has several shortcomings , e.g., high drop-out rates and poor skills in basic constructs like loops. This paper suggests an alternative approach that combines a strong start in basic… (More)
Novice programmers should be taught not only the value of faithfully representing objects but, even more important, multiple programming paradigms as well.
The issues surrounding teaching object-orientation to novice programmers from day one are revisited first. An analysis is then presented showing the harmfulness of teaching objects-first. The attention then is given to addressing the problems of the current textbooks. Furthermore, a remark is made in comparison between teaching objects-first and Reformed… (More)
It is argued that some mathematical skills may be directly linked to learning programming language constructs. It is also argued that problem-solving through programming demands solid foundation in algorithms, and thus should be taught as if it were a process of learning mathematics. An analysis is given showing how mathematical maturity may impact learning… (More)
In this paper, we first present an assessment on students' software design abilities based on qualitative data from a design class. We will then provide, using the assessment as a backdrop, a discussion on the nature of software design, the challenges of teaching design, and ways to improve design education.
Interface, as an object-oriented programming construct, has been one of the most difficult concepts for students to understand and apply properly. Textbooks often only address the shallow side of usefulness of interfaces, and some may even mislead as to when and how an interface should be used. This article argues that the interfaces can only be effectively… (More)