An Introduction to Caching in Computer Systems
10:15 AM to 11:15 AM
CSB 453
Adam Hastings, Columbia University
Abstract:
Caching is a ubiquitous but often invisible technique used to improve performance in nearly all areas of computer systems. In this talk, I will introduce the fundamentals of caching in computer systems, including cache architectures, design tradeoffs, and applicable cache policies. This technical discussion will be rounded out with a holistic view of caching in real-world systems. This lecture will be at a level suitable for advanced undergraduate or early graduate students.
Bio:
Adam Hastings is a recently-defended PhD student in Computer Science at Columbia University under the advisement of Prof. Simha Sethumadhavan. His research interests are in computer architecture and security with a particular emphasis on addressing high-impact security interventions that are under-incentivized by markets. To his surprise this research interest has led him to work in the areas of security economics, security policy, and human-computer interaction elements of security. While at Columbia, Adam developed and taught a new seminar class "The Economics of Cybersecurity" based on his field of research. Prior to Columbia he researched FPGA reliability and security and received a BS and MS in Computer Engineering from Brigham Young University.
Employer Informational Session: Regrello
10:00 AM to 11:00 AM
CSB 452
CS Careers
Employer informational session with Regrello, an organization that aims to automate supply chain management using AI. They have the most advanced Gen AI platform accelerating innovation and productivity in manufacturers inventing products for the future. Representatives will give a presentation about their company, mission, past/upcoming projects and future recruitment efforts followed by a Q&A session. For more information regarding the company, please feel free to the company website and LinkedIn: https://www.regrello.com/ & https://www.linkedin.com/company/regrello/about/
Registration Information will be posted via email and VMock.
*Event Audience: Current Graduate Students (MS & PhD), Bridge Students
Unit Testing with Mock Objects in Java
11:40 AM to 12:40 PM
CSB 451 CS Auditorium
Chris Murphy
Abstract:
In Software Engineering, “unit testing” is the act of checking the behavior of a single piece of code – such as an individual function or method – in isolation so that any bugs can more easily be found and fixed. However, whereas test case inputs for unit tests often consist of function arguments and global variables, the code being tested may also have a dependency on other code to provide inputs, meaning that the test code must somehow control the dependency in order to cause it to produce the values necessary for the particular test case. This talk will discuss how “mock objects” can be used in unit testing to dictate the behavior of dependencies, permitting individual test cases to control all inputs to the unit being tested. We will explore dependency injection techniques and the use of anonymous inner classes to accomplish this, and then look at frameworks such as Mockito that simplify the creation of mock objects. This lecture would be part of an upper-level undergraduate or Masters course in Software Engineering, and assumes some familiarity with Java and polymorphism.
Bio:
Chris Murphy is a Visiting Assistant Professor at Swarthmore College, where he teaches courses in software engineering and introductory programming. Chris earned a PhD in Computer Science at Columbia University in 2010, after which he served as a member of the teaching faculty at the University of Pennsylvania and at Bryn Mawr College, where he earned teaching awards in 2019 and 2023, respectively. Chris’ academic interests focus on student mental health and the experiences of students living with ongoing mental health conditions; his work in this area led to a DO-IT Trailblazer Award from the University of Washington in 2023. Prior to his career in academia, Chris was a software developer in Boston, San Francisco, and London.
Neurosymbolic Program Synthesis: Bridging Perception and Reasoning in Real-World Applications
11:40 AM to 12:40 PM
CSB 451 CS Auditorium
Işıl Dillig
Abstract:
Neurosymbolic Program Synthesis (NSP) integrates neural networks and symbolic reasoning to tackle complex tasks requiring both perception and logical reasoning. This talk provides an overview of the NSP framework and its applications in domains such as image editing, data extraction, and robot learning from demonstrations. We will delve into the key ideas behind NSP learning algorithms, focusing on the synergistic interplay between neural guidance and symbolic reasoning. Finally, we will discuss recent advances in ensuring the correctness of synthesized neurosymbolic programs, paving the way for robust and reliable AI systems.
Bio:
Isil Dillig is a Professor of Computer Science at The University of Texas at Austin, where she leads the UToPiA research group. Her primary research interests span programming languages, formal methods, program synthesis, and software verification. She earned her Bachelor of Science, Master of Science, and Ph.D. degrees in Computer Science from Stanford University. Dr. Dillig’s work has been recognized with honors such as the Sloan Research Fellowship and the NSF CAREER Award, as well as best paper awards at conferences including PLDI, POPL, OOPSLA, and ETAPS. She has served as Program Committee Chair for PLDI 2022 and CAV 2019 and contributed to program committees for many conferences in her field. Finally, her dedication to teaching has been recognized with multiple awards such as the Texas 10 and the College of Natural Sciences Teaching Excellence Award.
Coffee and Questions
2:00 PM to 4:00 PM
CSB 452
CS Advising, CS@CU
All Computer Science UG and MS students are welcome to attend our monthly Coffee and Questions event to speak with members of the CS Advising team, network with peers, and meet with special guests. Please bring your laptop to the CS Lounge to convene and connect with us; light refreshments provided!