Skip to content

Dr. Case: Learning Philosophy

When you start a new example project, first, get it running.

The Mountain: Get it Running

Getting computational projects running is a prerequisite professional capability. It requires integration of many smaller skills and creates a solid foundation from which learning, experimentation, and original work can proceed. It takes reading written instructions, attention to detail, tenacity, resourcefulness, patience, sometimes a sense of humor, and knowing when to take a break.

It can be a steep mountain, honestly, and can be a surprisingly challenging part of each project. We work together to get everyone set up.

Once that mountain of skills has been summited, we celebrate - and maybe even take a break. Organizations need people willing and able to work through all the side quests (e.g., protective operating systems) required to get things running. These are valuable skills.

Installing, configuring tools and getting them to work on your machine can be hard, but it is necessary. And it is valuable. AI can draft complex apps from non-coder descriptions. Implementation assistance is widely available.

Getting real-world projects running is still difficult. Determining whether a project does what we intended, and whether it is secure, maintainable, and able to evolve reliably, remains challenging. We focus on developing these skills.

Explore the View

From that summit, let curiosity direct you. Read the README.md, scan the files in src/, check out all the silent helper files you'll never need to touch. Play with a reactive marimo app if provided.

With the example running, the view opens and we're set free to explore and learn what a project does and why. Is it organized well? Could you apply these skills? What insights can be gained? What other domains (subject areas) could this apply to? How could you put these skills to work today?

Do Something New

Once we see what can be done, and understand enough of a lesson, then we can dig in and work with the algorithms, the techniques, the packages, and with AI. Today's generative AI systems have been trained extensively on human language and source code. They are very good at generating and transforming both. But they work best with an analyst. The analyst - us - we bring creativity and a need for practicality that enables us to build projects that can be explained, maintained, and will grow over time as new insights are discovered.

We use AI to enhance understanding and make ideas come alive. We combine human judgment and creativity with AI capabilities to produce work that neither could produce as effectively or efficiently alone.

Present Your Work

When done, don't keep it to yourself. Communicate your work professionally. Update your README.md, engage your readers with key insights. Use the integrated project documentation to clearly tell a compelling data story. Share your ideas for what you'd like to do next.

Present your contribution professionally and let it showcase your skills.

Suggestions (Short Form)

First get it running. Then, read and understand. Then play and explore. Take ownership. Build something truly new and share it.


University of British Columbia

Dr. Tiffany Timbers teaches a course on collaborative software development, where students employ professional practices including automated testing, continuous integration (CI) and continuous deployment (CD) for managing and maintaining data science projects and packages.

"We teach cutting-edge tools and techniques that are used by data scientists out in the wild."

MIT's Missing Semester

MIT offers a special course called Missing Semester that covers related topics, and addresses the new AI-enabled world. See the topics and motivation.

"When used appropriately and with awareness of their shortcomings, these can often provide significant benefits to CS practitioners... Since AI is a cross-functional enabling technology, there is not a standalone AI lecture; we've instead folded the use of the latest applicable AI tools and techniques into each lecture directly."

Northwest Missouri State University

Northwest Missouri State is a Center of Academic Excellence in Cyber Defense (CAE-CD). I teach in our online professional Masters in Data Analytics. My courses introduce:

  • security-aware GitHub repository configuration
  • Modern security hardening techniques:
  • SHA-pinned actions,
  • zizmor audits,
  • dependency cooldowns and
  • Trusted Publishing.
  • A modern professional toolchain that incorporates favorites like Excel, SQL, and Python with popular storage and visualization options, enhanced with marimo, rust-based tooling, project documentation, and GitHub actions.
  • The professional project baseline (many files are silent helpers) can be maintained with a no-installation, easy-to-pull option like uvx pup-up.

"This course is open-book, open-note, and open-to-AI. You are encouraged to use all resources available to you. We work together. It is designed to help students learn to complete projects and make meaningful, unique, valuable contributions autonomously."