Thursday Extras

CS Extra 4/19/2018: Research in Programming Languages

Thursday, April 19, 2018
4:15 p.m. in Science 3821
Refreshments at 4:00 p.m. in the Computer Science Commons (Science 3817)

Student presentations on programming languages from summer research with Peter-Michael Osera.

  • Scythe—Converting Myth to the Haskell Programming Languages, Liat Berkowitz, Dhruv Phumbhra, Andrew Mack, and Zachary Susag
  • Blorca—A Blocks-based Languages for Proof, Myles Becker, Addison Gould, Hadley Luker, and Eli Most
  • ToadStool—First-class Typestate via Polymorphic References, Jonathan Sadun

CS Extra 4/5/18: Scrambler - Dynamic Layout Adaptation

Thursday, April 5, 2018
4:15 p.m. in Science 3821
Refreshments at 4:00 p.m. in the Computer Science Commons (Science 3817)

Scrambler: Dynamic Layout Adaptation, presented by Garrett Wang and Pouya Mahdi Gholami, discusses the work they completed with Ana Segebre Salazar and Lex Martin during the summer 2017.

Processors have gotten faster and faster over the last 40 years, but memory speed has not kept up. This creates a bottleneck for programs that access memory, which is all programs. Hardware caches help hide this bottleneck by keeping copies of recently-accessed data close to the processor. Caches often do a good job hiding the memory bottleneck, but when programs use certain combinations of memory locations or access memory in specific patterns, caches can work poorly which makes programs run significantly slower. We have developed a system called Scrambler that detects when the cache is not working well and automatically fixes the program’s memory layout to improve performance.

Résumé Building and Interview Preparation Extravaganza

Thursday, February 22, 2018
4:15 p.m. in Science 3821
Refreshments at 4:00 p.m. in the Computer Science Commons (Science 3817)

This Résumé Building and Interview Preparation Extravaganza is brought to you by your SEPC and will be dedicated to helping you look as good on paper as possible.

We will be going through how to start the process of building your résumé, and, if you already have an outline, how to edit it to showcase yourself. Bring your résumés so you can get feedback! A portion of the session will address prepping for interviews, where your friendly neighborhood SEPCs will go over common questions you may encounter in interviews and how to respond to them.

CS Extra: Life and Career after Grinnell (Lessons from Alumni)

Wednesday, February 14, 2018
4:15 p.m. in Science 2021

Note the different location and different day of the week: WEDNESDAY in Noyce 2021.

The CS department and the CLS are co-sponsoring an alumni panel on Life and Career and Diversity and Inclusion after Grinnell in Tech. The cast of players will include CSC 322 Mentors Cassie Koomjian '05, Alex Leach '06, Ian Young '08, and Terian Koscik '12; and Megan Goering '08 of Human Centered Design and her partner Joe Mellin of Microsoft. They will all give a brief description of their life and careers and then have time for questions and answers.

Thursday Extra 2/8/18: Incorporating Data Science into Introductory CS Course

Thursday, February 8, 2018
4:15 p.m. in Science 3821
Refreshments at 4:00 p.m. in the Computer Science Commons (Science 3817)

A Functional Approach to Data Science in CS1, presented by Professor Samuel A. Rebelsky, discusses the new "data science" version of CSC 151 he has been doing with Titus Klinge and Sarah Dahlby Albright.

As part of the development of a new interdisciplinary initiative in data science that draws from statistics, mathematics, computer science, and the social sciences, we have developed a new introductory CS course that emphasizes data science and that we refer to as DataCSCi. Unlike other introductory data science courses, such as Berkeley's Data 8, our course retains the broad array of concepts necessary not only to introduce programming principles related to data science, but also to prepare students for the second course in our standard introductory computer science sequence. In particular, the course includes coverage of recursion (numeric and structural), unit testing, linked data structures, and other concepts we rely upon in subsequent courses in computer science.

At the same time, we introduce students to a wide variety of techniques and approaches that support them in their subsequent work in data science, including techniques for wrangling, cleaning, and visualizing data. We achieve this combination of breadth and depth through two core approaches: We focus on a spiral "use then implement" approach and we focus on a functional model of programming using Scheme/Racket. While Python and R are the most commonly used languages for data science, we find that Scheme works particularly well to introduce students to concepts both complex, like map-reduce, and simple, like list filtering.

Thursday Extra 2/1/18: Diversifying Through Code Camps

Thursday, February 1, 2018
4:15 p.m. in Science 3821
Refreshments at 4:00 p.m. in the Computer Science Commons (Science 3817)

Diversifying the CS Pipeline through Innovative Code Camps shares the results of a summer research project by Caelin Bryant, Jonathan Gilmour, Bea Herce-Hagiwara, Anh Thu Pham, Halle Remash, Marli Remash, and Jonah Zimmerman.

The underrepresentation of women, students of color, and people from lower-SES backgrounds within computer science remains a national issue. Recent studies demonstrate one reason for this: persistent stereotypes about "who does computer science" can cause members of underrepresented groups to preclude interest in the field. Join us this Thursday to learn about how the use of art, data science, social good, and summer camps contributes to adolescent self-efficacy as well as the future diversity of our discipline.

Thursday Extra 1/25/18: Summer Research

Thursday, January 25, 2018
4:15 p.m. in Science 3821
Refreshments at 4:00 p.m. in the Computer Science Commons (Science 3817)

A discussion of Summer Research Opportunities in Computer Science at Grinnell is presented by members of the CS faculty and a few guests. You'll hear about research projects with CS faculty members and about the application process. You'll also hear about opportunities from a few people from outside the department who would like to hire CS students. And we'll have an overview of the general policies for MAPs, 399s, and MIPs.

Thursday Extra 12/7/2017: Summer Opportunities in Computer Science

Thursday, December 7, 2017
4:15 p.m. in Science 3821
Refreshments at 4:00 p.m. in the Computer Science Commons (Science 3817)

A discussion of Summer Opportunities in Computer Science is presented by Professor Samuel A. Rebelsky and the other faculty of the department of computer science.

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., internships and 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. Then during winter break you can be starting applications and preparing to build your portfolios.

Note that this is *not* the presentation of summer research offered within this department; this is a broad overview of the kinds of opportunities one might pursue off-campus.

Thursday Extra 11/2/17: Build your own programming language

Thursday, November 2, 2017
4:15 p.m. in Science 3821
Refreshments at 4:00 p.m. in the Computer Science Commons (Science 3817)

Building your own programming language and other reasons to go to graduate school is presented by Eric Van Wyk from the University of Minnesota.

To motivate a discussion on graduate school opportunities, Van Wyk will describe some of his group's work on techniques and tools that allow programmers to construct their own programming language, either from independently-developed domain-specific language extensions or by developing language extensions from scratch. Such extensions can provide new syntax and semantic analyses that address the computational task at hand. His specific interest has been on techniques to ensure that one can pick and choose these extensions with some assurance that this collection will in fact work well together.

Research work like this is indicative of what one can do in graduate school in computer science, be it in programming languages, robotics, machine learning, systems, graphics, visualization, bioinformatics, or a plethora of other areas. One has the time and opportunity to dive deeply into an area of interest and push the boundaries of what is possible. Van Wyk will describe what graduate school is like, both generally and specifically at the University of Minnesota and, hopefully, encourage to consider graduate school as part of your future.

Thursday Extra 10/12: Improving software reliability and security

Thursday, October 12, 2017
4:15 p.m. in Science 3821
Refreshments at 4:00 p.m. in the Computer Science Commons (Science 3817)

Improving the reliability and security of software with formal methods and automated reasoning is presented by Cesare Tinelli from The University of Iowa.

Producing robust, reliable software, which performs its intended function and is less prone to errors and security vulnerabilities, is becoming more and more important as software comes to control increasingly large and critical aspects of modern society. This talk makes a case for using mathematically rigorous approaches based on formal logic to specify the behavior of safety-critical software and verify its correctness. These methods can reduce automatically large classes of program analysis problems to constraint satisfaction problems in some formal logic, and then solve them with the aid of automatic reasoners for that logic. The talk will give a brief overview of this approach and discuss its recent successes and applications in industry, focusing on research done at the University of Iowa in this area.

Syndicate content