We describe a project in a standard course in Programming Languages. This project forces students to display self-sufficiency and critical thinking skills. The students are given the documentation and interpreter for smeagol, a small invented language which resembles the control language for many text-processors, spreadsheets, and so forth. They are expected to learn (within two days) enough to write working non-trivial programs. They then must write an evaluation of the language, documentation, and system. In this paper, we explain many specific features of the project, and discuss its effectiveness.
/lp/association-for-computing-machinery/self-sufficiency-and-critical-thinking-in-the-programming-languages-18GCs3Hnp3