In January, Educause, a higher-education technology group, presented a white paper that argued for a federal fund to build broadband networks. It would support the delivery of data to computers in all homes and businesses at a speed of at least 100 megabits per second by 2012. (The delivery speed of most cable modem providers is three to 10 megabits per second.) The group estimated that such networks would cost about $100-billion to build. And they proposed that one-third of the money would come from the federal government, one-third from the states, and the remaining third from the private and/or public sector.
The plan appears to be gaining traction in Congress. Sen. John Kerry, a Massachusetts Democrat, is crafting legislation that would codify Educause’s proposal, “A Blueprint for Big Broadband”.
Educause has long been pushing for faster and cheaper broadband networks to support distance education and research.—Andrea L. Foster




8 Responses to Senator Prepares Legislation to Support Broadband Fund
John Golden - January 16, 2012 at 11:09 am
Greenfoot has been highly recommended for learning Java. http://www.greenfoot.org
Just today I saw an announcement about KidsRuby. http://kidsruby.com/
Ben Deaton - January 16, 2012 at 12:16 pm
Project Euler is actually a lot of fun. I got into it several years ago and worked through maybe 10 problems—I can’t quite remember. At the time I had the thought of doing one problem each week on the weekend (this was when I started learning Python), but hey, life gets busy. :) The nice thing there is that you certainly will become stumped, but when you do, you can find answers posted all over the internet. And, you’ll see many different approaches among how other people solved the problem. I might have solved it in 20 lines of code. Someone else will do it in 3.
kimbruce - January 16, 2012 at 6:02 pm
One word of caution here. I’m very much in favor of more people learning how to program. However learning how to program without getting feedback on your code is like trying to learn how to write essays without ever getting any feedback. You might get lucky and be able to tell why your solution is not as good as the model solution (assuming there is one), but chances are you won’t be able to detect which differences to pay attention to without some help from someone more expert. We often spend a lot of time trying to break self-taught programmers from practices that don’t scale up and are error-prone. I think on-line courses can be very helpful, but only if you get real feedback on your code. (I realize that some in-person courses also don’t give feedback on code — they also have real problems.)
So, go ahead and learn using on-line resources, but try to pay attention to style issues and try to get feedback on your own code as you go along.
mjptak - January 17, 2012 at 9:36 am
You must not forget bucky at http://www.thenewboston.com in any list of computer programming exercises. His videos will increase your awesomeness.
cwinton - January 17, 2012 at 11:22 am
The comparison of programming to writing is apt. It is (relatively) easy to write programs that functionally perform a task, especially for the “toy” problems given as assignments, but far more difficult to produce effective ones for a larger purpose (perhaps the writing analogy being production of an essay for a class vs. writing a book). The instructional role for each is to encourage better construction and discourage bad usage that may develop into self-limiting habits. The major difference is that every computer program is a model providing a “solution” that has to pass muster with a very dispassionate task master (the computer on which it is implemented – and for larger purposes, make that computers).
It is perhaps unappreciated the extent to which programming is as much art as science, wherein your program (or more accurately, program module) may be very different from mine with both providing rather elegant ways to address the task at hand.
The role of the programming language (or programming environment) chosen also seems to be poorly understood, with many unwilling to undergo the rigor of learning an alternative better suited to the task at hand. This is called the “mother tongue” effect, where even in computer science it can be quite difficult to get students to undergo the intellectual effort required to master a second language (which may be encouraged by a good course in compiler theory – any mathematician should revel in the mathematics underlying formal languages).
One thing I feel compelled to add for those new to the practice. In producing any program (even a poorly written one) it is critical to incorporate embedded documentation (aka comments), not only because it is a good habit to form, but because for any but the most trivial of constructions, within six months (or for the older among us six days), you will no longer retain the thread of logic that was behind what you have written. It may even be helpful to leave behind, appropriately “commented out”, approaches attempted and abandoned (commenting out is also a commonly employed debugging tactic).
We are still wrangling over how best to get people started on programming, for which there are as many opinions as there are programming languages!
austinbarry - January 18, 2012 at 11:11 am
One thing to remember is that programs (or rather systems) are constantly being rewritten – sometimes to do things that are beyond the scope of the original program, and sometimes to improve efficiency or “clean up” the code. Also, the person doing the rewriting may not be the original author.
As an exercise, perhaps have “requirement cards” – you draw a set, and hide a few of them. After you’ve finished the program you reveal one of the cards and modify your program accordingly. Another exercise might be “pass the program”. You write the first draft and pass it on to someone else to work on, while you take someone else’s program and work on it.
Ironically computer programs are as much for human consumption as for computers. With a computer you can see if the program runs at all, gets the right answer, or runs efficiently (either based on raw time, or measuring operations). There are also metrics one can apply to the code (raw line counts, McCabe’s metric, etc) which attempt to measure code quality, but ultimately the real test is if a human can read it, understand it, and add to it.
aftonsmith - January 23, 2012 at 5:11 am
I
was very encouraged to find this site. I wanted to thank you for this special
read. I definitely savored every little bit of it.
Heathrow
cabs
aftonsmith - January 23, 2012 at 5:11 am
I
was very encouraged to find this site. I wanted to thank you for this special
read. I definitely savored every little bit of it.
http://www.travelbirdcars.co.uk/heathrow-minicab