Richard E. Pattis
Special Faculty - Advising CS Undergraduates
Department of Computer Science
School of Computer Science
Carnegie Mellon University
Pittsburgh, PA 15213
pattis@cs.cmu.edu
Office: 6004 Gates Hillman Center
Phone: (412) 268-5377

Teaching and learning are mirror
images. This calligraphy appears in
Inversions, a book by Scott Kim,
who learned to write in this style.

Students accepted to CMU would wear
this badge when visiting the campus; I
sometimes wore it too, because I admit
I'm still a student, learning new things.


I have put my collection of Quotations for Learning and Programing on the web. I hope to continue expanding
(and correcting) it. I always welcome feedback (e.g., corrections, misattributions, other quotations).


I am starting to index, annotate, and put on the web various Education-Related Video Clips.


Here are two websites that I try to read every day; each includes a mix of interesting Computer Science
articles that I read selectively. If an incoming freshman reads 5 articles per day, they will have read
almost 7,500 articles by the time they graduate.

YCombinator (links).
ACM Tech-News (summary + links).


Fall 2024 Advising Schedule

My Schedule:Generally, I'll have open advising hours on Mondays and Thursdays at the times listed below;
but there are often changes on particular days. I suggest you sign-up for an appointment on Rich's Appointment Book.

For General Meetings: I welcome advisees in person or in My Personal Zoom Room. Email me for meetings
on other days/times. If you need more than 15 minutes, sign up for multiple slots.

For Pre-Registration Weeks (Nov 4-14): I am scheduling only in-person appointments (unless arranged prior
by email); sign up for only one 15 minute slot.

Time/DayMondayThursday
10:00-11:00 Advising 6004 GHC Advising 6004 GHC
11:00-12:00 Advising 6004 GHC Advising 6004 GHC
12:00-  1:00 Advising 6004 GHC Advising 6004 GHC
  1:00-  2:00 Advising 6004 GHC Advising 6004 GHC
  1:00-  2:00 Advising 6004 GHC Advising 6004 GHC
  1:00-  2:00 Advising 6004 GHC  
  2:00-  3:00 Advising 6004 GHC Advising 6004 GHC
  3:00-  4:00   Advising 6004 GHC


Interesting Snippets

While developing a manuscript for a textbook on the Ada programming language in the late 1980s, I wrote a chapter on EBNF and began teaching it on the "first" day of my CS-1 class: primarily as a microcosm of programming, but also as a practical tool for later describing the syntax of Ada. These 21 pages (less than 1/4 the size of the original Karel book) discuss the sequence, choice, option, repetition, and recursion control structures (along with "procedural" abstracton via named EBNF rules). They explore various methods of proving that tokens satisfy descriptions, that descriptions are equivalent (and how to simplify them), and the difference between syntax and semantics. I have continued to use this approach until this day in my CS-1 classes. In fact, I have rewritten this EBNF chapter for an introduction to Python course I am teaching.

An excerpt from the chapter "He Fixes Radios by Thinking!" from the book "Surely You're Joking, Mr. Feynman!": Adventures of a Curious Character (start at the bottom of page 18: "One day I got a telephone call..." and finish at the bottom of page 20: "...never thought that was possible.") Explains why debugging is best accomplished by thinking, not fiddling. Also, you can watch an excellent BBC interview Feynman: The Pleasure of Finding Things Out (1981).

A short opinion piece on Plagiarism from the NY Times.

A short opinion piece on What Straight-A Students Get Wrong from the NY Times. I too have run across many students whose goal is to graduate with a 4.0 (more at CMU than UCI). I hope they fall short of that mark early in their studies, so they can be freed to pursue getting an education, both inside and outside the classroom. At every school that I have, taught, I have recommend , but so far been ignored, that all entering students receive 1 unit of credit for a course called "Getting an Education Sanely". Every student would uniformly be assigned a grade of A-; then, pursuit of a 4.0 becomes an asymptotic fantasy.

Genius is a Thing that Happens from Jordan Ellenberg's How Not to Be Wrong: The Power of Mathematical Thinking. Why Mathematics (and Computer Science) students should not be discouraged by smarter classmates.

Want Kids to Learn Math (or CS): Level with them that it's hard from Jordan Ellenberg's Washington Post editorial. Admitting these subjects are difficult encourages the most effective learning tool that students have: asking questions.

A new cure for Short Bowel Syndrome (Brainstorm to Breakthrough: A Surgical Procedure is Born).

Cartoons:

My Favorite Graph: I show this graph (and its associated article) in my data structures class after discussing general graph theory terminology (up to connected components). It is scary and compelling at the same time.

De Millo, Lipton, and Perlis: Social Processes and Proofs of Theorems and Programs Communications of the ACM, May 1979; Volume 22, Number 5, Pages 271-280.

My 2006 SIGCSE Talk


Philosphical Musings

Doubts are such tiny things. A mind with no room for doubts must have no room for thoughts either. -R. Pattis


The following dialog is from the transcript of "Between Time and Timbuktu" (a synthesis of the writings of Kurt Vonnegut). For more on Bokononism, from which this passage is inspired, see The Books of Bokonon (from the novel "Cat's Cradle").

Narrator: In the beginning, G-d created the Earth, and he said, "Let there be mud." And there was mud. And G-d said, "Let Us make living creatures out of mud, so the mud can see what We have done." And G-d created every living creature that now moveth, and one was man. Mud-as-man alone could speak. "What is the purpose of all of this?" man asked politely. "Everything must have a purpose?" asked G-d. "Certainly." said man. "Then I leave it to you to think of one for all of this," said G-d. And he went away.

Stony Stevenson: I feel very unimportant compared to you [G-d].

Voice of Bokonon: The only way you can feel the least bit important is to think of all the mud that didn't even get to sit up and look around.

Stony Stevenson: I got so much, and most mud got so little.


The following dialog is from Robert Bolt's play "A Man For all Seasons" about the life of Sir Thomas More.

William Roper: So, now you give the Devil the benefit of law!

Sir Thomas More: Yes! What would you do? Cut a great road through the law to get after the Devil?

William Roper: Yes, I'd cut down every law in England to do that!

Sir Thomas More: Oh? And when the last law was down, and the Devil turned 'round on you, where would you hide, Roper, the laws all being flat? This country is planted thick with laws, from coast to coast, Man's laws, not God's! And if you cut them down, and you're just the man to do it, do you really think you could stand upright in the winds that would blow then? Yes, I'd give the Devil benefit of law, for my own safety's sake!