NOTE: This Tuesday we will meet in the CS Commons at noon. Please bring your own lunch; we'll try to have some drinks and snacks, too.
This week in CS Table, we will consider some applications of machine learning that show both potential benefit and great risks: The use of ML algorithms in decisions related to bail, sentencing, and parole. We have two readings:
This CS table discussion will cover computer-aided gerrymandering: the ways that legislative district boundaries are drawn to favor specific parties or interests, and how computers have changed this process in recent years. The reading and listening below should give you some useful background information on what gerrymandering is, where it came from, and recent developments in the process.
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 224A (inside the Marketplace). 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 (sign in at the JRC front desk).
On Thursday, May 11, students from this semester's “Analysis of Algorithms” will describe and analyze two algorithms with real-world applications.
Two problems will be addressed: “Worst Case Performance Analysis of Machine Learning Robustness” (Anna Blinderman and Reilly Grant), and “Formalizing Mimble-Wimble: Scaling Bitcoin” (three presenters who wish to remain anonymous). Both of these problems pose interesting design questions when considered from a theoretical rather than implementation standpoint. The presenters will describe their work in progress and encourage formative assessment from the audience.
At 4:00 p.m., refreshments will be served in the Computer Science Commons, Noyce 3817. The presentation, “Exploring Algorithms with Design and Analysis Techniques,” will follow at 4:15 p.m. in Noyce 3821. Everyone is welcome to attend!
Algorithms are essential to computer science, and increasingly they are essential to modern decision making on all levels. But are they unbiased? The emerging field of ‘Algorithm Accountability’ is beginning to identify cases in which inherent bias is imbedded in the inference structure of algorithms. The articles for this week’s CS Table run the gamut from popular press to general audience special interest to technical position papers to ACM recommendations for basic principles. The question is no longer ‘are algorithms biased’, but how to determine whether they are, and if so how to prevent them from being so.
Linda Oyolu, Ruth Wu, and Ursula Wolz will be leading our discussion on April 25, 2017. The following readings will give you a good sense of the area; please do your best to read at least some subset of these articles before our CS Table discussion:
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.
As computation plays a larger role in society, we are beginning to see cases where algorithms encode the biases of the past. While this phenomenon is widespread, there is a particularly interesting case where computer programs make bail recommendations for suspects in criminal cases.
There are two short readings suggested for the discussion on November 15:
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.
On Thursday, February 13, John Stone will describe left-leaning red-black trees, a variant of binary search trees that guarantees that the worst-case running times for search, insertion, and deletion are proportional to the logarithm of the number of elements in the tree, and is easier to understand and simpler to code than more familiar self-balancing tree structures.
Refreshments will be served at 4:15 p.m. in the Computer Science Commons (Noyce 3817). The talk, “Left-leaning red-black trees,” will follow at 4:30 p.m. in Noyce 3821. Everyone is welcome to attend!CSC 151, CSC 161, and CSC 207 — the three courses in Grinnell's multi-paradigm, introductory computer science sequence — have been recognized as "exemplar courses" by the ACM/IEEE-CS Task Force on Computing Curricula 2013.
CSC 207 is the third course in Grinnell's introductory computer science sequence and serves as the core gateway
course to the majors. Students develop and analyze core data types (lists, stacks, queues, heaps, trees) and algorithms (primarily sorting and searching). Students also develop facility with object-oriented design. We use the Java programming language.
Starting in Fall 2013, CSC 207 has an experimental theme of Computing for Social Good. Students will work with free and open source projects that relate to the primary content of the course. We will leverage the Android platform for some of this development.
An introduction to the ideas and practices of computation: message passing, information hiding, classes and interfaces, inheritance, polymorphism, and reflection. The course also includes data structures and the associated algorithms, packages and libraries, exceptions, and the use of an integrated software-development environment. Includes formal laboratory work.
Coming Soon
Coming Soon
The department maintains a page of current and past course offerings.
Computer Science Curricula 2013 (CS2013), national curricular recommendations from the ACM/IEEE-CS professional societies, identify an extensive list of learning outcomes for undergraduate computer science programs. Upon completing CSC 161, students should achieve the following learning outcomes with the specified level of mastery:
Knowledge Unit | Learning Outcome with [Level of Mastery] |
Basic Analysis |
|
Algorithmic Strategies |
|
Fundamental Data Structures and Algorithms |
|
Advanced Data Structures Algorithms and Analysis |
|
Fundamentals |
|
Processing |
|
Graphs and Trees |
|
Defensive Programming |
|
Data Modeling |
|
Object-Oriented Programming |
|
Functional Programming |
|
Basic Type Systems |
|
Advanced Programming Constructs |
|
Algorithms and Design |
|
Fundamental Programming Concepts |
|
Fundamental Data Structures |
|
Development Methods |
|
Requirement Engineering |
|
Software Design |
|
Software Construction |
|
Software Verification Validation |
|
Cross-Layer Communications |
|
Social Context |
|
Professional Ethics |
|
Professional Communication |
|
On Thursday, April 4, Aditi Roy 2013 will discuss the evaluation of recommendation algorithms:
While designing a recommendation algorithm for Kindle FreeTime Unlimited (a product which serves a subscription containing books, videos and apps to kids), I realized that there were many varied opinions on what the role of a good recommendation algorithm was. This talk will provide an overview of some of the popular approaches and algorithms used in the industry, the metrics used to evaluate recommendation algorithms, and the challenges involved in serving customers good recommendations.
Refreshments will be served at 4:15 p.m. in the Computer Science Commons (Noyce 3817). The talk, “What is a good recommendations algorithm?” will follow at 4:30 p.m. in Noyce 3821. Everyone is welcome to attend!
On Thursday, April 19, Tolu Alabi 2013, Brad Gordon 2012, and Russel Steinbach 2012 will discuss their work in summer 2011 on parallel algorithms for computing order statistics:
How do you select the 1,678,341st largest number out of a list of 500 million numbers? The answer is surprisingly simple, and will be the subject of our Thursday Extra. We will present two efficient, parallel algorithms for selecting the kth largest element out of very large lists, a problem known as k-selection. We will discuss how graphics processing units (GPUs) enable us to easily and efficiently implement these algorithms on single computers.
Refreshments will be served at 4:15 p.m. in the Computer Science Commons (Noyce 3817). The talk, K-selection on the GPU,
will follow at 4:30 p.m. in Noyce 3821. Everyone is welcome to attend!