Resources Created by Craig L. Zirbel
I’m an applied mathematician, data analyst, bioinformatician, mathematics teacher, and software developer.
Software Projects
- PVA, the Photo and Video Annotator is a desktop application for annotating photos and videos with text descriptions. Annotate, rotate, duplicate, and crop images. Annotate videos at different timestamps, skip segments, and adjust volume of the video. My first and only AI coding project.
- Investment return calculator calculates a single average rate of return on a series of investments over time.
- Magistra helps you learn words and phrases in whatever language you like. Provided vocabulary lists in French, German, and Spanish proceed from the most basic and important words to groups orgranized thematically.
RNA 3D Structure Annotation and Analysis
- RNA 3D Hub is a comprehensive website for RNA 3D structure annotation and analysis, built by my colleague Neocles Leontis at BGSU and myself. Our websites and services have been live since 2011.
- BGSU RNA Group GitHub site hosts many repositories that support the weekly update pipeline. The code was developed by many students over many years; I have been the sole developer the last few years.
- fr3d-python is a Python package which reads RNA and DNA 3D structure files in mmCIF and PDB formats, annotates basepairs and other pairwise interactions, and extracts hairpin and internal loops and multi-helix junctions. The same package supports the Web-FR3D search tool and the R3DCID circular diagram maker.
Teaching Resources
- Teaching college mathematics to first-year students, is a comprehensive guide for new mathematics teachers at the university level, including graduate students who are new to the US
- Group activity proof course is a set of exercises I developed a course for mathematics majors to learn to write proofs by working in groups in class on carefully-designed activities, while the teacher circulates from group to group to answer questions and check work. It’s all activity, all the time and it works very well.
- Lecture notes from calculus, linear algebra, probability/statistics, stochastic processes, and advanced probability courses
- Activities that replace lectures is a collection of carefully-written exercises that students can do in groups in class, which works better than you just talking at them.
- Dynamic programming activities can be used with students from junior high to PhD level to learn the basic idea of dynamic programming
- Start programming is a set of exercises for math people who are learning to program, with selected solutions in various languages
- Chess activities designed for beginners who are just learning the game
- Blackjack talk teaches optimal stopping of Markov chains, with Blackjack being the running example
- Monopoly graphs shows where you and your opponents are mostly likely to land, and how much income you can expect to get from investing different amounts of money in the different monopolies