Is looking cool and going through the motions all that it takes to be a good programmer?
(via Zhong)
Tag: Programming
HtDP Languages and Math
A comment by Matthais on the nature of the first three HtDP languages:
HtDP’s first three teaching languages are basically mathematics, ignoring the parentheses. We use
— arithmetic, for many different forms of data
— algebra, for (potentially conditional) function definitions
— pre-calculus, for induction and recursion (these things converge, like series)
A Visual Interpreter for Students Learning Scheme
Students who know procedural and object-oriented languages frequently have difficulty learning the functional paradigm. The purpose of this work is to facilitate this transition by designing and implementing a set of visual tools that help students understand how Scheme, a functional language, programs work. To achieve our goals we worked on the implementation of a Scheme interpreter and a set of visual tools for different key aspects of functional programming languages. Pilo Visualization Tools for Scheme (PVTS) emphasizes on the functional programming language paradigm and its visual representations. PVTS can be used by teachers as a teaching tool as well as by students as a learning tool.
When your debugger is just a library
Q. Can you’re debugger just be a library?
A. Seemingly, yes.
A Prodigious Error Message
For my BarCampMadison2 presentation this year, I prepared a DVD “gift bag” with a lot of material on Functional Programming (FP) and specific FP languages like Scheme and Haskell, and also included DrScheme binaries for Mac and Windows and source for UNIX.
Yesterday I received an email from one of the attendees. He was copying the contents of the DVD to a directory on his UNIX system. In the course of doing so, he got an error message. If you are even superficially familiar with Monads and Haskell (as I am), you will surely find this error message prodigious!
/mnt/cdrom$ cp -R library ~/lisp-library
cp: cannot access `library/Haskell/Monads': Input/output error
DSL adventures
An article and discussion about DSLs and Perl linked here (via LtU).
How to Design Worlds
Via PLT:
As some of you know, we have been working on a new way of writing interactive applications, such as games, using just pure functional programming. We call this the World style, and it is embodied in the world.ss Teachpack included in the DrScheme distribution.
In response to demand, we are creating extended materials on this style of programming:
http://world.cs.brown.edu/
Addendum: 26 October 2008
Some folks might find HTDW a little more interesting in that it is purely functional programming.
Teaching Programming Languages in a Post-Linnaean Age
Programming language “paradigms” are a moribund and tedious legacy of a bygone age. Modern language designers pay them no respect, so why do our courses slavishly adhere to them? This paper argues that we should abandon this method of teaching languages, offers an alternative, reconciles an important split in programming language education, and describes a textbook that explores these matters.
This is a nice paper explaining the author’s rationale for his approach.
(via PLT)
Face Swapping: Automatically Replacing Faces in Photographs
Here is a system that replaces faces in photographs. It actually has a few useful applications.
(I forgot where I got this link)
Data-Driven Enhancement of Facial Attractiveness
Here is an article about training a system about what makes a person look more pretty such that given a picture, the system can make the person in it “prettier”.
(I forgot where I saw this)