CS Table

Things Every CS Major Should Read

The page is currently in very rough form.

This page provides a list of papers that department faculty think our students would benefit from reading. It will evolve over time.

Anonymous. n.d. The story of Mel, a real programmer.

A funny historical piece. The story of Mel should give you a sense of a different era of programming, help you think differently about the relationships between code and data, and remind you of moral obligations of programmers.

John Backus. 1978. Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs. Commun. ACM 21, 8 (August 1978), 613-641. DOI=10.1145/359576.359579 http://doi.acm.org/10.1145/359576.359579

We've seen an evolution of approaches to program design. Early programs were unstructured. In the 70's and 80's, there was a move toward structured programming. In the 80's, 90's, and 00's, object-oriented programming was the primary mechanism. But in the 10's we're seeing increasing understanding of why a functional approach may be better. Backus, who invented Fortran, realized the power of functional programming decades ago. The first parts of this article provide a nice summary of this power.

Jon Bentley. 1983. Programming pearls: Writing correct programs. Commun. ACM 26, 12 (December 1983), 1040-1045. DOI=10.1145/358476.358484 http://doi.acm.org/10.1145/358476.358484

A very interesting discussion of a famous and often incorrectly implemented algorithm: binary search. Bentley provides an excellent example of the design of a unit test (although he does not call it such), then suggests that there are more formal techniques beyond unit testing likely to provide us with more confidence in our results.

Fred Brooks. The Mythical Man-Month.

A classic book on software engineering. Read it to better understand ways to think about group projects (and managing group projects).

Paul Graham. 2002. The roots of Lisp. http://www.paulgraham.com/rootsoflisp.html

Paul Graham. 2002. What made Lisp different. http://www.paulgraham.com/diff.html

Grinnell starts our curriculum with Scheme, a dialect of Lisp. And we return to Lisp in many classes. These articles by Graham suggest reasons that Lisp remains a powerful programming model.

Ken Thompson. 1984. Reflections on trusting trust. Commun. ACM 27, 8 (August 1984), 761-763. DOI=10.1145/358198.358210 http://doi.acm.org/10.1145/358198.358210

Thompson's Turing Award speech on reading and trusting code.

Stuart Wray. 2010. How pair programming really works. IEEE Computer. http://www.computer.org/cms/Computer.org/ComputingNow/homepage/2010/0110/W_SW_PairProgramming.pdf

There are a variety of good articles on pair programming. This is a nice short one.

CS Table: Trusting Trust

On Friday, 13 September 2013, the readings for CS Table will be two papers on trust.

The first is a classic paper, written as a Turing Award Speech

Ken Thompson. 1984. Reflections on trusting trust. Commun. ACM 27, 8 (August 1984), 761-763. DOI=10.1145/358198.358210 http://doi.acm.org/10.1145/358198.358210

The second is a recent article from The New York Times

Nicole Perlroth, Jeff Larson, and Scott Shane. September 5, 2013. N.S.A. Able to Foil Basic Safeguards of Privacy on Web. The New York Times. http://www.nytimes.com/2013/09/06/us/nsa-foils-much-internet-encryption.html

Computer science table is a weekly meeting of Grinnell College community members (students, faculty, staff, etc.) interested in discussing topics related to computing and computer science. CS Table meets Fridays at noon in the Day PDR. Contact Sam Rebelsky (rebelsky@grinnell.edu) for the weekly reading. Students on meal plans, faculty, and staff are expected to pay the cost of their meals. Students not on meal plans can charge their meals to the department.

Computer Science Table: "Turing on artificial intelligence"

For this week's Computer Science Table (at noon on Friday, September 6, in Rosenfield 224A), the reading is a classic paper on artificial intelligence:

Turing, A. M. (1950). Computing Machinery and Intelligence. Mind 59: 433-460.
http://www.csee.umbc.edu/courses/471/papers/turing.pdf

Come learn the real scoop on the “Turing test”!

Computer Science Table: "What I did this summer"

Welcome back!

Our first CS Table of the year will be Friday, 30 August 2013 in Rosenfield 224A. Our topic will be “What I did this summer and will give folks a chance to report on what they've done while away from Grinnell (or at least away from classes) and what they hope to do in the coming year. It will also be an opportunity to discuss potential topics and readings for the year in CS Table.

Computer Science Table is a weekly meeting of Grinnell college community members (students, faculty, staff, etc.) interested in discussing topics related to computing and computer science. CS Table meets Fridays at noon. Contact Sam Rebelsky for the weekly reading. Students on meal plans, faculty, and staff are expected to pay the cost of their meals. Students not on meal plans can charge their meals to the department.

Women in computing / Computer Science Table: Recruiting and hiring technical women

At this Friday's session of Women in Computing / CS Table, we'll discuss efforts to recruit and hire technical women. We will consider a variety of resources related to this issue.

First, two popular press articles on Etsy's efforts to build its staff of women technologists:

Second, an article on “affirmative effort”:

Finally, we will consider a series of short approaches from the National Center for Women in Technology's “Pacesetters” program:

Computer Science Table is a weekly meeting of Grinnell College community members (students, faculty, staff, etc.) interested in discussing topics related to computing and computer science. CS Table meets Fridays at noon in the Day PDR (the first PDR at the top of the stairs in the Marketplace/Cafeteria, also known as Rosenfield 224A). Faculty, staff, and students on meal plans are expected to pay the cost of their meals. Students not on meal plans can charge their meals to the department.

Computer Science Table / Women in computing: "Adria Richards"

At this Friday's session of Women in Computing / CS Table, we'll discuss the recent Adria Richards fiasco. If you don't know about it, any of the readings below will give you a quick overview.

Our primary reading is

This reading includes a number of forum comments. You should take the time to read some of them. Since the case involves the way people behave publicly and using online communication tools, forum comments are particularly relevant.

This reading also includes a number of links which you may find it useful to follow.

Other relevant articles:

Computer Science Table is a weekly meeting of Grinnell College community members (students, faculty, staff, etc.) interested in discussing topics related to computing and computer science. CS Table meets Fridays at noon in the Day PDR (the first PDR at the top of the stairs in the Marketplace/Cafeteria, also known as Rosenfield 224A). Faculty, staff, and students on meal plans are expected to pay the cost of their meals. Students not on meal plans can charge their meals to the department.

Computer Science Table / Women in computing: "K-12 CS Ed"

At this Friday's session of Women in Computing / CS Table, we'll discuss elementary and secondary education in computer science. The readings are

Computer Science Table is a weekly meeting of Grinnell College community members (students, faculty, staff, etc.) interested in discussing topics related to computing and computer science. CS Table meets Fridays at noon in the Day PDR (the first PDR at the top of the stairs in the Marketplace/Cafeteria, also known as Rosenfield 224A). Faculty, staff, and students on meal plans are expected to pay the cost of their meals. Students not on meal plans can charge their meals to the department.

CS Table / Women in computing: "Brogramming"

At this Friday's session of Women in Computing / CS Table, we'll discuss “brogramming.” The readings are

Computer Science Table is a weekly meeting of Grinnell College community members (students, faculty, staff, etc.) interested in discussing topics related to computing and computer science. CS Table meets Fridays at noon in the Day PDR (the first PDR at the top of the stairs in the Marketplace/Cafeteria, also known as Rosenfield 224A). Faculty, staff, and students on meal plans are expected to pay the cost of their meals. Students not on meal plans can charge their meals to the department.

Computer Science Table: "Women and games"

At this Friday's session of Women in Computing / CS Table, we'll discuss issues relating to women and video games. The readings are

  • Brown, Janelle. “Girl gamers: sugar, spice, everything profitable?” Wired, November 19, 1996.
  • Williams, Dmitri, Nicole Martins, Mia Consalvo, and James D. Ivory. “The virtual census: representations of gender, race and age in video games.” New media & society, 2009.
  • Jenson, Jennifer, and Suzanne de Castell. “Gender, simulation, and gaming: research review and redirections.” Simulation & gaming, 2010.

Computer Science Table is a weekly meeting of Grinnell College community members (students, faculty, staff, etc.) interested in discussing topics related to computing and computer science. CS Table meets Fridays at noon in the Day PDR (the first PDR at the top of the stairs in the Marketplace/Cafeteria, also known as Rosenfield 224A). Faculty, staff, and students on meal plans are expected to pay the cost of their meals. Students not on meal plans can charge their meals to the department.

Women in computing / Computer Science Table: "Perceptions of (under)enrollment in computer science"

At this Friday's session of Women in Computing / CS Table, we'll discuss perceptions of the underrepresentation of women in computer science. The readings are

Computer Science Table is a weekly meeting of Grinnell College community members (students, faculty, staff, etc.) interested in discussing topics related to computing and computer science. CS Table meets Fridays at noon in the Day PDR (the first PDR at the top of the stairs in the Marketplace/Cafeteria, also known as Rosenfield 224A). Faculty, staff, and students on meal plans are expected to pay the cost of their meals. Students not on meal plans can charge their meals to the department.

Syndicate content