The leaders of Internet2 are lending a hand to what could be called “Internet 3.” The Internet2 advanced research project, a consortium of colleges and others, announced this week that it will loan a small part of its network backbone to GENI, a research project hoping to design an updated replacement for the current Internet.
This doesn’t mean your course Web pages will load faster anytime soon. GENI’s leaders are still deciding what kind of approach they should take to building a replacement Internet. And then they’ll most likely build an even bigger experimental network to test their ideas, which, if they work, could be incorporated into a new network. —Jeffrey R. Young




19 Responses to GENI Project Gets Slice of Internet2′s Network for Experiments
gasstationwithoutpumps - April 6, 2012 at 9:32 pm
I disagree—math classes are very much different targets for different majors. The requirement for “some sort of formal reasoning” for humanities, “biostatistics” for biologists, and “differential equations” for engineers is emphatically not “differences in content, not in expectations.” The differences are probably *larger* than the differences in expectations between different first CS courses, which end up looking more like the different flavors of freshman physics (conceptual, algebra-based, calculus-based, and calculus-based for physics majors), rather than the enormously wide differences in math requirements.
What happens in writing is that we set and hold rather minimal standards—about the equivalent of algebra 1 for math. Some students go way past that in college, and some don’t.
cwinton - April 8, 2012 at 8:29 pm
I think the problem is that we get too caught up in skills, presumably because we feel that skills motivate increasing the level of abstraction, since that has been our experience with mathematics. After all, counting and measurement lead to algebra and geometry. Modeling physical phenomena leads to calculus. Interestingly, these provide useful tools for other things we seek to abstract, whether it be economics or statistics or computing. We then take the structures developed for models and abstract them even further, hoping to gain increased perspective that will help solve problems the solution for which escapes us because we cannot see the forest for the trees, so to speak.
Perhaps we should be concentrating more on using modeling as the motivator? After all, anything we implement on a computer is in effect a model, complete with simplifying assumptions. It would be nice if students understood this. Operation of a computer model often provides understanding and insight into that which is being modeled (and by the same token, may misguide).
For mathematics we begin working on the motivators in grade school, but for computer science we can’t do that, for it would mean starting students with microcode to construct a machine language, from which to develop programming languages at increasing levels of abstraction (and it appears to me that at the moment we seem to have plateaued the level of abstraction for programming). However, we just might be able to convey the relationship between automata and formal languages as a powerful example of modeling to address the first level of abstraction for programming languages, using that as a starting point.
Learning to program in some flavor of high level language is fine, but we also need to keep in mind the “mother tongue” effect; i.e., the intellectual effort to master some skill makes people reluctant to do it another way, even if an alternative is demonstrably better (as a case in point, I bet almost everyone reading this uses a QWERTY keyboard). For programming that weighs in favor of using as a first programming language one that is not particularly useful for many common tasks computers are used for; in particular one that encourages keeping options open. Note that pertains to CS majors as well as others, since one objective should be to instill a sense of value for exploration of options other than the one that is going to get you a good job. That might well mean focusing on something that does not rely on a procedural paradigm, but I’m going to leave it at that, because I’m rapidly getting in too deep for a general comment.
Robert Talbert - April 8, 2012 at 8:58 pm
Great comment. It is very important, indeed, that students learn programming, not any particular language to the point they can’t function in some other language. I think this comes down to the instructor providing a “need to know” for the students. Example from my limited skill set- Why learn MATLAB? Why not just use Python for everything? The simple way to motivate this is to set students up with linear systems, say 200×200, and ask them to solve such a system using the computer. That’s a seriously daunting Python task but a trivial one in MATLAB.
For a general-purpose audience, like you’d have in a required CS course, I wonder if it wouldn’t be better to use a language that works well for learning programming concepts but would (probably) never be used in a real-world setting, like Scratch.
sramlo - April 9, 2012 at 9:04 am
Interesting comments… I am involved with our campus STEM initiatives… generally STEM majors already take a software applications type course and a computer programming course. I think that the target should be how to make non-STEM majors more literate about computers and computer-applications. Fifteen years ago I designed a Software Applications course for engineering technology majors. And although sometimes faculty think that this course is no longer needed because these students come in with these skills, they are mistaken. Students do not generally understand how to do much more with Word than use it as a typewriter… Excel to them is to generate tables. These applications are significantly more rich than this rudementary uses and those are the skills that students need to leave college possessing. Unfortunately many of my colleagues do not possess these skills… yet it seems to make much more sense to incorporate the use of these software applications throughout a college career – regardless of major.
22000394 - April 9, 2012 at 9:09 am
So how many people, among the author of the posts and those who are commenting, are computer scientists? Are any of them?
And would we tolerate having the math department dictate English requirements for graduation?
Why is it that everyone thinks he or she is an expert on what constitutes computer science? If we are talking “literacy”, then we are most certainly not talking “computer science” and should not refer to it as such. There has been a national movement for “real computer science” in the K-12 system in part to distinguish for the lay public the IT skills that are literacy from that which really is computer science.
cwinton - April 9, 2012 at 9:26 am
I guess I should confess that I am a retired computer scientist who is still active in the area of robotics. Many computer scientists are reluctant to get too caught up in the issue of what is best for a more general audience simply because our hands are already full in dealing with a rapidly evolving field that constantly has added entire new areas of study (robotics being a case in point, which itself has undergone significant change over the past 25 years and is likely to have an impact on future society rivaling the changes brought on by general purpose computers). Given its potential (and even current) impact for how we conduct our lives, should we incorporate robotics into one of these proverbial first courses? That’s a sobering proposition, since at present the blend of technologies necessary to do so presupposes an audience that at present does not exist in any great numbers.
Robert Talbert - April 9, 2012 at 9:30 am
I’m not sure what you mean by your first two remarks. Are you suggesting that only licensed computer scientists are allowed to make suggestions about CS in the university curriculum? If so, there are two problems with that:
(1) As a matter of fact, when we are talking about university-wide curricular proposals, such proposals are not only received from various departments across the university but are typically voted on by committees with diverse subject areas and approved or disapproved by deans with absolutely zero subject background in those areas. This includes math requirements.
(2) It’s very often the case that subject area experts are not experts in curriculum and vice versa. Therefore we all need each other to craft a curricular proposal that really works. It’s not about “dictating” anything. Dictatorships — whether a university dictating what a department shall teach, or a department dictating what’s best for students at the entire university — don’t last.
Of course I would expect a university’s CS department to have a significant amount of say in something like this. After all, they’re the ones responsible for teaching the stuff if it gets approved. But don’t you think it’s important to hear more voices in this discussion, not fewer?
lpress - April 9, 2012 at 9:42 am
I think we need a definition of the required “computer science” course.
When time-sharing was invented, Kemeney and Kurtz developed the first “computer literacy” course — about half concepts and half programming in BASIC, which they invented for the purpose of teaching. BASIC was their answer to Scratch in your example. It had about a dozen statement types and could be used to illustrate procedural programming. It sounds to me like you envision a course similar to what Kemeney and Kurtz developed.
With the rise of the PC, we squeezed programming out of the intro course and added skills with productivity applications. When Office caught on, it shifted to skills with Office. I agree with you that that course is no longer sufficient, even though it is taught on many campuses. (At my school, slightly different versions are offered by two different departments — campus politics at its best :-).
Today we need a digital literacy course for the Internet era. My definition is that we need a course that teaches the “skills and concepts necessary for success as a student and after graduation as a citizen and a professional.” This is neither a programming course nor an Office skills course.
As others have pointed out in comments, it is not a one-fits all course. My solution to all of this is to implement a collection of modules from which several overlapping courses can be constructed. Some of those modules can introduce programming or procedural thinking, but many other skills and concepts are relevant to today’s students.
Perhaps you should be asking “how many ‘CS’ courses do we need?” I wrote a post to that effect on G+ when your last column came out. (https://plus.google.com/114528586908817727732/posts/EJ8oRxRbDtY).
juneparsons - April 9, 2012 at 9:46 am
I consider myself a computer scientist and taught many computer literacy courses (general ed requirement for all students) where students learned to “program” using dBaseIII. (That should get you all thinking.) Back then, “computing” was at the heart of the course and seemed to be at the core of a useful body of knowledge relevant to digital devices.
Today, I’m not sure that programming is such a central concept. We have to ask ourselves: “What does every college-educted person need to know to function in our digital world?” I’m not talking about how to use Facebook; I’m talking about what we need to know in order to make decisions about the way technology affects our lives.
We’ve seen politicians make absurd decisions about technology issues. I can only hope it was out of ignorance and not stupidity. But TECHNOLOGY, not programming is the thing that affects every person and thus, it seems that should be the focus of our instructional efforts in a general education required course.
I don’t think the effort to require computer programming for all all students is going to fly, because students and educators will not see the relevance of it as the core topic for a required GenEd course. That is not to say that programming would not be included in a required course–it could be presented as one of the foundational concepts.
I guess what I’m saying is that students DO need to understand underlying technologies in order to grasp the big issues that face us today; privacy, security, economic upheaval, globalization, etc. Here’s an example: We all depend on the Internet. It has been used for political dissent (Egypt,etc). In some cases, repressive governments have “turned off” the Internet. How does that work? How does the Internet work? Could the U.S. president “turn off” the Internet here in the U.S. during a national crisis? Could s/he do it to silence political dissent?
To me, this example seems illustrative of the kind of topic and approach that would be appropriate for a college-level GenEd required course in technology. There is a substantive motivating issue that requires students to learn about the underlying mechanisms of technology, in this case, the Internet with its DNS, NAPs, etc.
So I’m suggesting that we think big here and go beyond programming; beyond office applications, and beyond basic literacy. As I mentioned in an earlier post, I think this topic would be a great ACM special interest group. There is certainly a need to address curriculum for this course.
Robert Talbert - April 9, 2012 at 11:39 am
@chronicle-d199709799a3172c40ccc2488b1c873b:disqus , how does one go about making this into an ACM SIG?
juneparsons - April 9, 2012 at 11:52 am
I will check.
luke_fernandez - April 9, 2012 at 1:06 pm
I’m sympathetic to the idea that programming might be becoming a basic literacy. However, I’m not sure whether everyone who is behind the “learn to program” initiative is driven by the same imperatives. Consider for example digital humanists (DH) who share the “learn to program” interest. But their interest in the subject is comprised of two camps. One camp sees the drive to literacy as a tool (or technique) which can help to enhance the study and dissemination of the humanities. In contrast, the other DH camp is more interested in using the lenses and extant tools of the humanities to make sense of emerging digital technologies and techniques. This latter camp, is less interested in the instrumental value that programming can confer. Instead, it wants to learn something about the craft and techniques of programming so that the humanities can better describe and interpret emerging digital cultures. Our undergraduates of course, have a set of interests that extend beyond those described by the two camps of DH. But the DH division suggests that there are similar divisions of interest in the constituencies we’re trying to serve in promoting programming as a basic literacy. Catering to those different interests may be another reason to create varied programming and C.S. tracks and another clue on how (or how not to) require computer science for all students. What do you think?
abigailb - April 9, 2012 at 3:22 pm
I agree with this, but if we are to put a student into an introductory programming course when said student is unable to even open applications on the computer, can we really expect that student to rise to our high expectations? Perhaps those students should be required to take multiple courses in order to increase their computer literacy before they can learn how to program. It’s not about believing that students can’t get there; it’s about knowing where they are and setting realistic expectations. It seems like it’s either that, or we allow them to fail.
rnelson50 - April 9, 2012 at 3:32 pm
In 1968 I embarked upon a course leading to a BA in Modern Languages. All students in this non-traditional languages course at the predominantly engineering college in the UK were required to take an introduction to computer programming (Elliot Autocode). It only lasted one term, but it sparked my interest. After successful completion of the BA in Modern Languages followed by an MBA in the US, I began what I consider to be a successful career in Information Technology.
I’m not sure if an introduction to computer programming qualifies as Computer Science, but this modest exposure to the field certainly enriched my life and my career in a way that a course in Office Applications (which did not exist at that time) would not have.
If we’re going to require a course for everyone, let it be something that takes them out of their comfort zone and exposes them to something new.
Mark Guzdial - April 10, 2012 at 9:04 am
Hi Robert! Since I’m here at GT and was the developer of MediaComp, I obviously strongly agree with your argument for having different CS1 courses for different student populations. In particular, I strongly agree with the idea of having different programming languages in those different courses. I blogged yesterday on the idea that there are different “communities of practice” (Lave & Wenger) around different programming languages, and our students seek to become a part of their communities, and necessarily, learn the tools (including languages) of those communities: http://computinged.wordpress.com/2012/04/09/modern-hypercard-for-todays-schools-but-wheres-the-community-of-practice/
I do think that there are different learning goals for those courses, though. Understanding in anything is not linear. There are different bodies of knowledge being taught in our courses, for engineers vs scientists vs liberal arts majors. A few years ago, we were designing an introductory computing course for biology majors, and a big fight broke out over what language — among the biologists. Half the biologists in the room cared about bioinformatics, and wanted students to learn Perl or Python with lots of regular expressions. The other half cared about ecological simulations, and wanted students to learn MATLAB with lots on big data analysis and parallel processing. It’s not like these outcomes are on a linear spectrum. Yes, there’s a core body of computing knowledge that is computational literacy. To be useful to any community of practice, that core knowledge is presented in a context that implies learning outcomes useful to that context and community.
Thanks very much for blogging on these topics, Robert! They are important for higher education, and you do our community a service by raising them up for discussion.
Mark Shulgasser - April 10, 2012 at 9:02 pm
Sloppy analogies, false statements, and it seems you’re arguing not only for how CS should be taught, but that math and writing curricula should also be changed to conform with your ideas about CS! Tunnel vision and insidiously glib academic power grab. I’m reminded of how the teaching of music was ruined in the 50s by tendentious scientistic analogies. Administrators, beware. (I really mean that.)
Robert Talbert - April 12, 2012 at 1:05 pm
The notion that I’m in any position to implement a power grab has me LOLing.
Robert Talbert - April 12, 2012 at 1:07 pm
Thank you for that comment, Mark, and thanks for stopping by. Your blog constantly gets me thinking about issues like this.
juneparsons - April 16, 2012 at 12:48 pm
Robert- I have information on forming a SIG. We should probably discuss offline?