Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Ian D. Sanders is active.

Publication


Featured researches published by Ian D. Sanders.


Computer Education | 1994

Animating recursion as an aid to instruction

Derek Wilcocks; Ian D. Sanders

This paper presents a method for overcoming one of the most difficult problems in teaching programming to first-year university students, namely recursion. It is established that what is required to understand recursion is an abstracted mental model of recursive flow of control. The model which is deemed most suitable for the purposes of this research is the copies model of recursion. In this model recursive instantiations are seen as copies of the recursive function. In order to present this model to students, a program (as opposed to data or algorithm) animator is employed. This animator takes any Pascal program containing a recursive function and presents the student with a dynamic copies model of the recursive function.


technical symposium on computer science education | 2000

A fundamentals-based curriculum for first year computer science

Ian D. Sanders; Conrad Mueller

At Wits we are concerned about offering a good computer science degree but at the same time making our degree programme accessible to all students who have the potential or ability to cope with the material. This paper discusses a new first year curriculum which has been developed to address some of the problems which the course that we offered from 1990 to 1998, with minimal changes, has begun to encounter. The most important of these problems is that of student perceptions of our old course. The new course stresses fundamentals of computer science and is structured around teaching basic principles and competencies.


IEEE Technology and Society Magazine | 2003

Computer self-efficacy, gender, and educational background in South Africa

Vashti Galpin; Ian D. Sanders; Heather Turner; Bernadine Venter

Research has demonstrated possible factors for low participation by women, including self-efficacy. This paper considers computer self-efficacy and its relationship to gender and educational background. Self-efficacy is based on self-perception and is defined as the belief an individual has about their ability to perform a particular task. Self-efficacy is important as it influences the choice of activities by an individual, the amount of effort they will expend on a task and how long they will persevere in stressful situations to complete the task. Self-efficacy beliefs about computing may be a factor in whether people choose to get involved in computing. Therefore, self-efficacy is linked to participation rates and hence important to consider in our attempts to understand why people choose to become involved in information technology.


technical symposium on computer science education | 2007

Learning styles and personality types of computer science students at a South African university

Vashti Galpin; Ian D. Sanders; Pei-yu Chen

This research investigates the learning styles and personality types of Computer Science students at the University of the Witwatersrand in Johannesburg, South Africa using the Kolb Learning Style Inventory and the Keirsey Temperament Sorter, respectively. Students were found to be predominantly abstract intheir learning, and they did not show strong preferences on the reflective/active dimension hence they had either a Converger or Assimilator learning style which is consistent with prior research. Across the three years of undergraduate study, learning styles became more balanced in terms of the reflective/activedimension. Students were predominantly ISTJ, ISFJ, ESTJ or ESFJ in their personality types showing a strong presence of the SJ temperament which is associated with organisation, planning and decision-making. This result is less consistent with prior research. There were no significant differences over the three years in personality type.


technical symposium on computer science education | 2006

Language performance at high school and success in first year computer science

Sarah Rauchas; Benjamin Rosman; George Konidaris; Ian D. Sanders

We describe the first part of a study investigating the usefulness of high school language results as a predictor of success in first year computer science courses at a university where students have widely varying English language skills. Our results indicate that contrary to the generally accepted view that achievement in high school mathematics courses is the best individual predictor of success in undergraduate computer science, success in English at the first-language level in high school correlates better with actual performance. We discuss the implications of this for universities whose medium of teaching is English, operating in social contexts where many students are not native English speakers.


technical symposium on computer science education | 1993

An improved first year course taking into account third world students

Conrad Mueller; Sheila Rock; Ian D. Sanders

Theincreasing number ofeducationally disadvantaged students, typically from third world environments, entering our first year course has forced us to re-evaluate the course. The class composition is extremely non-homogeneous creating major problems in the teaching of a first year course concentrating on programming. To address these problems we have developed a new curriculum based on the ACM task force report and focusing on fundamental principles.


technical symposium on computer science education | 1991

AAPT: algorithm animator and programming toolbox

Ian D. Sanders; Harshila Gopal

Learning to program is difficult. The focus of this research was on developing an environment (AAPT) to assist the student in learning programming at an appropriate speed without a tutor having to be available. AAPT is made up of two components, a programming toolbox and an algorithm animator and is intended for use in conjunction with formal lectures, tutorials and laboratory sessions. The approach taken here is different to other work in algorithm animation because AAPT allows the student to develop the program and see how it works in the same environment.


technical symposium on computer science education | 2008

Students' perceptions of python as a first programming language at wits

Ian D. Sanders; Sasha Langford

The first year curriculum at the University of the Witwatersrand (Wits) is a breadth-first curriculum where students are introduced to a variety of topics in Computer Science (see Sanders and Mueller [5] for details). As part of the course the students are expected to come to terms with a number of basic algorithms and data structures which they are required to implement. When the curriculum was designed we chose Scheme as the implementation language. One reason for doing so was because the main entrance requirement for our course is a solid mathematics background as evidenced by good marks at school level. Our students thus have a good understanding of functions and we felt that Scheme?s functional style would make it accessible to all of our students. Another reason for choosing Scheme was because it is a language which would be new to all of our students. Scheme was well received by those students who had never programmed before and proved to be a good language for meeting our teaching objectives but there was resistance to the language from the students who could already program as they considered it a waste of time to learn a language which was not (as they believed) used in the real world [3]. In addition, the use of Scheme did not really reduce the performance gap between the students with and without prior programming experience [2]. Python has been found to be a good first language for both experienced and inexperienced users [4] and its simple syntax and support of different programming paradigms seemed to make it an attractive option for our first year course. We believed that using Python would still allow us to meet our educational objectives ? it would be easily accessible to those students who had never programmed before and would support our approach of formulating algorithms Python has been found to be a good first language for both experienced and inexperienced users [4] and its simple syntax and support of different programming paradigms seemed to make it an attractive option for our first year course. We believed that using Python would still allow us to meet our educational objectives ? it would be easily accessible to those students who had never programmed before and would support our approach of formulating algorithms In late 2007 we did a survey to assess the first year students? impressions of Python. The students were asked to indicate agreement, disagreement or neutrality to a number of questions about the use of Python. 55 students completed the survey ? 27 of these had no prior programming experience and 28 had programmed before. The Wilcoxon signed rank test was used to test the hypotheses that both groups believed that Python was a good first year language. The results show strong evidence that the students feel that Python is a suitable language. There are. however, still some students with prior programming experience who are resistant to new languages.


technical symposium on computer science education | 2002

Teaching empirical analysis of algorithms

Ian D. Sanders

In this paper I argue that empirical analysis of algorithms is important but also difficult and requires a place in our curricula. I discuss how I planned to include coverage of this topic through lectures, discussions and practical work and the approach that I took in the Honours Analysis of Algorithms topic at the University of the Witwatersrand in 2001. I then discuss the results of a survey conducted on the Honours class and suggest some improvements for 2002.


technical symposium on computer science education | 1991

ALEX: an aid to teaching algorithms

Sean Pyott; Ian D. Sanders

A problem with teaching Computer Science to first-year students in a South African context is that many students come from disadvantaged backgrounds and have not been exposed to computer technology. To address this issue, a new curriculum has been adopted for first-year students, the first topic of which covers the design and specification of algorithms. One of the problems encountered in this course is that if the students cannot execute their algorithms they do not know whether the algorithms are correct. One approach to this problem is to require that students be familiar with a programming language. This paper investigates an alternative way of executing algorithms, the ALEX system, and discusses how the system can be used to assist in the teaching of algorithms.ALEX allows students to specify algorithms in an English-like manner and translates these algorithms into an equivalent executable high-level language code, which is then executed. Based on the evaluation of individual students, the use of ALEX is beneficial. However, further experimentation has to occur before the effectiveness of using ALEX can be properly assessed.

Collaboration


Dive into the Ian D. Sanders's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Conrad Mueller

University of the Witwatersrand

View shared research outputs
Top Co-Authors

Avatar

Sarah Rauchas

University of the Witwatersrand

View shared research outputs
Top Co-Authors

Avatar

Scott Hazelhurst

University of the Witwatersrand

View shared research outputs
Top Co-Authors

Avatar

Tina Götschi

University of the Witwatersrand

View shared research outputs
Top Co-Authors

Avatar

Alexander Holt

University of the Witwatersrand

View shared research outputs
Top Co-Authors

Avatar

Andrew I. Russell

University of the Witwatersrand

View shared research outputs
Top Co-Authors

Avatar

Benjamin Kumwenda

University of the Witwatersrand

View shared research outputs
Top Co-Authors

Avatar

Bernadine Venter

University of the Witwatersrand

View shared research outputs
Top Co-Authors

Avatar

Derek Wilcocks

University of the Witwatersrand

View shared research outputs
Researchain Logo
Decentralizing Knowledge