The first programming paradigm and language dilemma
SIGCSE '96 Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education
ACSE '00 Proceedings of the Australasian conference on Computing education
A first course in computer science: the discipline is more than programming
CCSC '00 Proceedings of the fifth annual CCSC northeastern conference on The journal of computing in small colleges
What can computer science learn from a fine arts approach to teaching?
Proceedings of the 36th SIGCSE technical symposium on Computer science education
ACM SIGCSE Bulletin
A games first approach to teaching introductory programming
Proceedings of the 38th SIGCSE technical symposium on Computer science education
Using a restricted subset of Java in the first part of CS1
Journal of Computing Sciences in Colleges - Papers of the Fourteenth Annual CCSC Midwestern Conference and Papers of the Sixteenth Annual CCSC Rocky Mountain Conference
Dropping CS enrollments: or the emperor's new clothes?
ACM SIGCSE Bulletin
Computer science: student myths and misconceptions
Journal of Computing Sciences in Colleges
Python CS1 as preparation for C++ CS2
Proceedings of the 40th ACM technical symposium on Computer science education
Programming in an undergraduate CS curriculum
Proceedings of the 14th Western Canadian Conference on Computing Education
Introductory programming and the didactic triangle
Proceedings of the Twelfth Australasian Conference on Computing Education - Volume 103
CodeSpells: embodying the metaphor of wizardry for programming
Proceedings of the 18th ACM conference on Innovation and technology in computer science education
Hi-index | 0.00 |
Computer science (CS) degree programs privilege programming as a fundamental tool to teach algorithmic thinking. CS curricula start with an introductory course sequence that focuses on learning how to program, and often delay introducing material with a significant ontological component until later. The importance placed on programming as a skill, coupled with its position in the course sequence and the vacuum left by postponing identity development has understandably resulted in a rousing debate about how to teach these introductory courses. As such, the literature is filled with passionate arguments for and against particular languages, processes, and paradigms. This wealth of writing should not come as a surprise. The choices made in the teaching of this sequence are very personal ones. I believe that we, as faculty each support the teaching of programming in ways that support our own identities as computer scientists, and our own definitions of the discipline. Computer science is not programming, however, and computer scientists are not programmers. I say this not to attempt to sever the ties between the two, but to disagree categorically with the notion that the two can be directly equated. I believe that we need to consider what we want students to learn beyond the syntax of a programming language, and this paper is an attempt to start that discussion.