Linguistic aspects of programming

 

Willamette Computer Science
ACM Student Chapter Lecture

Linguistic aspects of programming
bullet The difficult pedagogy of programing
programming requires levels of rigor and detail unfamiliar to most college freshman, in all linguistic aspects (syntax, semantics and pragmatics)

Control bar


















































 

Willamette Computer Science
ACM Student Chapter Lecture

Linguistic aspects of programming
bullet The difficult pedagogy of programing
bullet A spectrum of semantic complexity
the "product" of programming may be static data, an active program, or an interactive program (programming is like writing, but most like writing for performance, and especially for an interactive performance)

Control bar


















































 

Willamette Computer Science
ACM Student Chapter Lecture

Linguistic aspects of programming
bullet The difficult pedagogy of programing
bullet A spectrum of semantic complexity
bullet Computer Science and pedagogy
programming is in some sense pedagogy: we teach the (literal, stupid) machine to do (complex, interactive) things

Control bar


















































 

Willamette Computer Science
ACM Student Chapter Lecture

Linguistic aspects of programming
bullet The difficult pedagogy of programing
bullet A spectrum of semantic complexity
bullet Computer Science and pedagogy
bullet Rigorous and unfamiliar syntax
in addition to new semantic domains, the programmer must master a new language, likewise ranging over several levels of abstraction, never so similar to natural language

Control bar


















































 

Willamette Computer Science
ACM Student Chapter Lecture

Linguistic aspects of programming
bullet The difficult pedagogy of programing
bullet A spectrum of semantic complexity
bullet Computer Science and pedagogy
bullet Rigorous and unfamiliar syntax
bullet Harsh (and capricious) pragmatics
the context of programming and its tools (compilers, etc.) are extremely demanding of precision, but sometimes unhelpful and even "buggy"

Control bar


















































 

Willamette Computer Science
ACM Student Chapter Lecture

Linguistic aspects of programming
bullet The difficult pedagogy of programing
bullet A spectrum of semantic complexity
bullet Computer Science and pedagogy
bullet Rigorous and unfamiliar syntax
bullet Harsh (and capricious) pragmatics
bullet Computers and programming versus "Computer Science"
while computers and programming form the basis for Computer Science, it is by no means the whole story (compare movie projectors to Film Studies, books to Literature, TVs to Media Studies, etc.)

Control bar


















































 

Willamette Computer Science
ACM Student Chapter Lecture

Linguistic aspects of programming
bullet The difficult pedagogy of programing
bullet A spectrum of semantic complexity
bullet Computer Science and pedagogy
bullet Rigorous and unfamiliar syntax
bullet Harsh (and capricious) pragmatics
bullet Computers and programming versus "Computer Science"
bullet What kind of discipline is Computer Science?
Computer Science is hard to place: it involves writing, art (creative thinking and expression), design (trade-offs), engineering (standard practices), science (measurement and analysis)

Control bar