CS Table: Back to Basics (2014-12-05)

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 common programming areas, such as strings, memory allocation, and databases. Our reading is

Spolsky, Joel (2001, December 11). Back to Basics. Joel on Software. Web page at http://www.joelonsoftware.com/articles/fog0000000319.html.

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 equal? What flaws do you see in Spolsky's comments?

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 from 12:10-12:50 in the Day PDR (JRC 224A). Contact Sam Rebelsky rebelsky@grinnell.edu> 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: "Summer Opportunities in Computer Science"

On Thursday, December 4, in Noyce 3821, Professor Samuel A. Rebelsky and the other faculty of the Department of Computer Science will present the department's annual discussion of summer opportunities in CS:

It may be hard to believe given the forthcoming sub-freezing temperatures, but it's about time to starting thinking about what you're going to do this coming summer (and maybe even in subsequent summers). If you enjoy computer science (or at least computer programming), summer is an opportunity to explore new approaches, to develop new skills, and perhaps even to make some money. But what kinds of things can you do? While students tend to focus on a few options (e.g., research with faculty), a wide variety of opportunities are available. In this session, we will discuss goals you might set for the summer and some opportunities that can help you achieve those goals.

Refreshments will be served at 4:15 p.m. in the Computer Science Commons (Noyce 3817). Professor Rebelsky's talk, Summer opportunities in computer science, will begin at 4:30. Everyone is welcome to attend!

Class Presentations: Designing Software to Design Sports Schedules

At 11:00 on Wednesday, December 3, 2014, students in section 1 of CSC 207 will present their work on developing software that creates competition schedules for college athletic teams. Presentations will be in Science 3813.

At first glance, scheduling seems easy. In the standard form, each team must play every other team twice, once home and once away. But real scheduling is much more complicated. For example, some schools may be on a quarter system while others are on a semester system, so not every team can play on the same set of dates. Many teams also have severe restrictions on how far they can travel during weekdays. And when teams play multiple games on a weekend, they typically do all of those games at home or all of those games away. With enough of these kinds of restrictions, forming a schedule that meets all of the restrictions is impossible.

In a sequence of lightning presentations, student project teams will discuss their creative approaches to solving a concrete version of this problem and in generalizing those approaches.

Refreshments will be provided.

Thursday Extra: "Historical map processing"

On Thursday, November 20, Toby Baratta 2017, Bo Wang 2016, and Kitt Nika 2016 will present their summer research on the automatic detection of place names on historical maps:

This past summer we did research on toponym detection and recognition on historical maps. Overall, our research goal was making historical maps more search-friendly and making information in the maps more accessible. Kitt Nika and Shen Zhang worked on detecting text strings on map images with maximally stable extremal regions (MSER). With this, they implemented a binarization method for future research in text detection. Kitt will discuss MSERs and the methods involving them in regards to text detection. Toby Baratta and Bo Wang worked on linking geographic datasets and recognizing toponyms from the detected text strings. With the alignment between historical maps and real-life geography, we used a Bayesian model to calculate probabilities of possible toponyms. Toby and Bo will discuss their work on increasing the range of our recognition system by adding area features such as lakes.

At 4:15 p.m., refreshments will be served in the Computer Science Commons. The talk, “Historical map processing: text detectors, database linking, and region models,” will begin at 4:30 p.m. in Noyce 3821. Everyone is welcome to attend!

CS Table: "Shellshock"

This Friday at CS Table, we discuss a recent security failure in Unix, GNU/Linux, and Mac OS X operating systems: the Shellshock bug. Our reading is:

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. We meet on Fridays from 12:10 to 12:50 in Rosenfield 224A (the Day PDR). Students on meal plans, faculty, and staff are expected to cover the cost of their meals. Students not on meal plans can charge their meals to the department.

Contact John Stone for a copy of this week's reading.

Thursday Extra: "Beyond Binary Decision Diagrams"

On Thursday, November 13, Professor Gianfranco Ciardo, Professor and Chair of the Department of Computer Science at Iowa State University, will speak on extensions of binary decision diagrams:

Binary decision diagrams (BDDs) have had enormous success since Bryant showed how to use them for the efficient verification of boolean hardware designs and Clarke and McMillan employed for symbolic model checking. In this talk, we take BDDs as a starting point and explore various extension of decision diagrams, we apply them to problems beyond temporal logic verification, and we discuss several challenging research problems related to decision diagrams.

Before the talk, Professor Ciardo will meet informally with students considering the possibility of graduate study at Iowa State. This meeting will be in the Computer Science Commons (Noyce 3817), beginning at 3:45 p.m.

At 4:15 p.m., refreshments will be served in the Computer Science Commons. Professor Ciardo's talk, “Beyond BDDs: advanced decision diagrams and their applications,” will begin at 4:30 p.m. in Noyce 3821. Everyone is welcome to attend!

Thursday Extra: "Off-campus study and computer science"

On Thursday, November 6, Professor Janet Davis and Richard Bright, Director of Off-Campus Study, will lead a discussion of options for combining off-campus study with study of computer science. CS majors who have studied abroad are welcome to come share their experiences.

Refreshments will be served at 4:15 p.m. in the Computer Science Commons (Noyce 3817). The presentation, “Off-campus study and computer science,” will begin at 4:30 p.m. in Noyce 3821. Everyone is welcome to attend!

Thursday Extra: "Toss a coin, throw a ball, and solve a problem"

On Thursday, October 30, Professor Sriram Pemmarju of the Department of Computer Science at the University of Iowa will discuss the uses of randomness in algorithm design:

Randomness has proven itself to be an amazingly useful resource in the design of simple and efficient algorithms. Randomized algorithms are now widespread in all areas of computer science; examples can be found in cryptography, data compression, distributed systems, machine learning, network protocols, online and streaming algorithms, etc. This talk will present a few “gems” of randomization—algorithms that highlight the elegance and power of randomized techniques, while identifying underlying principles that guide the design of randomized algorithms. Time permitting, the talk will also consider the theoretical question of whether randomness provably adds to the power of efficient algorithms.

Refreshments will be served at 4:15 p.m. in the Computer Science Commons (Noyce 3817). Professor Pemmarju's talk, “Toss a coin, throw a ball,and solve a problem,” will begin at 4:30 p.m. in Noyce 3821. Everyone is welcome to attend!

CS Table: Debrief on Grace Hopper Celebration

This Friday at CS Table, we will debrief on the 2014 Grace Hopper Celebration of Women in Computing. We will be joined by alumna guest Donna House Lohmeier '96, Senior Project Manager at Qualcomm Life.

You may have seen media coverage of Satya Nadella's advice that women not ask for raises, which he quickly retracted. This brief NYT opinion piece explains why he was wrong: http://www.nytimes.com/2014/10/11/upshot/why-microsofts-nadella-is-wrong-about-women-and-raises.html

At the conference, there was far more discussion of the Male Allies panel. Here's a first-person report, which is admittedly biased: http://readwrite.com/2014/10/09/technology-sexism-male-allies-grace-hopper-celebration

And the aftermath: https://storify.com/catehstn/ghcmanwatch-mark-2

Please join us on Friday to discuss these events and our experiences at the conference.

All students are welcome to attend the discussion; you need not have attended GHC and you need not self-identify as a woman in computing.

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 from 12:10-12:50 in the Day PDR (JRC 224A). Contact Sam Rebelsky for the weekly reading. Students on meal plans, faculty, and staff are expected to cover the cost of their meals. Students not on meal plans can charge their meals to the department.

Thursday Extra: "Graduate School in Computer Science"

On Thursday, October 16, Professors Janet Davis and Jerod Weinman will discuss what graduate school in computer science is like, why you might consider it, what opportunities there are for graduate education, employment after graduate school, applying (for computer science or related fields in particular), and other related issues attendees may be interested in.

Refreshments will be served at 4:15 p.m. in the computer science commons (Noyce 3817), with the presentation and discussion to follow at 4:30 p.m. in Noyce 3821. All are welcome to attend.

Syndicate content