CMSC 435 PROBLEM STATEMENTS

Last edited 2024-09-16.

Timelines for the semester will be as called out in a separate document. How a team establishes its intermediate goals in order to meet requirements and hit hard deadlines is up to the team. I suggest that you conduct a risk assessment right away, but how long you put off discovering thorny issues is also up to the team. You can even treat the project as a big hackathon at the end if you like; it's your career, after all, and it isn't like campus doesn't promote such things. But, I bet you'll also find that hackathons are better for campus than for you, and in any event this approach has yet to end well in a 435 project. Your call.

All students on a project are equal stakeholders in the effort. No one person must work at the direction of another; we cooperate in order to win. The incentive to hold others accountable is clear: all of these projects are scoped with the expectation we'll have full effort from everyone, and there is no partial credit for partial success. We tolerate others' lack of engagement at a cost paid in our own time and reduced grades.

The incentive to fully participate is two-fold: First, the final exam is constructed to reward those who have done the work all along. When we haven't done the work then we won't know how to answer questions and pass the class. Similarly if we have done the work, but not established a paper trail to this effect along the way, then we won't be able to support answers and pass. Historically nobody has ever been able to recreate a project record that is credible enough for exam answers, and of course there is no ability later to go back in time to insert material into the record. (Translation: Waiting until near the final exam in order to manufacture history for convenience of answering questions is deemed "not credible".)

Second, the cover sheet submitted (as our academic integrity and intellectual property statement) lists who gets credit; no name, no credit. The decision of who signs the sheet is ultimately a team consensus. Basically the rest of the team can vote someone off the island, though this is not the common occurrence, and we'd like to have exhausted our inventory of practices to promote positive engagement before it reaches that point.

My advice: do the work and document it to pass the class. It might just be that these practices actually work too. Bonus!

I offer these projects as an opportunity for us to practice substantive application of software engineering principles. We will learn by trying them out, making design decisions and then studying the nuanced consequences. We can't close that loop if we don't have a detailed record of the decisions we made, however, and that is the most important reason for our serious obligations to log activity and articulate our reasoning as we go. Working code alone won't tell us we reached our learning objectives. Please take this process seriously from the start and we will win best value from 435.

-- Jim Purtilo

 


1. RADIOLOGY

The purpose of this project is to streamline the integration of artificial intelligence in radiology education and diagnostic workflows. Despite significant advances in medical image analysis in recent years, many of the latest models are never applied in clinical settings because standalone research-grade models (e.g. state-of-the-art cancer classification and organ segmentation) do not easily interface with existing medical image viewers. Last semester, a CMSC435 team built a web-based viewer that allows users to load a folder of DICOM images from local storage, upload a custom ML model to Google Cloud, and run cloud-based inference. The latest version of our code and documentation is available on GitLab.

This is where 435 students will pick up. The first task is to add support for quantitatively evaluating model predictions. This will involve understanding how the existing codebase works. The team will add support for loading and visualizing ground truth segmentation masks on top of model predictions (and highlighting the differences between the two), and compute standard segmentation metrics like DICE score. Given a folder of DICOM images, associated ground truth masks and predicted masks, a typical user should be able to easily load and view the raw data, model predictions, ground truth, and compute standard metrics.

Although allowing practitioners to visualize model predictions is valuable as a diagnostic tool, researchers need to be able to use these insights to improve their models. Physicians spend considerable time looking at and analyzing CT scans. However, this effort largely goes to waste after physicians make a diagnosis. We want to extend the current web interface to allow experienced radiologists to edit AI model predictions to help state-of-the-art models learn from their mistakes using active learning. Concretely, active learning allows human annotators to improve model performance with partial feedback by modifying or augmenting the model predictions or ground truth. For medical image segmentation, building a robust active learning pipeline requires high quality data annotation tools to quickly add new segmentation masks or edit existing model predictions. Once we make these modifications to the annotations, we should have some way to save predictions for integrating into an external ML training pipeline (re-training ML models is strictly out of scope).

This is a research project. As much as any software this semester, what we build in this project chases a moving target. This is not a one-and-done exercise. Our success is tied with how easily a scientist can use the tool to quickly and accurately modify existing segmentation masks and annotate new masks if required. Some experience with computer vision or graphics is a plus. Teams should be able to deal with ambiguity.

A successful project will be able to extend existing functionality by loading raw images, ground truth masks, model predictions and computing a DICE score to measure prediction quality. Once loaded, the raw DICOM images and annotations will need to be rendered. This rendering should be interactive, allowing for users to toggle an overlay of the raw image, ground truth segmentations (if available) and model predictions (if available). Further, a successful project should create an intuitive annotation interface to facilitate active learning. This annotation process should be interactive and fast, allowing users to visualize updated segmentation masks as they make edits. Lastly, users should be able to save the annotations locally and resume annotating at a later time. We hope to submit these results as a conference publication.

Our clients in this project is Rahul Pemmaraju (a student in the Rutgers RWJMS-Princeton MD/PhD Program with extensive experience in AI for Radiology) and (Terp alumnus) Neehar Peri (a Robotics PhD student at CMU).


2. PLANTS VIRTUALLY EVERYWHERE!

Commitment to environmental sustainability is enhanced when people have strong connections with other species. Strong connections with nature, in turn, enhance human health. The campus landscape supports a diversity of plant species that provide rich opportunities for developing those connections. But for most people those plants are little more than a green blur through which we rush as we go about our daily lives. Few students know they are in the midst of an Arboretum and Botanic Garden. Fewer know that the plants that surround us have fascinating stories to tell. Plants create the oxygen that allows our very existence. The food and fiber they provide have driven the development of society and culture as we know it. Plants also enrich our intellectual, aesthetic, and emotional lives, having played fundamental roles in arts and literature throughout human history. Plants are the source of pigments in paintings, dyes in textiles, subjects and symbols in literature, and form the very pages on which books are printed.

To increase connections to the UMD landscape and foster appreciation for the biodiversity of Maryland by sharing the stories plants have to tell, the Spring24 CMSC 435 Plants group developed the Roots and Routes web tool. This tool pulls location information from the Arboretum geographic information system database to show users the plants near them as they move around campus. In addition to the names of the plants, users have access to narratives from a range of interconnected perspectives including ecology, literature, art, chemistry, and history. Information is conveyed in multiple formats including straight narrative, quizzes and games. The ability to earn “seeds†for engaging with plants entices users to repeated engagement.

Based on user feedback, we have learned that it is challenging for users with no plant knowledge to identify which plant is which, especially when there are many plants around them. The goal for this Capstone group is to enhance Roots and Routes by designing some sort of tool that would allow users to identify the names of plants from a particular location. This system would ideally include location based augmented reality, to overlay the plant name with the image based on the name at that GPS location and the identification features of the plant. There are many possible solutions to this problem and testing different solutions early will be important to understand what best engages users, and its tradeoffs in terms of computational demand and response speed.

We are crafting an experience, not just making a location-aware/AR application that dispenses plant information. We will recognize success when we see measurable improvement in the levels of engagement with the plant scene on campus, consistent with the abstract goals called out above. A substantial part of the project will thus be to derive and validate effective metrics, which will allow us to experiment with potential presentations and work flows.

Our client in this project is Prof. Maile Neel in the Department of Plant Science and Landscape Architecture as well as the Department of Entomology UMD.


3. CONNECTIONS ATTRIBUTION

This is the next step towards our goal of measuring observables in the propagation of science.

The previous Connections projects gave us some great capabilities for starting to track potential connectivity of scholars based on (in the first project) networks of co-authorship and (in the next project) more general networks of shared properties. We've got the base case covered - we can track the obvious properties.

Now we need to drill in a bit more to find some of the less obvious connections. This project is about analyzing papers (probably in PDF) in order to extract not just co-authors but also attributions, acknowledgements and funding citations that may be buried in the body of the paper. We'll elaborate our growing knowledge graphs based on these data.

To be clear: while we will naturally manipulate current and emerging connections graphs in the course of working on this project, the initial intention is to focus on manipulation of scholarly content in order to extract richer metadata for use in the graphs. Examples of features we need were mentioned above - the dependencies of funding sources, affiliations and collaborations not otherwise called out in co-authorships. Our reach goals will involve extracting features related to the scholarly content, which could be used to identify the new ideas and key results, potentially for comparison with previous works - more and better dependencies in understanding the propagation of science.

The best way to do this is not obvious. (That's why it is a 435 project.) We need accuracy in the extraction, a natural work flow for users, the ability to use this tool 'stand alone' but also to use the tool as embedded in a larger framework which knits together the connectivity. As with all things in the Connections project we need to be able to do these feature extractions efficiently at scale.

We'll recognize initial (baseline) success when our users have a usable front end and work flow for building a database/graph of dependencies between papers and outside entities that are not otherwise explicitly flagged as co-authors.

This is very much about enabling applied research in an on-going project, and team members should expect an adventurous ride as we discover important properties of these knowledge graphs along the way. Our client is Dr. Purtilo, who will loop in a variety of other scholars interested in this project.


4. LEXICOGRAPHY

Echtralex Contemporary Lexicography is a private, for-profit corporation with a product line that addresses the People's Republic of China. Echtralex's work promotes accountability and transparency, protects democratic values and ideas, supports the efforts of independent media, enhances the freedom of information, improves democratic governance and political processes, and facilitates more productive communication between countries.

Our frontline offerings are a continually updating slate of authentic government documents from the People’s Republic of China that are set in parallel Chinese and English, all offered online, and a series of dictionaries that document the current state of events in matters relating to three ministries of the PRC, updated biweekly that are downloadable through our website.

These products serve the needs of translators and cryptologic linguists, policy analysts and researchers, and foreign service officers and diplomats. They are currently used by analysts at the US Department of State, the Congressional Research Service, the Library of Congress, the National Security Agency, the Central Intelligence Agency, and the North Atlantic Treaty Organization. They are likewise used by members of the media, China watchers in dozens of countries, human rights activists around the world, educators and academics at institutions such as CSIS and SAIS, and language learners now studying at institutions across the United States.

The goal of this project is to pilot a compelling public presentation of our China-focused products and to experimentally find the most inviting mix of which of these components should be offered for free, which services might be placed behind a paywall, and which should be retooled for deployment through other methods - including apps or other mobile products. To be clear, our deliverable is a report of recommendations based on experiments, so a key part of our technical activity will be based on construction of metrics.

Our client in project is Echtralex, for which the point of contact is Michael Horlick.


5. SE TEACHING LAB

This course, CMSC435, offers students the opportunity to grow as technologists by posing carefully selected problems to be solved using content and experiences from our curriculum. We sharpen critical thinking skills - the translation of goals and observations into action. But not all 435 projects let us engage in all aspects of software engineering, which by now we know is much more than just programming.

Our goal in the present project is to construct tools that let us exercise more of these critical thinking skills and condition professional temperaments in a lab setting. Maybe labs won't challenge students to the same degree as the full project experience would but the hope is we will measurably expand our horizons.

Specifically we envision a unifying web framework into which lab modules can be integrated for deployment in a controlled setting. We envision use of these modules with either individual or student treams, and conducted during labs in class, though it is not out of the question that some modules might involve off-line work that must persist for a period of time and be brought together in the class lab time. We envision that like many such education tools the results and activities would be tracked to help us learn how to improve student engagement.

The likely candidate for incorporating these modules into a web framework is our existing mentors site. Students here may be familiar with the CS dept's submit server, and it is not unfair to think of this project as a generalization of such capabilities, but it is also important to keep in mind that what we look for is a far higher degree of interaction which also invites reflection on results, not just some computation of "right or wrong answer."

To be clear, this is not about tech training. There are plenty of web sites for that around the net. This project is about creating lab exercises that challenge students to make decisions (in a controlled environment) and assess the consequences of those decisions.

The client in this project is Prof. Purtilo, who has strong views about what content is needed, and who will insist that we have representative lesson plans for each module in order to meaure how well we approach the learning objectives. Essential in this project is the capability to "easily" add new modules in the future; we'll need a field guide and documentation to show how this is done.

A large team is tasked with this project, and this is for a simple reason. We anticipate that crafting each module takes serious thought, of course, but also that each ends up of modest effort in implementation. In the end we need at least half a dozen successful modules to feel like this was a worthwhile activity this fall. We'd like a family of great labs, not a singleton. Example labs of interest include (but are not limited to):

These become a family of related modules since we are intent on them working harmoniously in the same framework, and potentially leveraging common system support services. (For example, a mechanism for running small programs uploaded by students as part of the lab is something which could be leveraged for a number of lesson plans.) We need to divvy up individual lab exercises but ensure they all work together compatibly.

Copyright © 2024 James M. Purtilo