Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
department:cs_research_seminar_talks [2022/10/06 15:23] – [Spring 2022 Schedule] bowersjcdepartment:cs_research_seminar_talks [2025/09/19 13:27] (current) – [CS Research Seminar Talks] bowersjc
Line 1: Line 1:
- 
 ====== CS Research Seminar Talks ====== ====== CS Research Seminar Talks ======
  
-The CS Research Seminar Talks are talks given by faculty members and undergraduate research assistants on a variety of topics at the cutting edge of computer science research. Talks happen on Fridays at 12:40 pm and are usually held in King Hall room 236.  The format is a 30-40 minute research talk with 10-20 minutes reserved for questions. All CS students (and other interested students and faculty) are invited to attend. Email announcements about each seminar will be sent to the CS listserv.+The CS Research Seminar Talks are talks given by faculty members and undergraduate research assistants on a variety of topics at the cutting edge of computer science research. Talks happen on **Fridays at 11:25am** (Fall 2025) and are usually held in **King 243**.  The format is a 40-45 minute research talk with 5-10 minutes reserved for questions. All CS students (and other interested students and faculty) are invited to attend. Email announcements about each seminar will be sent to the CS listserv
 + 
 +==== Fall 2025 ==== 
 + 
 +  * Sept 19 - What is Research? (11:20-12:30 King 259) [[https://w3.cs.jmu.edu/bowersjc/what_is_research-2025.pdf|Slides]] 
 +  * Oct 10 - Isaac Wang (11:30-12:20 King 243) 
 +  * Oct 31 - Nathan Sprague (11:30-12:20 King 243) 
 +  * Nov 14 - Prajakta Belsare (11:30-12:20 King 243) 
 +  * Nov 21 - Adeen Ayub (11:30-12:20 King 243) 
 + 
 +==== Fall 2024 ==== 
 +[[https://w3.cs.jmu.edu/bowersjc/what_is_research-2024.pdf|Fall 2024 What is Research Slides]]  
 + 
 +**Abstracts for Fall 2024 Talks** 
 + 
 +**Dec 6** Dr. Zhuojun Duan - //Linking Pollution to Thunderstorm Formation Using Data Mining// 
 + 
 +**Abstract:** This project conducts a multi-variable investigation of thunderstorm environments across two distinct geographic regions to explore the aerosol and thermodynamic conditions associated with thunderstorm initiation. A 12-year dataset of cloud-to-ground (CG) lightning flashes was used to reconstruct thunderstorms within a 225 km radius centered on the Washington, D.C., and Kansas City metropolitan areas. A total of 196,836 and 310,209 thunderstorms were identified for Washington, D.C., and Kansas City, MO, respectively. Hourly meteorological and aerosol data were integrated with the thunderstorm event database. 
 +  
 +Our findings reveal that warm-season thunderstorm environments under benign synoptic conditions differ significantly in thermodynamics, aerosol properties, and concentrations between the Washington, D.C., and Kansas City regions. Despite these differences, thunderstorm intensity—measured by flash counts—appears to be governed by similar thermodynamic-aerosol interactions across both regions. Specifically, statistically significant positive relationships were observed between convective available potential energy (CAPE) and flash counts. Furthermore, aerosol concentration emerged as a more critical factor for lightning enhancement than particle size. 
 + 
 +**Nov 22** Dr. Bradley McCoy - //Guarding// 
 + 
 +**Abstract:** Given a polyhedral terrain and a set of guard points, a point q on the terrain is guarded if there is at least one point in the guard set that sees q. In this talk, we consider variations of this problem. We will look back at classical guarding results such as Chavatal's art gallery theorem. We will share recent results on guarding terrains with segments. Then, we will look forward to several open problems. The open problems have a low barrier of entry. So, please bring something to write with and be ready to participate. 
 + 
 +**Oct 25** Will Morris - //Bringing Robustness Analysis to TLA+ and Why it Matters// 
 + 
 +**Abstract:** Tired of missing subtle edge cases in your programming assignments? Come learn how to easily prove your algorithms are correct! In response to today’s increasingly complex software systems, interest is growing in formal specification languages that allow users to prove properties of high-level models of their systems. In this presentation, I will examine the merits of model checking with a special emphasis on the TLA+ specification language. I will then explore the limitations of model checking and how the notion of software robustness can address those limits. Finally, I will detail my efforts to elevate robustness to a first-class citizen of the TLA+ language. I will also talk about my experience in the (paid) Research Experience for Undergraduates program under which I did this research, with an eye towards students who might consider applying. 
 + 
 +==== Spring 2024 ==== 
 + 
 +**Apr 26** Ellona Macmillan - //MemDia: A JavaScript Library for Drawing Memory Diagrams// 
 + 
 +**Abstract:** A memory diagram is a picture that shows the contents of memory at a certain point in time while a program is running. Introductory CS courses (such as 149, 159, 240, and 261) use memory diagrams to teach subtle concepts about variables, objects, arrays, and references. Visualization tools like Python Tutor and Java Visualizer draw memory diagrams incrementally as the user steps through a program’s code. However, these tools are programming language specific and use a drawing format that is difficult for students to imitate. To address these limitations, we are developing a new library, named MemDia, for drawing memory diagrams in the browser. The user specifies a diagram in a plain text syntax, and the library draws the corresponding image in SVG format. MemDia is primarily designed for instructors and authors who wish to embed memory diagrams in classroom activities, lecture slides, and other materials. 
 + 
 +**Apr 26** Ben Saupp - //Praxly: An Online IDE for the Praxis CS Test Pseudocode// 
 + 
 +**Abstract:** CodeVA offers a 15-week professional development course for Virginia K-12 teachers to prepare for the Praxis CS test. Teachers who pass this standardized test fulfill licensure requirements to teach advanced CS courses in public schools. The test uses a pseudocode language that is quite different from traditional programming languages. Previously, teachers have not had an easy way to trace the execution of pseudocode programs when learning and practicing. This talk will present Praxly, an online IDE for teachers to visualize, run, and debug Praxis pseudocode programs. We will demo Praxly's main features including a new step debugger. We will discuss Praxly’s layered architecture and implementation details. Finally, we will summarize experiences of an initial cohort of high school teachers who used Praxly during the past five months. Future revisions to the CodeVA course will embed Praxly into Canvas as the primary means for teaching pseudocode. 
 + 
 +**Apr 12** Dr. Chris Johnson - //This is Knot Coding// 
 + 
 +**Abstract:** A knot is a path that meanders through space and returns to its start, usually crossing over itself many times. Knots have been studied by artists and mathematicians for centuries. You've seen knots in Roman, Celtic, and Islamic architecture and illuminated manuscripts. If you've ever used a Macintosh computer, you've touched one when you pressed the Command key. In this highly interactive workshop, you will learn to design your own custom knot as a mosaic of hexagonal tiles. Then you'll code it up in Twoville, a language written by Dr. Johnson for expressing shapes, and fabricate it as a vinyl sticker that you can take home. Bring a computer. 
 + 
 +**Mar 22** Dr. Siddharth Bhaskar - //How do we run a program for an infinite number of steps?//  
 + 
 +**Abstract:** The finite world is just a tiny corner in our (mathematical) universe. Many natural algorithms extend smoothly to infinite data structures, where they typically require infinitely many steps to run. However, we have no way to formalize these algorithms with code, because we have no way to endow our code with a semantics that handles such transfinite computation. In this talk, I will construct a solution. 
 + 
 + 
 +==== Fall 2023 Schedule ==== 
 + 
 +Tue 9/12: Distinguished Lecture Series, Dr. Laurent Babout (Lodz University of Technology). King 259 11:30-12:30pm 
 + 
 +Fri 9/15: Research Talk: What is Research? (With Mike Lam and Co.) King 259 11:25am-12:25pm [[https://w3.cs.jmu.edu/bowersjc/what_is_research-2023.pdf|Slides]] 
 + 
 +Fri 9/22: Research Talk: Ben Saupp. King 236 11:25am-12:25pm 
 + 
 +Thu 9/28: Distinguished Lecture Series, Dr. Everlyne Kimani (Toyota Research Institute). King 259 2:30-3:30pm.  
 + 
 +Fri 10/27: Research Talk: Dr. Chris Mayfield. King 236 11:25am-12:25pm 
 + 
 +Fri 12/1: Research Talk: Dr. Dee Weikle. King 236 11:25am-12:25pm 
 + 
 +Fri 12/8: Research Talk: Dr. Siddharth Bhaskar. King 236 11:25am-12:25pm 
 + 
 + 
 +**Abstracts for the 2023 Fall Research Talks** 
 + 
 +* **Sept. 22** Ben Saupp -- //Praxly: An Online IDE for the Praxis CS Test Pseudocode// 
 + 
 +**Abstract:** 
 +CodeVA has a new professional development (PD) course designed to prepare Virginia high school Career Technical Education (CTE) teachers for the Praxis CS test. This test uses a pseudocode language that is different from traditional programming languages. In CodeVA’s course, teachers do not have an easy way to verify the correctness of pseudocode programs when learning and practicing. This talk will introduce Praxly, an online IDE we developed over the summer, for teachers to write, visualize, and run pseudocode. We will highlight Praxly’s implementation details, outline our current research goals, and discuss next steps for the project.
  
 ==== Fall 2022 Schedule ==== ==== Fall 2022 Schedule ====
  
-* **Oct 7** Prof. Siddharth Bhaskar  //A proof of the Koebe-Andre'ev-Thurston theorem via flow from tangency packings// +* **Oct 7** Prof. John C. Bowers  //A proof of the Koebe-Andre'ev-Thurston theorem via flow from tangency packings// 
-* **Nov 4** Prof. Siddharth Bhaskar //TBD// + 
-* **Nov 11** Virginia Tech PhD Candidate and JMU CS Alumna Kylie Davidson //TBD// +* **Nov 4** Prof. Siddharth Bhaskar //Four naive questions in the theory of algorithms// 
-* **Nov 18** Prof. Michael Kirkpatrick + 
-* **Dec 2** Prof. Nathan Sprague+* **Nov 11** Virginia Tech PhD Candidate and JMU CS Alumna Kylie Davidson //Exploring Sensemaking Strategies in Immersive Space to Think// 
  
 **Abstracts for the 2022 Fall Research Talks** **Abstracts for the 2022 Fall Research Talks**
Line 18: Line 88:
 **Abstract:** **Abstract:**
 The beginning of the study of circle packings is the circle packing theorem, which says that any triangulation of the sphere can be realized as a pattern of interior-disjoint disks on the sphere whose tangency graph is isomorphic to the triangulation. The now classic Koebe-Andre’ev-Thurston theorem extends the circle packing theorem to weighted triangulations whose weights code for overlap angles of up to pi/2 between disks and not just tangencies. Recently Connelly and Gortler gave a new proof of the Circle Packing Theorem, which is also constructive—the proof gives rise to a numerical algorithm for computing a circle packing for any given triangulation. In this talk we will give an overview of Connelly and Gortler’s result and describe a new proof of the full Koebe-Andre’ev-Thurston theorem that extends their approach to packings with overlaps up to pi/2 and gives rise to an algorithm for computing them. We will discuss the main hurdles to the generalization and the main ideas used to overcome them. We will also show demo code for computing the packings.  The beginning of the study of circle packings is the circle packing theorem, which says that any triangulation of the sphere can be realized as a pattern of interior-disjoint disks on the sphere whose tangency graph is isomorphic to the triangulation. The now classic Koebe-Andre’ev-Thurston theorem extends the circle packing theorem to weighted triangulations whose weights code for overlap angles of up to pi/2 between disks and not just tangencies. Recently Connelly and Gortler gave a new proof of the Circle Packing Theorem, which is also constructive—the proof gives rise to a numerical algorithm for computing a circle packing for any given triangulation. In this talk we will give an overview of Connelly and Gortler’s result and describe a new proof of the full Koebe-Andre’ev-Thurston theorem that extends their approach to packings with overlaps up to pi/2 and gives rise to an algorithm for computing them. We will discuss the main hurdles to the generalization and the main ideas used to overcome them. We will also show demo code for computing the packings. 
 +
 +* **Oct 7** Prof. Siddharth Bhaskar -- //Four naive questions in the theory of algorithms//
 +
 +**Abstract:**
 +In this talk I will raise four questions that you could, in theory, ask after taking a first data structures and algorithms course, viz.,
 +
 +--Why are so many sorting algorithms quadratic time?
 +
 +--Why are stacks and queues the "only" implementation of certain abstract data type (namely add, query a distinguished element (the "top"), delete the top, and an empty test) for collections of unstructured data?
 +
 +--Why are there only about three different types of proofs of general lower bounds?
 +
 +--What is an algorithm anyway?
 +
 +To be clear, I don't know a definitive answer to any of these, but the questions seem to be deep and continue to inspire me. I shall discuss each question, illustrate what the underlying problem is, and say a few words about how each has inspired some specific research projects.
 +
 +
 +* **Nov 9** PhD. candidate  Kylie Davidson -- //Exploring Sensemaking Strategies in Immersive Space to Think//
 +
 +**Abstract:**
 +Existing research on immersive analytics to support the sensemaking process focuses on single-session sensemaking tasks. However, in the wild, sensemaking can take days or months to complete. In order to understand the full benefits of immersive analytic systems, we need to understand how immersive analytic systems provide flexibility for the dynamic nature of the sensemaking process. In our work, we build upon an existing immersive analytic system – Immersive Space to Think, to evaluate how immersive analytic systems can support sensemaking tasks over time. We conducted a user study with eight participants with three separate analysis sessions each. We found significant differences between analysis strategies between sessions one, two, and three, which suggest that immersive space to think can benefit analysts during multiple stages in the sensemaking process.
 +==== Spring 2022 Schedule ====
 +
 +**Faculty Research Talks Overview**
 +
 +* **Feb 11** Prof. Siddharth Bhaskar  -- //Recursion, iteration, and program schematology//
 +
 +* **Feb 25** Prof. Chris Mayfield -- //POGIL in CS1: Evidence for Student Learning and Belonging//
 +
 +* **Mar 4** Prof. Mike Lam -- //Recent Work in Floating-Point Program Analysis//
 +
 +* **Mar 25** Prof. Kevin Molloy -- //Advances in Protein Characterizations//
 +
 +* **Apr 1** Prof. Chris Johnson -- //Programming language for Parametric 2D design//
 +
 +* **Apr 8** Prof. David Bernstein -- //Real-Time Pricing of Taxi Services//
 +
 +* **Apr 15** Prof. Jason Forysth -- //Designing Wearable Systems for Movement Correction in Physical Therapy Applications//
 +
 +* **Apr 29** Prof. Kirsten Richards -- //TBD//
 +
 +
 +**Abstracts for the 2022 Spring Research Talks**
 +
 +
 +* **Feb 11** Prof. Siddharth Bhaskar -- //Recursion, iteration, and program schematology//
 +
 +**Abstract:**
 +We can distinguish between logical and nonlogical syntax of a programming language: the former being "pure programming" constructs (like `if-then-else' statements) whose semantics is independent of the data type in question, and the latter being "primitive operations" whose semantics depends on the data type in question. This allows us to talk about programs which are logically equivalent, in the same sense that the logical formulas $(\forall x) \neg A(x)$ and $ \neg (\exists x) A(x)$ are equivalent---their denotation is the same no matter the interpretation of $A$.
 +
 +It is folklore that every recursive procedure can be transformed into an iterative one, whose only recursive construct is a "while" loop. (Indeed, this is basically what every compiler does in transforming a high-level language to machine code.) However, very early on (the 60's!) in the history of programming languages, it was realized that there were general recursive programs not logically equivalent to any iterative program, and therefore that recursion elimination relied on semantic properties of the data in question (e.g., closure under taking lists).
 +
 +In this talk, I will discuss the general problem of recursion vs. iteration, the separation I mentioned above, and my small contribution to this story, which has to do with the intensional (i.e., complexity-theoretic) distinction between the two paradigms. This talk is classical in two senses: one, it's concerned with problems which were thought about early in the history of programming languages, and two, it's personally classical in the sense that it harkens back to the stuff I was thinking about in grad school.
 +
 +
 +* **Feb 25** Prof. Chris Mayfield -- //POGIL in CS1: Evidence for Student Learning and Belonging//
 +
 +**Abstract:**
 +For the past ten years, computer science instructors have adopted Process Oriented Guided Inquiry Learning (POGIL). Other STEM disciplines have shown conclusively that POGIL impacts student learning and knowledge retention. However, most research about POGIL in computer science has focused on perceptions and experiences, not learning outcomes. In this study, we examined the influence of POGIL on student learning in CS1. We collected data from all sections of CS1 at the same institution. Four of the faculty implemented POGIL, and three taught with other active methods. The learning data included pre and post assessments, midterm and final exams, and a retention test at the beginning of the next course. Students also completed three surveys about their prior programming experience, sense of belonging, and perceptions of teamwork. We used multiple regression to analyze the relationship between the survey data and learning outcomes. Our results show that students in the POGIL sections outperformed students in the other sections. POGIL students scored higher on the post-test, and a higher proportion of them met the grade requirement to progress to the next course. After the five-week winter break, POGIL students had higher and more consistent scores on the retention test. These results provide evidence that POGIL can be very effective as an instructional technique in computer science.
 +
 +
 +* **Mar 4** Prof. Mike Lam -- //Recent Work in Floating-Point Program Analysis//
 +
 +**Abstract:**
 +There has been a sharp uptick in interest in floating-point precision analysis over the past decade, primarily in the context of high-performance computing (HPC) but also more recently in machine learning (ML). As HPC moves into the exascale era and ML increasingly dominates scientific workloads, it's increasingly important to understand where our algorithms are sensitive to small numerical insensitivities and where we need more or less precision. This presentation will explore recent work on the adaptation of existing analysis techniques (dynamic instrumentation and Monte Carlo Arithmetic) to Python programs. Historically, Python was of little interest to the HPC community because of the performance hit associated with being an interpreted language, but lately the language has become more prevalent both in HPC and across many areas of computer science (this was part of the motivation for the recent switch in CS 149). In this talk, I will present the work done by others and describe my recent attempts to reproduce and compare their results to previous work, and I will also discuss possible student projects for future extensions of the work.
 +
 +
 +* **Mar 25** Prof. Kevin Molloy -- //Advances in Protein Characterizations//
 +
 +**Abstract:**
 +The study of proteins and the relationship between their sequence, structure and function has been ongoing for decades. While some of this research is performed in a biochemical laboratory setting, the processes employed can be very time consuming and expensive.  To augment these techniques, structural biologists rely and need computational approaches. Many of the algorithmic challenges with modeling protein systems arise from the fact that these systems are typically modeled in very high dimensional settings.
 +
 +This talk will provide a brief overview of proteins and their composition to enable reviewing how these systems are modeled computationally. A review of Google's DeepMind group's recent work on protein structure prediction, and how their approach has made tremendous progress in this field. Next, we will review work by our group to better understand anti-microbial peptides and building a universal structural alphabet. Finally, we will discuss work being performed to structural group ensembles of proteins, and specifically the virus that causes COVID-19 (and its variants).
 +
 +
 +* **Apr 1** Prof. Chris Johnson -- //Programming language for Parametric 2D design//
 +
 +**Abstract:**
 +What if instead of printing "Hello, world!" to a terminal, your first program produced a tangible object? Dr. Johnson has been trying to make that a reality with Twoville, a programming language in which users code two-dimensional objects and fabricate them using a vinyl or laser cutter.
 +
 +Twoville is meant to be a sandbox for young people to explore mathematics and computer science --- and for Dr. Johnson to explore programming language features that facilitate parametric design. One big takeaway from his exploration is that not everything is an algorithm. Some designs need a more human touch. That's why Twoville supports bidirectional editing. A user can edit the design either through code or through mouse manipulation, with any changes made via the mouse propagated back to the code. Dr. Johnson will be joined by his family, who will demonstrate some of the objects they've made.
 +
 +
 +* **Apr 8** Prof. David Bernstein -- //Real-Time Pricing of Taxi Services//
 +
 +**Abstract:**
 +Historically, taxi pricing has been tightly regulated, with limits placed on the number of vehicles and prices set by the government. The advent of alternatives to traditional taxis, like Uber and Lyft, have dramatically changed the way these kinds of services are and can be priced.
 +
 +This talk will illustrate why the pricing of these services is interesting using some simple examples. It will begin with a review of equilibrium pricing in perfectly competitive markets (for those who have never studied microeconomics, or for those who have forgotten what they once knew). It will then review some of the literature on modeling equilibria in spatially separated markets. With that as background, it will use some simple models to explain how models of the pricing of taxi services are similar to and different from those models. It concludes with a discussion of how one can develop existence and uniqueness conditions for general problems, and how general problems might be solved numerically.
 +
 +
 +* **Apr 15** Prof. Jason Forysth -- //Designing Wearable Systems for Movement Correction in Physical Therapy Applications//
 +
 +**Abstract:**
 +Musculoskeletal injuries are the leading cause of disability worldwide. Patients suffering from these injuries are often given exercises to perform that strengthen muscle groups or joints that have been injured. Typically, these exercises are observed in person at the physician's office, and the patient is then instructed to continue them at home; however, challenges exist with patient adherence to these exercise regimes, with some studies showing that 37% of patients failed to continue their exercises at home. Failure to complete these activities leads to longer recovery times, additional visits to the physician, and generally lower health outcomes.
 +
 +In this talk, we will examine research conducted by the Wearable Computing Group to address these challenges by developing a wearable computing system to monitor patient at-home exercises. The system will actively monitor patients to provide real-time feedback to improve their functional gains and adherence to exercises. Prototype demonstrations will be presented along with discussions of specific research questions including capturing patient posture through various sensor systems, designing methods for feedback through visual, haptic, and audible modalities, and machine learning techniques to estimate patient improvement over time.
  
 ==== Fall 2021 Schedule ==== ==== Fall 2021 Schedule ====