User loginNavigation |
Teaching & LearningA rationale for semantically enhanced library languagesBjarne Stroustrup. A rationale for semantically enhanced library languages. LCSD05. October 2005.
How similar or different this idea really is compared to the facilities found in PLT Scheme and other previous apporaches to this issue? By Ehud Lamm at 2006-11-01 22:09 | DSL | Software Engineering | Teaching & Learning | 15 comments | other blogs | 8835 reads
A Stepper for Scheme MacrosA Stepper for Scheme Macros. Ryan Culpepper, Matthias Felleisen.
Another paper from the Scheme workshop. Apart from being a nice exercise for macro lovers, a good macro debugger is essential for lowering the barrier to macro programming. Since macro programming is an important technique for building DSELs and for language oriented programming in general, having better macro debugging facilities is a Good Thing. By Ehud Lamm at 2006-10-08 13:34 | DSL | Meta-Programming | Teaching & Learning | login or register to post comments | other blogs | 7226 reads
An Incremental Approach to Compiler ConstructionAbdulaziz Ghuloum (Indiana University), An Incremental Approach to Compiler Construction
This paper from the Scheme workshop presents an extended tutorial showing how to implement a compiler from Scheme to x86 assembly language. The compiler is written in Scheme, obviously (something that may confuse students, I might add, so beware). An important aspect of the presentation of the material is that the compiler is built incrementally, and the product of each step is a working compiler for a growing subset of the language. This is similar to the EOPL approach. In contrast many compiler textbooks and courses follow a different route, in which each phase is dedicated to building a different part of the compiler (i.e., lexer, parser etc.), and thus the student only sees how the parts interconnect, and gets the satisfaction of seeing the compiler work, at the very end of the process. Supporting material can be found here. By Ehud Lamm at 2006-10-02 12:02 | Implementation | Teaching & Learning | 12 comments | other blogs | 45521 reads
Computational ThinkingI know this is slightly off topic for LtU, but I see Philip Wadler is collecting material aimed at introducing students and the general public to the discipline of computation, a subject near and dear to my heart. I will not elaborate my thoughts on this subject here, but I remind people interested in this topic to search the LtU archive (specifically the teaching and learning department) since items related to this goal have appeared here occasionally. This is also a chance to mention again my suggestion that someone translate Doug Hofstadter's Scientific American columns introducing Scheme to a general audience into Haskell. LASER SummerschoolAs far as I know the LASER Summerschool has not been mentioned on LTU yet. We have a fine lineup of speakers, including Miguel de Icaza(who gave a great presentation at the Lang .NET symposium), Andreas Zeller whose book on debugging is an instant classic, Mary Poppendieck whose presentations were the highlight of last year's JAOO, Ralf Back who as usual will ensure sound foundations, and of course Bertrand Meyer who needs no introduction! Registration is open until August 31. I hope to see many of you in person on Elba. By Erik Meijer at 2006-08-19 00:02 | Teaching & Learning | login or register to post comments | other blogs | 6795 reads
ACL2 in DrSchemeVia the plt-scheme mailing list:
There's a tutorial with screenshots and some examples on the ACL2 in DrScheme web page. I'm always happy to see reasoning about programs introduced at the undergraduate level. I wonder what the LtU community would do with a tool like this. What cool things would you teach with a beginner's theorem prover? By Dave Herman at 2006-03-08 14:21 | Functional | Logic/Declarative | Teaching & Learning | 8 comments | other blogs | 16195 reads
The Theory of Classification - A Course on OO Type SystemsThis seems to be an introductory ("aimed specifically at non-theoreticians") set of articles on OO type theory. The author is Tony Simons and the articles were all published in the Journal of Object Technology.
If I've made a mistake above, try A Simons's bibliography or here. By andrew cooke at 2006-02-28 23:22 | OOP | Teaching & Learning | Theory | Type Theory | 7 comments | other blogs | 42361 reads
Lisp is sin
People are discussing this blog post all over, so we might as well mention it here.
The discussion is quite balanced, though you are likely to disagree about the specifics. One issue, discussed here repeatedly, is that code=data doesn't require S-expressions. Lisp expressiveness runs deeper than that. Our discussion of Spolsky's Java Schools essay is here, by the way. Insights on teaching computer programmingI have been teaching programming for nearly ten years now, to university students from the first to the fourth year, to both CS majors and non-CS majors (all in technical fields). I have tried to distill results from programming language research into these courses (and wrote a book in the process, CTM). Recently, I had two insights: 1. The best year in which to teach a programming course based on programming concepts is the second year. In the first year, students are not mature enough. In the third and later years, students get conservative. In the second year, they have enough maturity to understand the concepts and enough openness to appreciate them. At UCL, we have been doing this for two years now for all engineering students (more than 300 in Fall 2005) using a first-year course based on Java, and it works remarkably well (better than I expected). 2. Students can be taught programming semantics in the second year. This can succeed if: (1) the semantics requires very little mathematical baggage, just sets and functions, (2) the semantics is factored so it can be taught incrementally, and (3) the semantics is simple and uncluttered so that students can work out a program's execution with paper and pencil. The semantics of CTM is one example that fits these conditions. The students consider the semantics the hardest part of the course. I think it's because they've never been exposed to this kind of formalism, so they are a bit unsettled by it. But I am convinced that students in any technical field should be taught programming language semantics at least once in their careers. It should be as basic as algebra or calculus. What do you think? I would appreciate hearing your experience and comments. Here are the course notes of the latest version of my course (they are in French; there are English course notes too but they are not as nice for the second year). By Peter Van Roy at 2005-12-22 19:08 | Teaching & Learning | 20 comments | other blogs | 16236 reads
The undergraduate language course: what to do?
Thinking about teaching our undergraduate PL next semester, I've been digging up lots of suddenly interesting readings. The teaching about PL project links to much information, and Wadler's and Felleisen et al.'s critiques of SICP were enlightening as well.
Most recently I stumbled upon Joseph Bergin's writings on teaching, in particular ""The undergraduate language course: what to do?" (SIGPLAN Notices 36(6):20-22, 2001), which describes a taxonomy of course approaches: "historical", "smorgasbord", "interpreter", and "principles". Also relevant is a recent article "In Computer Science, A Growing Gender Gap: Women Shunning a Field Once Seen as Welcoming" by Marcella Bombardieri (Boston Globe 2005-12-18). (I'm sorry I couldn't find Wadler's and Bergin's articles freely available online.) By Chung-chieh Shan at 2005-12-22 18:41 | Teaching & Learning | 10 comments | other blogs | 11567 reads
|
Browse archives
Active forum topics |
Recent comments
22 weeks 6 days ago
23 weeks 10 min ago
23 weeks 16 min ago
45 weeks 1 day ago
49 weeks 3 days ago
51 weeks 8 hours ago
51 weeks 8 hours ago
1 year 1 week ago
1 year 6 weeks ago
1 year 6 weeks ago