Additional profile information on Alfred Thompson at Google+
Since I brought up C++ the other day I’ve had a few questions in email. Some of the common questions I get revolve around doing more interesting things with the console. By interesting I mean different colors, placing the cursor at specific parts of the screen and the like. You know, all those things we used to do the hard way back in the day before really GUI (Graphical User Interface) objects like we have today with Windows Forms or some of the objects available in Java with Swing. Well I have good news for you. Using a modern C++ compiler like the one in Visual Studio 2005 does not mean you can’t do all that fun stuff.
Today I decided to play with a bit of it. The object you want to use is the Console object and you want to have the IDE create a CLR Console application. The following code is fairly self-explanatory. Console::Title sets the title of the DOS/Console window that is opened. The code in the loop sets the background color to black and prints out two spaces to replace characters in row 10 and position i. Then a sort of arrow (foreground already set to red) is printed on a white background. Then a sleep. Note that you need to add “using namespace System::Threading;” after the line that says “using namespace System;” for the call to the Threading object to work. The
int i;
Console::Title = "Rocket Ship?";
Console::CursorTop = 10;
Console::ForegroundColor = ConsoleColor::Red;
for (i=0; i < 76; i++)
{
Console::BackgroundColor = ConsoleColor::Black;
Console::CursorLeft = i;
Console::Write(L" ");
Console::BackgroundColor = ConsoleColor::White;
Console::Write(L"->");
Thread::Sleep(10);
}
There are other methods available like Clear and Beep and more. Give it a try if you do interesting console applications with your students. Since this Console object is part of .NET you can do the same kind of things in console applications written in C# or Visual Basic as well.
Now available for free is a series of video lessons that use SQL Server 2005 Express Edition to teach databases. The whole series starts here and includes over four hours of video-based instruction. There are 8 lessons in all and they start at the very beginning with "What is a database?"
You may find these videos useful for your own professional development or as additional resources for use in class. The last lesson actually walks you though the steps of connecting a database to a web application so there are lots of places that might come in handy. Check them out and let me know what you think!
Oh and if you don't have it installed already you can get SQL Server 2005 Express Edition as a free download here. You will find other samples and some SQL Server 2005 books available at the same site.
Nicholas Negroponte gave the opening keynote at NECC this morning and talked about his One Laptop Per Child project. You’ve probably read about this ambitious plan to develop a $100 laptop that will be sold by the 10s of millions in the developing world to put a laptop in the hands of every student. It’s a very exciting and appealing idea.
I was hoping to here my greatest concerns addressed but they were not. My greatest concern is about software (other than the operating system) and curriculum. Teacher training is also a concern. Those issues were pretty much addressed by suggesting “kids will figure it all out.” I am reminded of the old cartoon where a manager is showing of a project plan drawn on a white board. After a complex flow chart the diagram ends with a circle labeled “and here a miracle occurs.” How the computers will actually be used and how they will actually improve learning is my biggest concern and yet it an issue no one seems to be holding Mr. Negroponte’s feet to the fire on.
I do like some of the ideas that are going into the project. I like the low power requirements, the simplified keyboard, and the built in networking. It will be interesting to see if they can get the mesh networking working reliably because that is also a pretty cool idea. I like the idea of a slimmed down operating system. If I had the time and money and skills that would be something I would love to work on myself. Alas I lack all three. While I have been part of an OS development team my areas of expertise do not include the more important parts of an OS.
The simplified operating system is clearly a necessity for this project. I wish that they hadn’t chosen to go with Linux not because it is open source but because I think it has an amazingly poorly designed user interface that is unnecessarily complex. But I suppose they had little choice unless they wanted to build something from scratch. I think that Mr. Negroponte quite unfairly criticizes Windows for not fitting his needs out of the box. It is a bit like criticizing a sailboat because you can’t water ski behind it. Windows was designed for something other than what he wants to do with it. Frankly you don’t often hear people yelling “make Windows less user friendly and take away most of the features.” Well you hear some of that from competitors who think that it is ok for Apple to put features into their OS but not OK for Microsoft to put the same features (web browser, media player to name two) in their operating system. But I digress. I must confess that Mr. Negroponte’s attitude towards people who want to make sure the emperor really is wearing clothing turned me off quite a bit.
It will be interesting to see what does happen with this intuitive. The results of laptops for everyone in the US have been mixed. Some people find that they have worked well others poorly. The difference seems to be that the programs that work start with teacher training, a clear idea of what goals will be accomplished in what classes using what software, and a lot of curriculum thinking around the idea. The programs that doesn’t work involved handing every kid a laptop and expecting teachers and students to create miracles. The latter sounds a lot like this project.
The pessimist in me also worries that the virus programmers of the world will find 100 million identical networked laptops an irresistible target. There are people who believe that Linux is totally secure from viruses. I suspect those people may also believe in Santa Claus and the Easter Bunny.
It’s not that I wish to see the project fail. The opposite is true. I just worry that they are working on the easy problems and forgetting about the hard ones.
BTW the k12Converge Blog has some questions about the $100 computer program as well. A few interesting ones I haven’t yet thought about. But then there is a whole lot to think about with this project including how it might impact the whole Internet and computer culture of the world. Projects that make people think are sometimes worth it for just that.
By the way, these are my personal opinions. I have no idea what the Microsoft official position on this project is and I certainly wouldn’t get to articulate it on behalf of the company even if I did.
Tags: NECC2006 necc necc06