Pangloss Posted July 26, 2008 Posted July 26, 2008 (edited) We've been using Alice (the IDE, not the language) to teach introductory programming, but I've always found the interface clunky and confusing, and so far from what the students end up doing later as to almost render the experience moot. Our students seem to have trouble separating what they learn about programming from what they've learned about Alice in particular. The next class they take introduces them to writing Windows apps in Visual Basic, which is just a whole different ball of wax. (From there they go to an advanced Windows forms class, then my ASP.NET course, where they learn some C# to compliment their VB knowledge.) For a long time we taught them pseudocode using Microsoft's cheesy old PS "compiler", but that thing is no longer supported and I haven't seen a textbook for it in years. There're a lot of textbooks out there on Visual Basic, but I haven't seen any that focus on programming fundamentals -- they're about teaching Visual Basic (which is kind of a sucky language to learn fundamentals in anyway). I'm just curious if anyone here might have any suggestions. The Wikipedia has an article on Educational Programming Languages, which has been somewhat useful in my explorations. http://en.wikipedia.org/wiki/Educational_programming_language One that struck me as interetsing is Greenfoot. It's an IDE based on BlueJ, which is an EPL based on Java, which of course presents a little bit of a conflict (since they go to VB next), but we're considering dumping VB for C# anyway, which uses the same syntax. Typical Greenfoot screenshot: That is both the IDE and the run-time module, which means you get some real-time manipulation of the code, which is really useful for educational purposes. Code is typed into a separate window that you call up by double-clicking on the class object. At that point it looks like normal Java, which is supplemented and simplified by the BlueJ and Greenfoot libraries. Some typical code: /** * Let the gravity change the speed. */ private void applyGravity() { speed += moon.getGravity(); } /** * Whether we have touched the landing platform yet. */ private boolean isLanding() { Color leftColor = moon.getColorAt(getX() + leftX, getY() + bottom); Color rightColor = moon.getColorAt(getX() + rightX, getY() + bottom); return (speed <= MAX_LANDING_SPEED) && leftColor.equals(moon.getLandingColor()) && rightColor.equals(moon.getLandingColor()); } So I'm checking it out and it looks useful so far (and especially attractive now that Prentiss Hall is coming out with a textbook on it next month). But I wanted to check here and see if anybody had any suggestions or ideas, especially with regard to Greenfoot (experiences, problems, etc). Thanks! Edited July 26, 2008 by Pangloss
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now