Learning to program and learning to think: what's the connection?
Communications of the ACM
Novice mistakes: are the folk wisdoms correct?
Communications of the ACM
The use of Logo in an introductory computer science course
ACM SIGCSE Bulletin
Parameter passing: the rules the students construct
SIGCSE '91 Proceedings of the twenty-second SIGCSE technical symposium on Computer science education
C in education and software engineering
ACM SIGCSE Bulletin
ACM model high school computer science curriculum
Communications of the ACM - Special issue on technology in K–12 education
Should we teach students to program?
Communications of the ACM
Programming pedagogy—a psychological overview
ACM SIGCSE Bulletin
Computer programming in high school vs. college
SIGCSE '96 Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education
Constructivism in computer science education
SIGCSE '98 Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education
The psychology of computer programming (silver anniversary ed.)
The psychology of computer programming (silver anniversary ed.)
Java as a teaching language—opportunities, pitfalls and solutions
ACSE '98 Proceedings of the 3rd Australasian conference on Computer science education
Java as first programming language: a critical evaluation
ACM SIGCSE Bulletin
ACM SIGCSE Bulletin
I/O considered harmful (at least for the first few weeks)
Proceedings of the 2nd Australasian conference on Computer science education
Software engineering teaching: a “Docware” approach
ITiCSE '99 Proceedings of the 4th annual SIGCSE/SIGCUE ITiCSE conference on Innovation and technology in computer science education
Does it help to have some programming experience before beginning a computing degree program?
Proceedings of the 5th annual SIGCSE/SIGCUE ITiCSEconference on Innovation and technology in computer science education
A diagnosis of beginning programmers' misconceptions of BASIC programming statements
Communications of the ACM
CS1: perspectives on programming languages and the breadth-first approach
CCSC '00 Proceedings of the fifth annual CCSC northeastern conference on The journal of computing in small colleges
Proceedings of the 6th annual conference on Innovation and technology in computer science education
Another breadth-first approach to CS I using python
SIGCSE '03 Proceedings of the 34th SIGCSE technical symposium on Computer science education
Programming literacy: is it for everyone?
netWorker - SPAM! putting an end to a costly scourge
CHI '82 Proceedings of the 1982 Conference on Human Factors in Computing Systems
SIGCSE '72 Proceedings of the second SIGCSE technical symposium on Education in computer science
A media computation course for non-majors
Proceedings of the 8th annual conference on Innovation and technology in computer science education
The novice programmers' syndrome of design-by-keyword
Proceedings of the 8th annual conference on Innovation and technology in computer science education
A multi-national study of reading and tracing skills in novice programmers
Working group reports from ITiCSE on Innovation and technology in computer science education
Python for CS1, CS2 and beyond
Journal of Computing Sciences in Colleges
What happens after Python in CS1?
Journal of Computing Sciences in Colleges
A study of the difficulties of novice programmers
ITiCSE '05 Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education
Progress reports and novices' understanding of program code
Proceedings of the 6th Baltic Sea conference on Computing education research: Koli Calling 2006
Novices' progress in introductory programming courses
Informatics in education
Minority report: Computer Science skills perceived by students in different disciplines
Koli '08 Proceedings of the 8th International Conference on Computing Education Research
Computer science education in Peru: a new kind of monster?
ACM SIGCSE Bulletin
When students are not programmers
ACM Inroads
Introductory programming and the didactic triangle
Proceedings of the Twelfth Australasian Conference on Computing Education - Volume 103
Teaching computing in secondary schools in a dynamic world: challenges and directions
ISSEP'06 Proceedings of the 2006 international conference on Informatics in Secondary Schools - Evolution and Perspectives: the Bridge between Using and Understanding Computers
VILLE: a language-independent program visualization tool
Koli Calling '07 Proceedings of the Seventh Baltic Sea Conference on Computing Education Research - Volume 88
Improving mathematics and programming education: the IMPEd initiative
Koli Calling '07 Proceedings of the Seventh Baltic Sea Conference on Computing Education Research - Volume 88
Hi-index | 0.00 |
Deciding what to teach novices about programming and what programming language to use is a common topic for debate. Should an industry relevant programming language be taught, or should a language designed for teaching novices be used? Typically, these questions are raised at university level, but in this paper we address them from a high school perspective.We present a case study with a twofold goal: (1) examining how programming can be introduced at high school level, and (2) evaluating how suitable the programming language Python is to support both teachers and learners in this process. During the school year 2004/2005, an introductory programming course was given to four student groups in two different high schools. The students enjoyed programming and learnt to think in terms of re-use and interfaces. In addition, we found that many features of Python facilitated both teaching and learning (for instance, a simple and flexible syntax, immediate feedback, easy-to-use modules and strict requirements on proper indentation).Our findings support results from previous studies in that students have difficulties in dealing with abstract concepts - even though the syntax for implementing these is simple. In addition, compared to university students, high school students are young and have necessarily not yet developed the writing skills required for producing proper documentation. The course was designed to be well suited for high school students in general, but still all participants were boys. Since high schools should provide all-round learning to all students, we, as do all computer science teachers, face the challenge of making programming more appealing to girls.