Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Check out the new SourceForge HTML5 internet speed test! No Flash necessary and runs on all devices. ×

Comment NSF is NOT developing anything (Score 2) 140

NSF is a US government foundation supporting science through grants. They are NOT developing anything nor are they patenting anything. NSF is funding organizations, mostly universities, but has a clear disclaimer statement: "Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation."

The original article does not make any such claims and indeed states "a research project funded by the National Science Foundation" - the poster, EditorDavid, should have been a bit more careful.

Comment not coding by coding? (Score 1) 281

Oh what crazy irony. Jason obviously does not understand what coding even is. His example:

My kids can come in here and decide to make a device where if my son squeezes his teddy he will send me a tweet to say, ‘I love you.’ Or if you walk through a laser tripwire it will set off an alarm. It interacts with actual hardware, actual code and all it requires is a squeeze, a drag-and-drop and a little imagination.”

This is - guess what - CODING. When you do this: IF press(teddy) THEN say('I love you') using drag and drop it is called coding! I should know with AgentSheets we started drag and drop programming 20 years ago. Happy programming.

Comment a RasPI 0 is no computer just like a lawnmower is (Score 1) 190

If you want to drive around in town get a car. Don't buy a lawnmower and extend it into a car-like thing. The thing you build would not be pretty, practical and probably not even, in the end, very cheap. If you want to learn how to build a car - maybe - get a lawnmower...

Comment Wrong PISA Ranking (Score 1) 213

The article suggest that "Only far eastern countries such as Singapore and China outperform the Nordic nation in the influential Programme for International Student Assessment (PISA) rankings."

NOT true! This is based on the much older PISA study. According to the new one Lichtenstein and Switzerland are ranked before Finnland. Get your facts straight!

Comment Don't confuse anthropomorphizing with syntonicity (Score 1) 303

When Dijkstra suggested that "It [anthropomorphizing] invites the programmer to identify himself with the execution of the program" he was a bit confused about the notion of anthropomorphization. To attribute human behaviors to objects, i.e., to anthropomorphize, is very different from projecting oneself into an object. Papert called this projection, e.g. to program a virtual or physical turtle, body syntonicity. There certainly is evidence that this can be a useful thing to do to write or debug programs.

I fail to see the relevance of the example provided by the recent article for or against OO. The code in both cases is essentially the same. Just because there is no explicit class teacher does not mean that example #1 is not OO. There are really cases in which OO does lead towards certain implementation approaches that are inefficient or overly complex for no good reason. Search for "Antiobjects" to find some examples where OO would suggest to put certain behavior into a certain classes in ways that may result in very complex code. The Antiobject approach, in contrast, can lead to a very simple solution. The two approach are not only different in terms of perspective and where the code really goes but in terms of actual code. An example would be to compare a concurrent search, e.g., multiple ghost tracking down a pac-man. In the traditional OO approach one would be tempted to put the complex, e.g., A*-based "AI" into the ghosts. In the antiobject approach one would put the tracking code into the background, e.g., the tiles and walls of a maze to implement, say, a Collaborative Diffusion approach. The collaborative diffusion approach is not only trivial to implement but also results in sophisticated collaboration patterns that would be much more difficult to match with approaches flavored by traditional OO design.

Comment sequential programming mindset (try 64k cores) (Score 1) 449

I was lucky enough to gather some parallel programming experience on the Connection Machine CM2, a 64k CPU (yes that is 65536 CPUs), 12 dimensional hypercube, a long time ago. The CM2 ultimately failed but we did get many great insights into parallel programming. At the time it was just not feasible for low cost, on your desktop, computing. It is NO problem to keep massive numbers of cores busy doing interesting computing. OK, the 12 dimensions are less clear on how to use them. At any rate, to claim that there is no need for 100 cores or more is really small minded because unlike the time when silly "the world does not need more than 5 computer" kinds of comments were made we already have evidence that there are powerful ways to employ massive parallel computing that can use thousands or even millions of cores.

Just because we are being caught in a sequential programming mindset does not mean that there is no room for parallel programming. If you are looking at a two dimensional array of data and think of a nested loop you ARE caught in a sequential programming mindset. Additionally, famous people, including Dijkstra, have poopooed some algorithms that are inefficient when execute sequentially to the point where researcher, or programmers, are not even looking any more for good parallel execution. Take bubble sort. Not sure it was Dijkstra but somebody suggested to forbid it. Yes, on a sequential computer bubble sort is indeed inefficient but guess what. If communication does matter and if you are using a massively parallel architecture (i.e., not 4 cores) bubble sort becomes quite efficient because you only need to talk to your data neighbors. Likewise there are AI algorithms that can be shown to be behave really well when conceptualized and executed in parallel. Collaborative Diffusion is an example: http://www.cs.colorado.edu/~ra...

Comment Computational Thinking Patterns (Score 3, Interesting) 121

Computational Thinking Patterns is a framework to explore and describe game play in ways that is independent from programming language. These patterns are based in phenomenology. These patterns are used in the Scalable Game Design project and mentioned by teachers are one of the most important abstractions that help student to analyze and build games. The same patterns are used to also build STEM simulations. Through theses patterns there is transfer from game design to STEM simulation building: http://sgd.cs.colorado.edu/wik...

Comment AgentCubes online (3D game design/ CS EdWeek) (Score 1) 121

AgentCubes online features an hour of code tutorial that allows you to make a 3D game in a browser. This is the first 3D browser based programming environment and includes making your own 3D shapes. The CS EdWeek / hour of code tutorial is about a 3D Frogger game but you can build a huge spectrum of games ranging from simple 1980 arcade style games to sophisticated AI SIMS-like games: http://sgd.cs.colorado.edu/wik... Proof that this is simple to do (Fox New 31 TV Anchorman makes a game with AgentCubes): http://kdvr.com/2013/12/10/kid... AgentCubes online is used in many schools and has been funded by the National Science Foundation.

Comment AgentCubes online for 3D design + programming (Score 1) 107

Scalable Game Design with AgentCubes online (http://scalablegamedesign.cs.colorado.edu https://www.agentcubesonline.c... fits the bill as it allows your daughter to create 3D worlds similar to Minecraft but includes the ability to design her own shapes and program them.

Comment Don't just be reactive, compute the future (Score 1) 294

In live programming an attempt is made to reduce the time between a program change and the ability to wittness consequences of this change. In the good old days, with punched cards, this was not a pretty picture as it could take a long time to get to that point. With Conversational Programming, which is a special kind of live programming, we try to go one step further and compute of the program you are writing. A simple version of Conversational Programming has been added to AgentCubes online. You can play with this as part of one of the hour of code tutorials: http://hourofcode.com/ac

Slashdot Top Deals

Basic unit of Laryngitis = The Hoarsepower