110 likes | 117 Views
Evaluating Python as an Introductory Programming Language A. Thomas and H.L. Liang UNISA. Contents. Introduction Background Aim of this study Evaluation approach and findings Conclusion Future research. Introduction. Programming in Computer Science Curriculum
E N D
Evaluating Python as an Introductory Programming Language A. Thomas and H.L. Liang UNISA
Contents • Introduction • Background • Aim of this study • Evaluation approach and findings • Conclusion • Future research
Introduction • Programming in Computer Science Curriculum • Aim of Introductory Programming • Difficulties associated with learning programming • Learning programming in distance education
Background • UNISA as an open and distance education institution • First-level Computer Science modules at UNISA • Focussing on the introductory programming module at UNISA - Objectives of the module - Implementation language - Learner Support - Pass rate
Aim of this study • To compare Python with C++ with respect to its syntax and structure • We do not aim to challenge the present module content and delivery techniques
Evaluation Approach and Findings • Approach used • Grouping of the results - Features of Python that will contribute to ease of learning - Features of Python that will not improve the ease of learning - Features of Python that could be problematic
Features of Python that will ease learning • Installation - How is it done now? - How can it be improved using Python? • Introduction to Programming - How is it done now? #include <iostream> (1) using namespace std; (2) int main(){ (3) cout<< “Hello World”; return 0; }
Continued.. - How can it be improved? print “Hello World” • Simplicity in Syntax - Examples in Python No need to declare variables Multiple initializations of variables in a single line Inclusion of useful expressions • Practice one concept at a time • Easier translation of a solution into implementation
Features of Python that will not improve ease of learning • Semantics to match expectations - meanings associated with ×, %, = - array indexing • Providing meaningful error messages • Practicalities of the IDE • Availability of on-line resources
Features of Python that could be problematic • Compilation vs. interpretation • Syntactical challenges - Readability -Indentation • Dynamic vs. static typing
Conclusion and further research • In this preliminary evaluation Python seems to have features that would ease the learning curve associated with learning a programming language • However, all the aspects of the introductory programming module should be considered before making a conclusive decision • The effect of including Python in the present curriculum should also be analysed