Planning for the summer after his sophomore year, Louis Jenkins had focused his efforts on securing an industry internship. However, in what he describes as “sheer coincidence,” Louis was forwarded a departmental email that would alter not only his summer plans, but his overall career trajectory.
The email highlighted the NSF summer Research Experience for Undergraduates (REU) program, and with recommendations from both a professor and the Computer Science Department Chair, Louis was selected as one of 14 students from the PASSHE region (Pennsylvania State System of Higher Education). Louis chose the REU at Lehigh University under Dr. Michael Spear because of their shared interest in parallel computing, but he recalls that it was Dr. Spear’s mention that the problem they were trying to solve “might not even be possible” that sparked his interest and passion.
The project focused on Google’s programming language Go. Go aims to support concurrent programming, but when Louis began his work, the fundamental map type only supported safe concurrent reads. With no native way to create scalable custom data structures, Louis’s research focused on developing a new map, deriving from the original, to support scalable concurrent-safe insert, lookup, removal, and iteration.
This research resulted in a publication “Redesigning Go’s Built-In Map to Support Concurrent Operations,” accepted to the International Conference on Parallel Architectures and Compilation Techniques (PACT) 2017. Louis’s work was also honored with a Peer’s Choice for Outstanding Project from his REU site.
Louis notes that research provided his “first taste of creating something.” He adds that it is the challenge of “creating something new or improving on a current design” that has proved to be one of his favorite aspects of research. When asked if he has any advice for other students who are looking to get involved in their own research experience, he offers two particular insights into the mentality and process of research. First, he states that as research often aims to create something novel, making good use of your time requires a thorough understanding of the topic you are working on. Second, he stresses the importance of learning from and not lingering on mistakes, explaining that students must learn to accept criticism on their ideas and understand that not all ideas are as good as they may think they are.
Thinking broadly about his experience in research, Louis believes that it has influenced him in several ways. First, research provided him with the opportunity to explore topics for which his university offered no formal coursework. It has also helped him make the transition into other roles such as his work on distributed data structures in the Google Summer of Code program. Finally, prior to his research experience, Louis had intended to pursue an industry position, but his plan is now to pursue a Ph.D. in the area of high performance computing, focusing on parallel, concurrent, and distributed computing.
-Written and edited by Keith Feldman and Booma S Balasubramani