Click the following link to download the complete ABC Book for Computer Science at Cornell.


A is for Algorithms — what else would it be?

Of A-groups we’re strongest, most arguably.
We started out small but with high quality,
With Hopcroft the focus, the center, the key.
It’s bigger than him now, as you can see,
Ever since we became multidisciplin’ry.

The range of our contributions to algorithms is impressive and extensive.

Hopcroft: an ACM Turing Prize for his 1971-72 work with Bob Tarjan on planarity algorithms.

Dexter Kozen: algorithms in computer algebra and symbolic computation.

Eva Tardos: a Fulkerson Prize for her work on network flow algorithms, with newer work on networks like the Internet and social networks, and the new 2006 George B. Dantzig Prize.

David Shmoys: influential in giving approximability the role it enjoys.

ORIE colleague David Williamson: a Fulkerson Prize for his work on semidefinite programming in approximation algorithms.

Jon Kleinberg: a MacArthur Genius Award for his work on hubs-and-authorities, which changed how search engines rank pages.

New faculty member Bobby Kleinberg: already recognized for his work on stochastic algorithms and learning-based models for networks.

There are others. Ramin Zabih and Dan Huttenlocher: major impacts in algorithms in computer vision. Bart Selman and Carla Gomes: AI algorithms. Johannes Gehrke: data mining algorithms. David Gries: the methodological side of algorithm design brings another perspective to the table.

On top of that, the group influenced the teaching of algorithmic design, beginning with the classic text on The Design and Analysis of Computer Algorithms by Aho, Hopcroft, and Ullman (1974), and moving through Kozen’s text on The Design and Analysis of Algorithms (1991) to the new Kleinberg-Tardos text Algorithm Design (2005).


B is for Bio — computational kind.

We’re into B big, with B we’re aligned.
But it’s not like those DNA seqs are aligned.
Instead, B and CS are now intertwined.

In the 1990s, recognizing the influence CS could have in comp bio, we began looking for faculty. Dexter Kozen, a complexity person, and others collaborated with the wonderful people in bio throughout Cornell, and in 1998 we hired Ron Elber, who does bioinformatics and protein dynamics. Bioinformaticist Uri Keich came on board in 2003.

The Comp Bio program, now within CIS (the Faculty for Computing & Information Science; see Q), is part of Cornell’s huge Life Sciences Initiative; over 100 faculty are involved. The number of CS faculty doing comp bio is growing —seems like everyone except me. For example, Elber and jack-of-all-trades Jon Kleinberg did some amazing work on protein evolution, and Elber is working with machine-learning-AI prof Thorsten Joachims on alignments.

Elber collaborates with many people at Cornell —when Steve Tanksley of Plant Breeding couldn’t figure out where his tomato gene belonged, Elber’s software told him in a few minutes that the gene was similar to a human gene that controls cell division and growth.

Did you hear about Bridging the Rift? That’s a research facility being built by Israel and Jordan on their border, in collaboration with Cornell and Stanford. Elber is director of its Library of Life, which will attempt to record information on all living systems in that area. Because of the massive data to be recorded, our folks in data mining are involved.

Want to do comp-bio/data-mining and see the world? Join us.


C is Collegial CS at Cornell

Without it, our workplace would simply be hell.
To those who play mean, we bid a farewell,
For we want the place to be synergic-el.

Want a contented, cheerful environment, in which synergistic cooperation thrives? Then strive to eliminate politics, remove cliques, and give everyone, young and old alike, respect and the chance to voice their opinion. And make sure that all the right hands in the department know what the left ones are doing. From the beginning in 1965, we worked to develop and maintain such an environment, with the whole faculty going to lunch and coffee together every day. And we still work at it.

Of course, we have significant arguments —thank goodness, we don’t all think alike. But these arguments generally remain technical and impersonal, and afterward the opposing parties can drink a beer together.

We are human, so there is sometimes some behind-the-back talking and gossip. And, there have been periods where ill feelings came out and hurt us. But we overcame those periods. For we know that the department that convives together thrives together.

Collegial: Characterized by equal sharing of authority. Marked by camaraderie among colleagues.


D is for Databases and Digital Lib’es.

In CS at Cornell, our D’s have good vibes.
The groups are not big, but their projects are,
For their data has reached the petabyte bar.

Our database/datamining group —Alan Demers, Johannes Gehrke, Jay Shanmugasundaram, and researchers Mirek Riedewald and Walker White— are doing neat things:

Demers and Gehrke collaborate with Astronomer Jim Cordes on data gathering and managing a new petabyte-sized database of pulsars in the Milky Way. Riedewald and machine-learning expert Rich Caruana are helping Cornell’s renowned Lab of Ornithology with the database of volunteer-reported bird sightings, the largest and longest-running resource of environmental time-series data in existence. Gehrke, Demers, and Shanmugasundaram , along with Bill Arms, Dan Huttenlocher, and Jon Kleinberg, are working with the Internet Archive to manage and study the 40-billion Web pages archived by the Wayback Machine, the time machine of the internet. As you can see, we’re big on humongous, petabyte database problems.

The database people naturally talk to the digital library and Web people —Bill Arms and researchers Dean Krafft and Carl Lagoze. These guys have been heavily involved in work on digital publishing for years and are now main cogs in the NSF National Science Digital Library (NSDL) project. See letter K for mention of their work on electronic publishing.


E’s Education — it’s part of our mission.

It’s more than simply knowledge transmission.
We generate thinking, and discrim’nation,
And also foment true knowledge creation.

We have a history of writing texts that influence the field. Gries wrote the first text on compiler writing in 1971, and his 1981 text on the science of programming brought formal programming methodology to the undergrad level. John Hopcroft, and Ullman wrote the classic algorithms text in 1974; Kozen followed up with an algorithms text in 1991, and Tardos and Kleinberg just published an algorithms text that reflects modern multidisciplinary practices. Charlie Van Loan’s text on Matrix Computations (coauthored with Gene Golub) is one of the most widely cited text in the computing and mathematical sciences. Look, and you’ll find some 75 books by members of the CS department.

You can also judge our education efforts by our awards: 7 honorary doctorates, 4 national/international awards for education, a NY State Professor of the Year (over all disciplines), and 9 exclusive Cornell teaching and advising awards to our current faculty.


F is the Future — of the field and of us.

Predictions are hard, and oft futilous —
The best I can do, the best I can say,
Is that we will continue to lead the way.

Predicting the future of computing is as hard as predicting the weather in Ithaca two hours from now. In 1957, a professional Editor predicted that data processing was a fad that wouldn’t last more than a year. In 1977, the president of DEC saw no reason why anyone would want a computer in their home (where is DEC now?). No one predicted the Internet even a year before it started. The only thing we can really say is that there will be change, and the only thing that hasn’t changed is the price of a computer —since the 1940’s, $300–$500 per pound.

Predicting the future of the department is easy. We will continue to lead in research and teaching as long as we adhere to basic principles: First, maintain a comfortable, collegial environment in which everyone can prosper. Second, hire only the best young faculty, (almost) regardless of area, and welcome them as full members of the department. Third, when the opportunity arises, hire a brilliant senior person to help move us in a desired direction. Fourth, admit only the best graduate students, for they are a vital component of the research arm.


G is for Graphics, the digital kind.

That we’re great in this field we need no remind.
A force in the field since ’73
Is the Prog. for C. Graphics —it’s called PCG—
The leader’s Don Greenberg, DG #1,
And Bala and Marschner join in the fun.
Five SIGGRAPH awards and five Hollywood Oscars
—go elsewhere for graphics? You’re off your rockers.

The Program for Computer Graphics was started in 1973 by Don Greenberg, with the goal to synthesize pictures that are physically accurate and perceptually indistinguishable from the real world. The group works in modeling, rendering, light reflection, and much more. Some current work involves animation and character rendering.

The PCG has been very influential. Indeed, it has garnered five SIGGRAPH awards and five Technical Oscars. The latest Oscar was given to Steve Marschner and Pat Hanrahan (of Stanford) for their model for reflecting light from skin; the model was almost instantly adopted by the film industry and was used, for example, on Gollum in Lord of the Rings.

Note: David Gries is DG #0.


H is for Honors earned by our folk.

How about a hand for 33-year-old Jon Kleinberg, who won a $500K MacArthur Genius award in Fall 2005? His work on networks resulted, among other things, in his hubs-authorities model of networks, which influenced how search engines do their ranking.

Give a hand also to Juris Hartmanis and John Hopcroft, ACM Turing Award Winners, to Don Greenberg, Hartmanis, Joe Halpern, Gerry Salton, and Eva Tardos for really distinguished awards in their fields, and to Hartmanis and David Gries for their CRA Distinguished Service Awards.

What about Dan Huttenlocher, NY State Teacher of the Year (over all disciplines), and Gries, winner of 4 national education awards?

There are too many awards in CS to list here, but you will find them listed in our 40th anniversary booklet.

It’s important to say that the junior faculty get their share of recognition, too. Here’s one measure of that: In the past three years, 21 different faculty (out of 33) gave a total of 83 invited lectures at conferences.


I is for Intelligence — Artificial of course.

We used to eschew it, and with no remorse.
But times they have changed us, and now we embrace
AI as our own —but of course with good taste.

CS at Cornell was not into AI in the 60’s and 70’s. We didn’t have the computers necessary to do AI, enticing excellent AI faculty to our department was difficult, AI was a bit soft at the time, and we limited our scope in order to do justice to the areas of most interest to us. Also, not having AI gave us a reason to feel superior. In the late 80’s and 90’s, we gradually moved into AI, and AI is now our largest group. AI has been crucial to our move into multidisciplinary work.

Joe Halpern is well known for his work on logics of knowledge —he got a Gödel prize for some of it. Claire Cardie’s and Lillian Lee’s research in sentiment classification and extraction has, in large part, been responsible for a surge of interest in that field. Rich Caruana and Thorsten Joachims, our machine-learning experts, have leading roles in the KDD area. Carla Gomes and Bart Selman are known for their work in constraint languages, logic formalisms, fast reasoning methods, analysis of large linked networks, and the like; they do computational complexity as well, and Selman and his colleagues have found a link between computational complexity and phase transitions, as in water freezing. Dan Huttenlocher and Ramin Zabih are our vision experts: Huttenlocher has made fundamental contributions in object recognition, including Hausdorff-based methods, and Zabih is helping the folks in medicine with vision problems. Bob Constable, of course, is known 30 years of work in automated reasoning.


J is for the Junto that’s gen’rally called Cornell.

We’ve honed the spirit academic to a fare-thee-well.
Except for mis’rable weather, it’s the opposite of hell,
So for those who end their studies here, it’s hard to say farewell.

A junto is supposed to be a small, often secret, group united for a common interest. However, when he was 21, Ben Franklin formed The Junto, a discussion group with a “spirit of inquiry and a desire for self improvement”. Members were expected to love truth for truth’s sake and to endeavor impartially to find and receive truth themselves and communicate it to others. Members sincerely declared that they loved mankind in general, regardless of profession or religion.

In that spirit, Cornell is a junto —but a large one. Started in 1865 as a place where “any person can find instruction in any study”, Cornell now has seven undergrad colleges and four grad and professional colleges, and you can indeed find courses in just about anything, from wine making to mushroom picking to computing in the arts. Cornell was one of the first universities to admit women (1870) and build a residence for women (Sage Hall, 1875). Today, “Cornell is committed to act responsibly and forthrightly to maintain an environment that opens doors, opens hearts, and open minds.” The open-minded spirit of inquiry does indeed flourish here.

The graduate-field structure has made it easy to engage in multidisciplinary work, and you’ll find more of it than in any other place. CS itself gives degrees in three colleges and has research connections with more, and all CS students will find it easy to learn about multidisciplinary areas.

It’s a pretty perfect place.
And the weather is great in the summer.


K is for Knowledge. In efforts to spread it.

Cornell is digitally, of course, at the head of it.
Database arXiv represents the ideal of it.
Cornell faculty get credit for much of it.

You may know that scientists are putting more and more research articles on the Web instead of submitting them to traditional journals. You may know that the major database for this, arXiv, which is free and is minimally moderated, contains over 380,000 articles in physics, math, and CS and gets 50,000 new submissions each year. But do you know Cornell’s role in these ventures?

ArXiv is maintained by the Cornell Library. It is the brainchild of Cornell Physics-CIS prof Paul Ginsparg. He originally developed it while at the Los Alamos National Lab and still does research on it —he got a Macarthur fellowship for it. CoRR, the CS part of arXiv, is due to CS prof Joe Halpern, who pushed the ACM into supporting it and worked with Ginsparg and CS researcher Carl Lagoze to incorporate it into arXiv.

Many of the behind-the-scenes software ideas in today’s digital libraries are due to Cornell people like CS researchers Dean Krafft, Jim Davis, and Lagoze. In the 1990’s, they worked with others including CS prof Bill Arms —then at CMU— on a DARPA project to put tech reports on the web. Lagoze and colleagues built the Dienst architecture, which led to the Fedora project and the widely used metadata harvesting protocol OAI-PMH. Today, this technology underlies the NSF’s National Science Digital Library, the state of the art for web-based digital libraries, which has its technical leadership here at Cornell.

Synergistic things happen over the years when quality researchers in different areas talk to each other.


L is for Languages, compilers, and such.

A field we’re involved in so very much.
Why? —naive people may suddenly ask;
‘Cause notation’s oft key to solutions of tasks.
As Benjamin Whorf once said he did find,
Language does shape the thought and the mind.

We have been heavily involved in languages and compilers from the start. The PL/C compiler in the early 1970s; the first text on compiler construction; Tim Teitelbaum’s Cornell Program Synthesizer; the language Russell, semantics (e.g. interference freedom, the basis for proving parallel program correct, was developed here) —these were influential projects in the 1970s and early 1980s.

Compilers themselves have remained an area of intense work here. For example, Keshav Pingali has had a long an influential project on compiling for parallel computers, which has expanded to deal with many more issues in compiling. Radu Rugina also works on compiling and program analysis to make software more robust, secure, and efficient.

Much of the current language work is inspired by security issues. Besides the language-design work in Andrew Meyers group, there is emphasis on analysis and synthesis methods that provide mechanical means for ensuring that a program and its execution will satisfy certain properties —a field called “language-based security”. Dexter Kozen works on various aspects of proof-carrying code, and Fred Schneider, chief scientist on the multi-university NSF grant TRUST, and his students pioneered the use of in-lined reference monitors to check for violations of security policies.

Like other work in CS at Cornell, this work is tied to principles and often addresses problems that transcend technology or specific engineering issues. “Think first, build second” is a succinct characterization of our primary modus operandi. Perhaps that is why Cornell has been a leader in this field.


M is for methodology — the programming sort.

It’s not caught on big, but don’t sell it short.
A sonnet’s too long to capture its worth,
But a Haiku will work, if it’s absent of mirth.

Programming methodology
What economy,
elegance, simplicity,
beauty, poetry.

Cornell was heavily involved in formal programming methodology almost from the start, e.g. with the first text to take correctness issues seriously (Conway & Gries, 1973), automated proof checking (Constable, 1974 onward), an award-winning paper on proving parallel programs correct (Owicki & Gries, 1975), a text on the science of programming (Gries, 1981), fault tolerance (Schneider & students, 1980s), a discrete math text emphasizing calculational logic (Gries & Schneider, 1990s), and a comprehensive text on concurrent programming (Schneider, 1997).

Unfortunately, methodological issues have not been integrated into the undergrad curriculum as expected. In fact, the word “invariant” doesn’t even appear in most intro-to-programming texts. The reason, I think, is that teaching a “science” of programming requires teaching a skill rather than simply facts, and instructors themselves have not been willing to learn the skills. It is a pity, because with suitable education in programming methodology, later courses in data structures, algorithms, etc. become more efficient and effective. Moreover, students are missing the sheer joy and intellectual fun that comes from watching a beautiful algorithm emerge from following a methodology. The elegance, the simplicity, the poetry in programming are missing.

/** Assume virtual elements
b[-1] = -infinity and b.[b.length] = +infinity.
Return a value i that satisfies

    R: b[i] <= x < b[i+1] */

public static int binarySearch(int[] b, int x)
    int i= -1; int j= b.length;
    // inv: b[i] <= x < b[j] and
              -1 <= i < j <= b.length
    while (j != i+1) {
        int e= (i+j)/2;
        if (b[e] <= x) i= e;
        else j= e;
    return i;
“…back in 1986, I wasn’t very impressed, and I didn’t understand why I had to learn that stuff. … But with the passing of the years, I have found that … [what] you imparted to me —against my will— was the most valuable thing I learned at Cornell. You taught us how to do proofs of correctness of programs in the languages and environments, at the level that we would need to do them in the real world, at a level of detail that gave real assurance of correctness of code.”

—a Cornell PhD alumnus, in 2005


N’s for NA — but it’s not “Not Applicable”.

Its practical use is indeed undeniable.
What is NA, a new student asks.
We turn to Trefethen, who in the field basks.
Alg’rithms, he says, the study of which
Solve problems of math in th’ continuous niche.

Numerical analysis, as Nick Trefethen, our former colleague, will tell you, is the study of algorithms for problems of continuous mathematics —it is not just about rounding errors, accuracy, and approximation.

We are proud to have been a substantial player in the field of NA, or scientific computing as it is now called, right from the start. Jim Bunch (co-author of Linpack), Jorge More, John Dennis, Tom Coleman (now Dean at Waterloo), and Trefethen (now at Oxford University) all spent substantial time here.

The NA group is led by Charlie van Loan, whose coauthored book Matrix Computations is one of the most widely cited text in the computing and math sciences, and Steve Vavasis, whose automatic mesh generator is one of the most important software tools in solving boundary problems over irregular domains. Paul Chew’s work on mesh generation needs mentioning too.

The Cornell environment has helped NA flourish here, with strong ties to Math and the Center for Applied Mathematics. Interdisciplinary work is stronger than ever before. For example, there’s Uri Keich’s work on BLASTn for matches in DNA sequences, and Keshav Pingali’s advances in grid computing has contributed to the success of the work of Civil Engineer Tony Ingraffia and Vavasis on crack propagation in airplanes. And, as Van Loan will tell you, PageRank is an eigenvector computation!


O is for Ourselves, the people in CS.

Our names are given down below, fifty more or less.
That’s faculty and researchers, we left out the admins
and a lot of other staff, who are our endorphins.

Endorphins are peptides in the body that reduce pain and produce a sense of well being. Well, that’s what our staff does —the executive administrators, the human resource staff, the staff in the financial office, the staff in the undergraduate and graduate offices, the computing facilities staff, and the research staff. It takes over 50 people to support the faculty and senior researchers! Without their excellent work, this place would fall apart. Thanks, Endorphins!

The centerfold of the ABC book has pictures of the faculty and researchers in the Computer Science Department. The diagram below helps you put names to faces.


P is for Ph.D. — and that’s pronounced “fould”,

So the meter and rhyme of this poem is good.
360 grads who wear our PhD hood
Are now in CS for their livelihood.
There’s a cabbie or two (I think) in the brood,
But most lead CS, as we expected they would.

We started in 1965 with only a PhD program in order to educate PhDs to populate this new field. We have produced about 360 of them, and many are now leaders in academia and industry. There are deans, a vice provost, winners of research honors, and just plain good people who are teaching, doing research, or leading in industry. Plus a few who are making their way in other fields. We are proud of them all. I wish I could list them here, but you’ll have to go to the CS Department Web page to see them. Ninety of them —fully 25%— came to our 40th anniversary symposium, and that says something about our relationship with them.

It has been said that a PhD thesis is a tome ghostwritten by an advisor under adverse circumstances. There is a bit of truth in everything, but at Cornell, this truth is small. We vie with other topnotch CS departments for the best grad students, and we get more than our share. We give them a great education, and they end up providing excitement and out-of-the-box thinking. They make excellent, inexpensive researchers, and we need them!


Quadragenarian’s what this dept is,

Forty to just before fiftyish.
Few CS depts are older than us,
But age is no reason to make a fuss.
More important is that others do see
Wisdom not boredom in our repartee.

What’s wisdom, you ask? Here’s an example. The data, the information, is that the tomato is the ovary of the flowering plant, the pulpy mass that contains the seeds. Knowledge then explains that the tomato is a fruit. Wisdom tells you not to put it in a fruit salad.

In 1965, Cornell showed wisdom in placing the CS budget with the provost instead of Engineering or Arts & Sciences, because CS had elements of both engineering and science (and now, arguably, art). In 1999, Cornell showed wisdom again, by creating a college-level (but without students) Faculty for Computing & Information Science, with CS at its core, and with the mission to integrate computing and information science —its ideas, technology, and modes of thought— into every academic discipline.

As a result, computing now thrives at Cornell, with undergrad degrees in three colleges and with ties to well over 30 Cornell units. Come to Cornell for exciting research and education in CS, computational biology, cognitive science, computational science, computer graphics, computing in the arts, digital libraries, game design, info sci, intelligent systems, and more.

Cornell is rather special. It has been called “the first American university” because of its founders’ revolutionarily egalitarian and practical vision of higher education.

Did you know: The South Arkansas Vine Ripe Pink Tomato is Arkansas’s state fruit and state vegetable. In 1893, the US Supreme Court defined the tomato to be a vegetable (for trade purposes), going by its use rather than biological classification.


R is for Reasoning —I got all your votes

For (instead of long poem) some reasoning quotes.

Tired mothers find that spanking takes less time than reasoning and penetrates sooner to the seat of the memory.
~ Will Durant

Man is a reasoning rather than a reasonable animal.
~ Alexander Hamilton

The difference between science and the fuzzy subjects is that science requires reasoning while those other subjects merely require scholarship.
~ Robert A. Heinlein

CS at Cornell is a leader in various aspects of reasoning.

First, there is the automated kind, exemplified by Bob Constable’s 30 years of work on the mathematical reasoning system NuPrl, aided by Christoph Kreitz, which helped establish that computers can automate many intellectual processes. Because of Bob’s and other’s work, proofs of over 50,000 theorem are accessible on the Web, many of them in NuPrl. His thirty-five PhD students will tell you that Bob’s a great PhD advisor.

Then there’s the work on reasoning about the development of programs (see the letter M) and the development of calculational logic as a formalization of how mathematicians express many proofs. Gries and Schneider show in their text A Logical Approach to Discrete Math that various proof-development principles and strategies can actually be taught to freshmen.

Finally, Joe Halpern reasons about knowledge. Joe and his former student Yoram Moses received the 1997 Gödel Prize for their paper that showed that common knowledge is a necessary and sufficient condition for coordination among people. Cornell is at the forefront of AI work on reasoning about knowledge because of Joe.


S the field with the mundane name Systems

— with op’rating, distributed, fault-tolerant items.
It's expanded and has lots of networking problems.
CS at Cornell is one place that does solve 'ems.

One of our enduring strengths is the ability to marshal a broad, sustained response over decades, harnessing skills in both theory and practice. Many building blocks used in distributed systems trace back to our research, like the fail-stop processor abstraction, fault-tolerant broadcast, state machine replication, virtual synchrony, and failure detectors. Our products may not be huge, but the ideas used in them are. So, if you are considering a PhD in systems, think of working with:

Ken Birman, whose ISIS Toolkit runs the NY and the Swiss stock exchanges and whose ISIS-style process-group replication influenced the CORBA fault-tolerance standard.

Fred Schneider, who, with his grad student, defined safety and proved that any program property could be decomposed into a safety and a liveness property and who has been influential in fault-tolerant distributed systems including fail-stop processors and hypervisor-based fault tolerance.

Van Renesse and Birman, whose information management system Astrolabe is being used by Amazon and whose systems Horus and Ensemble influenced IBM and Microsoft products.

Gün Sirer, whose CoDoNS system has been deployed to serve the Internet domain name space for all of China.

Paul Francis, who developed Network Address Translation (NAT), which staved off the IP shortage crisis and is used in the router that hooks your home computers togeth class="gjustified style5"er, and who influenced the new Internet standard routing protocol IPv6.


T’s for Computing —the Theory thereof.

Our first chair Hartmanis started it off.
Profs at Cornell helped push it aloft,
Like Constable, Kozen, and John E. Hopcroft.
But Theory is not simply what those profs do,
It’s a tool, a way of thinking for me and you.
When understanding and advance would appear very tough
Theory provides the path through the rough.

The year Juris Hartmanis became Chair of our new CS department, 1965, he published a paper with Richard Stearns that introduced a new field and gave it its name: Computational Complexity. That, together with John Hopcroft’s (joined in 1967) work in automata, formal languages, and algorithms and Bob Constable’s (1968) work in subrecursive function theory and logic and mathematical reasoning established Cornell as one of the best places for theoretical work in computing.

In the early days, most faculty in CS believed in the use of theory to make advances, when it made sense to do so —be it programming language design, semantics, operating systems, information retrieval, or numerical analysis— and this contributed to our long-lasting cohesiveness.

This understanding of the use of theory continues today. Look, for example, at Bart Selman, an AI guy, who worked with physicists to unearth phase transitions, like water freezing, in certain instances of the Satisfiability problem in computational complexity. In data mining, the science of networks, language-based security, mission critical systems —in these fields and more, our strengths can be traced to theoretical and practical people working side by side, or to people who refuse to be called “theoretical” or “practical” because they are both.

Our undergrad majors get a heavy dose of theory of computing, and it pays off. We continue to hear from those that go on to grad school in CS that others struggle with theory while they have no problem.


U is for Undergrads. I think it’s outrageous

We faculty get older —it shows in our faces;
But always ‘bout 20, U’s stay the same ages.

I was 26 when I first taught; the undergrads were about 20. At 67 I am still teaching; they are still about 20. One compensation for this unfairness is that each year there are new undergrads, so I can use the same old jokes over and over again.

We didn’t start a CS major until 1979. (In the past several years, we started degrees in Information Science in three colleges.) But we have always taken education seriously (read the letter E), and it shows.

Each year, our vibrant undergrad community does something outstanding. For example, the women’s team won the Game Design Competition at a national conference in Spring 2006; there were three best/distinguished student papers at conferences in 2004–2005; Omar Khan won the CRA Outstanding Male Undergraduate Award in 2003; and the programming team won an honorable mention in the ACM finals in the Czech Republic in 2003.

All this happens because of the good rapport between students and faculty. Faculty value the undergrads because they bring a sense of freshness and keep us on our toes. Senior faculty do their share of teaching freshmen-sophomore courses, and the faculty make it a point to engage students in undergrad research.

Our Association for Computer Science Undergraduates (ACSU) helps provide an environment in which undergrads can thrive. The ACSU mentors freshmen, brings in companies to give presentations, compiles resume books, organizes student-faculty lunches, holds social events, and much more. Several times, the ACSU has won the Engineering outstanding undergrad association award.


V’s the Vicinity in which we play,

The neighborhood in which we “work” every day.
We live in the house of FCIS
But visit the houses that do surround us.
Eng’neering, and CALS, and of course A & S,
Hotel and, yes, Management’s not far from us.
Who one will bump into one cannot tell,
A grand neighborhood is this place called Cornell.

This big, varied, flexible, and rich-in-possibilities Cornell is part private and part public (part of the SUNY system).

CS is a unit of the Faculty of Computing and Information Science, a college-level unit without students —see Q to find out more. CS gives 5 degrees in 3 colleges, so computer or information science students can choose an environment to fit their temperament.

Join CS in Engineering, and experience design on some of the best competitive design teams around the country, most of which need computing expertise. Formula SAE came in first in the national competition 9 out of 18 times. The Solar Decathalon team of about 70 took their solar house to Washington in October 2005 and came in second. Robocup, Autonomous Underwater Vehicles, and others continue do well. Moreover, Engineers for a Sustainable World, which was started by a CS alumnus right here at Cornell, provides a way to learn engineering in a service-oriented fashion.

Choose Arts & Sciences if you have an affinity for math, social sciences, the humanities, and so on. CS has many research and education ties with A&S, in natural language processing, cognitive studies, social science, computational biology, economics, astronomy, math, and more.

CS has research or education ties to all other units: the College of Arts & Life Sciences, of Architecture, Art, & Planning, of Human Ecology, of Veterinary Medicine; the School of Hotel Administration, of Industrial & Labor Relations, of Law; and even the Weil Medical College in NYC. The possibilities for study and research in computing are almost endless.


W is for Weather and Ithaca:

Cornell meteorologist Paine
Said the weather would be like his name.
But the weather in Feb
Ithacated instead,
And we had crazy warmth and some rain.

This limerick of mine took second place in a contest on limericks about Ithaca in the Ithaca Journal in the early 1980s. The weather is indeed a factor here, and one can never tell what it will do. It may rain with perfectly blue sky overhead, or change from a furious blizzard to bright, calm sunshine and back within minutes, or precipitate a weird mixture of rain and sleet and snow that cannot be properly identified. When the weather is acting so strangely, it is called ithacating, a term I used in my 1981 text The Science of Programming.

Well, we need something to complain about, for Ithaca is a great place to live. Ithaca is the most enlightened town in the US (Utne Reader, 1997), the best emerging city to live in (Cities Ranked and Rated, 2004), the fourth best city to relocate to (website Relocate America, 2006), one of the 12 hippest hometowns for vegetarians (VegNews, 2006), and one of the 12 great places you’ve never heard of (Mother Earth News, 2006). Ithaca has its own currency —the Ithaca Hour, Ithaca’s $10.00 bill, is accepted by many establishments and is used for barter. And Ithaca’s Namgyal Monastery is the North American Seat of the Dalai Lama —probably because the town of Varna is about 5 miles away, so Ithaca is Nearvarna.

Come live in Ithaca —but not too many of you. We like to keep the city population about twice the zip code (14850) and the metropolitan area around 100,000.


X is for Xcellence, for which we strive mightily.

Xceptional, xemplary, ximious we want to be.
So xperts we hire —that is obligat’ry.
But it always takes more, and we can’t win so easily!
It needs working together, with mutual trust(ily)
Producing a synergy, and even a symphily.

Well, just about everyone strives for xcellence. It’s xhilerating to xperience the unfolding of a new research idea, to xplore it and xcogitate on it to uncover all its nuances, and then to xpress and xplain it in an xaration that others find xemplary and xcelse —and all this comes from striving for xcellence. It’s xciting to xpose students to new ideas and concepts and to have them react xuberantly, xceeding our xpectations in their grasp of the material. Not that this always happens, but it happens more often when one has xcellence.

Xcellence will happen in an academic environment if the environment supports it, strives for it, and even xpects it. An academic environment must hold all faculty in high xistimation, provide time for them to do their own thing, and encourage collaboration and communication. No one is xcluded or xcommunicated, and faculty will xult xcessively in the xploits of their colleagues. Jealousy and bitterness do not appear.

That is the kind of environment for which we strive at Cornell. We don’t always achieve it, because of human nature and because various xigencies block the way from time to time. But we are aware of the need for this kind of environment and work at achieving it. It makes for a more pleasant atmosphere.

Note: expatiating on the topic of xcellence was xhilerating but xhausting!


Y are Young Faculty, which every dept needs.

Upon their work the depts’ fame proceeds.
When did the H’s win Turing Awards?
When they were old, and bored, and on Boards.
When was the work that gave them reward?
Ten years from cutting their PhD ‘bilical cord.

Remember, "PhD" is pronounced "fould."

Well, Hartmanis and Hopcroft weren’t really old and bored when they got their Turing Awards. The point is that elder statesman provide good solid research, experience, perspective, and leadership, but it’s the young faculty that incite real excitement. The H’s did their Turing Award work within ten years of their PhDs. They were young faculty. Our young faculty have always played a vital role because we do our best to hire only excellence. Here’s info on some who are now within ten years of their PhD.

Jon Kleinberg just received a MacArthur Genius Award for his work on networks.

Steve Marschner has a technical Oscar for his skin-rendering model, used for Gollum and other movie characters.

Paul Francis is responsible for NAT (Network Address Translation), which postponed the IP address problem and allows you to have a LAN in your home.

Gün Sirer’s peer-to-peer name service has been deployed to serve the Internet domain name space for all of China.

Lillian Lee and Claire Cardie are playing influential roles in sentiment analysis; their work (with colleagues) is in large part responsible for the recent huge surge of interest in the area.


Z is the Zed, the Omega, the End.

And Z was indeed the last letter I penned.

I hope you found this ABC book informative and entertaining. I pat us on the back a lot, for we are a top-ranked department. We’ve been regarded as one of the top five ever since the first NRC ranking that included computer science, just behind CMU, Berkeley, Stanford, and MIT (alphabetical order).

But don’t take rankings too seriously. Yes, there are great departments, but there are many very respectable CS departments too, and all should be commended for the job they are doing. We are all in this together, doing our share for CS and society, and none of us is indispensable.

The way I see it, just live right, do your best, but don’t worry about the result —and don’t take yourself too seriously.

ABC Book for Computer Science at Cornell

by David Gries

An Indispensable Man
by Saxon N. White Kessinger, 1959

Sometime when you’re feeling important,
Sometime when your ego’s in bloom,
Sometime when you take it for granted,
You’re the best qualified in the room.

Sometime when you feel that your going,
Would leave an unfillable hole,
Just follow these simple instructions,
And see how they humble your soul.

Take a bucket and fill it with water,
Put your hand in it up to the wrist,
Pull it out and the hole that’s remaining,
Is a measure of how you will be missed.

You can splash all you wish when you enter,
You may stir up the water galore,
But stop and you’ll find that in no time,
It looks quite the same as before.

The moral of this quaint example,
Is do just the best that you can,
Be proud of yourself but remember,
There’s no indispensable man.