CS Table 12/13: One Line Programs

At this CS Table we will run and decipher a collection of interesting one line programs. Short programs can be surprising, mind-bending, elegant, infuriatingly clever, or all of the above. We'll follow a relaxed format, where we will look at a new program, run it on a few examples, then try to figure out how it does what it does.

If you have any programs you would like to contribute, please send them to Prof. Curtsinger via email. All programming languages are welcome. We're happy to bend the definition of "one line" in many cases, but do try to stick to programs that are concise.

Computer science table (CS 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 Tuesdays from 12:00-1:00pm in JRC 224B. Contact the CS faculty for the weekly reading. Students on meal plans, faculty, and staff are expected to cover the cost of their meals. Visitors to the College and students not on meal plans can charge their meals to the department.

Thursday Extra on 11/12: Mobile Sensing Applications

Octav Chipara will present "Developing and Deploying Mobile Sensing Applications."

Thursday, November 12
4:15 pm in Science 3821
Refreshments beforehand in the CS Commons

Octav Chipara is an Assistant Professor in the Department of Computer Science at the University of Iowa and part of the Aging Mind and Brain Initiative.

Mobile sensing applications are an emerging class of mobile applications that take advantage of the increasing sensing, computational, storage, and networking capabilities of mobile devices. Chipara's research focuses on the systems, networking, and software engineering aspects of developing mobile health (mHealth) systems that continuously monitor and infer the health status of patients. His work combines the design of communication protocols, middleware, and programming tools with large-scale real-world deployments of working systems.

In this talk, Chipara will describe AudioSense – a novel mobile sensing application that allows audiologists to assess the performance of the hearing aids in the real-world. A key limitation of traditional laboratory and survey methods employed by audiologists is that they fail to predict when a hearing aid user will be dissatisfied with its performance in the real-world. In contrast with these techniques, AudioSense jointly characterizes both the user's auditory context and the performance of the hearing aid in that context. The second part of the talk will cover some of the tools his team has created to simplify the development of mobile sensing applications. The focus is one of coordinating when different hardware resources (e.g., WiFi, 3G) are turned on and off to save energy without hindering user experience. A lightweight annotation language and middleware service will be presented that can be used to build energy-efficient mobile sensing applications for Android.

CS Table: "How to program in the real world"

At this week's Computer Science Table (at noon on Friday, October 18, in Rosenfield 224A), we will read a variety of 'blog posts about programming in the real world. The readings were suggested by our alumna Eryn O'Neil 2007. Eryn writes:

I've come up with a How To Program In the Real World series. They're short blog posts, not 5-10 page readings, but that's secretly part of the theme, too -- in the industry, the new ideas are circulated by blog, and if you're not reading them, you're behind.

Here is her list of suggested readings:

And, as a bonus (Eryn: I recommend skimming, not reading, but it's a classic):

  • Green, Roedy. How to write unmaintable code: ensure a job for life ;-). The hacker's choice, October 29, 2006.

Computer Science Table: "The story of Mel"

For this week's Computer Science Table (at noon on Friday, September 27, in Rosenfield 224A), the reading is a classic short story about a “real programmer,” providing some historical perspective on the practice of programming:

Nather, Ed. “The story of Mel.” Usenet, 1983.

Thursday Extra: "An introduction to the Google Maps API"

On Thursday, May 13, Tony Pan will demonstrate some basics of the Google Maps Application Programming Interface by building a 2010 Iowa Census map in ten simple steps.

Refreshments will be served at 4:15 p.m. in the Computer Science Commons (Noyce 3817). The talk, An introduction to the Google Maps API, will follow at 4:30 p.m. in Noyce 3821. Everyone is welcome to attend!

Thursday Extra: "StatsGames"

On Thursday, March 4, Nathan Levin 2010, Andy Applebaum 2010, Alex Cohn 2011, and Jeffrey Thompson 2010 will describe their Summer 2009 Mentored Advanced Project, StatsGames.

Refreshments will be served at 4:15 p.m. in the Computer Science Commons (Noyce 3817). The talk will follow at 4:30 p.m. in Noyce 3821. Everyone is welcome to attend!

Computer Science Table, September 18: Under the Hood

This week in Computer Science Table, we're exploring a different side of things. In particular, we are considering some under the hood issues in some common programming areas, such as strings, memory allocation, and databases.

Spolsky, Joel (2001, December 11). Back to Basics. Joel on Software. Web page at

Some questions to think about for this meeting: How are strings represented internally in your favorite programming languages? If you had a choice of how to represent strings internally, what would you do? Are all versions of malloc created equivalent? What flaws do you see in Spolsky's comments?

CS Table meets at noon on Fridays in JRC 224A. All are welcome. Computer science students and faculty are particularly encouraged to attend.

Syndicate content