Mia Minnes


EBU3b (CSE) 4206

Computer Science and Engineering
University of California, San Diego
9500 Gilman Drive, La Jolla, CA 92093-0404


I am an Associate Teaching Professor and the Vice Chair for Undergraduate Education in the Computer Science and Engineering Department. At UC San Diego, I primarily teach discrete math for CS and introduction to computability, as well as the TA training class. My research interests are in Automata Theory and Computability education, along with SoTL and projects that support professionalization pathways for students, including industry internships, TA development, and ethics and communication.

As part of student engagement efforts during the COVID-19 pandemic, I hosted a "Procrastimaking with a Professor" session with a student team from the Jacobs School EnVision Arts and Engineering Maker Studio.

Grants and Awards

  • NSF Grant CNS-2137928 (2021-2023), PI
  • CDIIP Grant (2021-2022), PI
  • UC San Diego Academic Senate Distinguished Teaching Award (2020)
  • Teaching+Learning Commons Faculty Fellow (2018-2019)
  • CDIIP Grant (2017-2018), PI
  • AVC Academic Advising Innovation Grant (2015-2017), PI
  • NSF Grant DUE-1451521 (2014-2016), co-PI
  • Jacobs School of Engineering Teacher of the Year - by student ballot (2013-2014)
  • NSF Grant DMS-1060351 (2010-2014), PI
  • NSF Grant DMS-0901005 (2009-2010), PI


Summer Internship Symposium

I teach a companion class for CS majors taking industry internships. This class offers an opportunity for students to identify and deepen the connections between their UCSD coursework and real-world problems presented in off-campus internships. Students reflect on the growth of their professional, problem-solving, and technical skills over the internship, as well as the ethical and societal impact of their work. At the culmination of this course, students prepare a poster highlighting a key achievement of their internship. These posters are presented at the Summer Internship Symposium early in the Fall Quarter. All CSE majors are invited to the Symposium, along with alumni and representatives from faculty, the Jacobs school, and industry. The Symposium celebrates our students' accomplishments and strengthens the ties between the CSE department and our alumni and industry colleagues.

The Summer Internship Symposium was featured in the UCTV CSE Channel.

I am conducting ongoing research on the impact of the internship experience and the additional reflective component on students' educational outcomes. For example, statistically significant improvement in students' demonstrated integrative learning can be observed between student writing early in the summer and near the end of the internship.

My role: Founder and CSE197/CSE191 Faculty Sponsor (2014-present); Class websites

Related publications: Minnes, Serslev, Padilla (TOCE March 2021), Minnes et al. (JoTL 2017), Minnes, Serslev, Edwards (ASEE 2020)



FlapJS Online tool to build, simulate, and test automata and other formal models of computation. This student-built product is being piloted for use by CSE105 students. Try out the app here.

The project was kick-started with the CSE Undergraduate Summer Research program, featured on UC TV:

My role: Faculty mentor (2018-present)

Adaptive Rubrics

Adaptive Rubrics Joint work with Marco Carmosino, proposing a new framework for grading based on exploratory data analysis to mine insights on population statistics of learning outcome achievements across the class, along with efficient and consistent grading at scale.

My role: Co-author (2019-2020)

Related publication: SIGCSE 2020; Video presentation

Computing Paths

ComputingPaths Several departments across campus are collaborating to offer resources and advising for students interested in career paths related to computing. Video interviews with current students, alumni, faculty, and advisers are available on ComputingPaths and there is an active Facebook group and Twitter feed with related announcements and news. Supported by an Advising Innovation grant from the Vice Chancellor-Student Affairs and Associate Vice Chancellor for Academic Affairs and Dean of Undergraduate Education.

My role: PI (2015-present); website

Related presentations: UC Academic Advising Conference 2018

Podcast Highlights

Podcast Highlights A CDIIP-funded project to mine, edit, and refine effective snippets and worked examples from course podcasts. The resulting annotated video clips are available for future instructors of these courses to use in flipped offerings, and will also be available for students to self-study. Podcast highlights for CSE 12 and CSE 20 are available on podcast.ucsd.edu (Fall 2017 student team: Hasan Al-Jamaly, Julia Kapich, Alex Staninger, Yu Jessica Wu), and are being produced for use in CSE 8A and CSE 105 (Fall 2018 student team: Farhood Ensan, Nina Rothenhaus, Serena She, Anagha Subramanian, Jeffrey Yeung).

My role: PI (2017-present); Website

Related publication: SIGCSE 2019


Podcast Highlights

An NSF-funded research project to emulate the community and academic support of small classes within a large lecture setting.

My role: co-PI (2014-2017)

Related publications: Original study (SIGCSE 2017), Lightweight implementation (SIGCSE 2018)

Effective Randomness

Algorithmic randomness is an active part of computability theory which classifies and works to understand objects which look random to all effective processes. Ongoing work studies the interaction between notions of randomness and the underlying models of computation.

Related publications: Probabilistic algorithmic randomness (JSL 2013).

Automatic Structure Theory

What is the descriptive and algorithmic power of restricted computational models? In particular, what are the mathematical consequences of encoding structures using finite automata, transducers, or other efficient machines? The study of automatic structures has its roots in complexity theory and computability theory.

Related publications: PhD Thesis (Cornell 2008), Unary automatic structures (TCS 2011), Injection structures (LNCS 2017), for others, see publication list on DBLP.

Coursera MOOC: Intermediate Java Software Engineering Specialization

In this four-course (plus a capstone project) sequence, we cover intermediate topics in software development, including object-oriented programming, data structures, algorithms and analysis, and testing, along with soft skills and technical communication. We launched the first course September 15, 2015.

My role: Co-creator and co-instructor; Specialization page on Coursera


The Center for Advancing Multi-disciplinary Scholarship for Excellence in Education is a university-wide community focussed on undergraduate education. With regular bi-weekly meetings, special visitors, and dedicated workgroups, we form cross-campus connections and work on projects that build on our shared experiences and multiple perspectives.

My role: Member of the Steering Committee (2015-present); Website


This student organization connects students interested in Computer Science for social activities, professional development, tech talks, networking opportunities, and outreach.

My role: Community faculty advisor (2017-present); Website


I've been honored to participate in numerous outreach projects promoting CS and STEM specifically to students from underrepresented groups and underserved communities. Recent activities include:

CSE Women in Computing

Activities: Girls' Day Out keynote speaker (2015, 2016, 2017, 2018), Faculty Office Hour panelist (2016, 2017)

Jacobs School of Engineering IDEA Center

Activities: TritonPREP Faculty lunch (2017), SPACES Admit Day Panel (2015)

Girls' Angle (Website)

Girls' Angle is a club whose mission is to "foster and nurture girls' interest in mathematics and empower them to be able to tackle any field no matter the level of mathematical sophistication". Club members meet for regular problem solving meets, where they are mentored by undergraduate math majors, graduate students, and postdocs. The Women in Mathematics Video Series is intended for a wider audience. Each video explains of pieces of math accessible to students in middle and high school.

Activities: Advisory board member (2008-present), club mentor (2008-2009), video contributor (2011), Math Collaboration host (2018)

NCWiT (Website)

The National Center for Women and Information Technology provides resources and support for educators seeking to broaden representation of women in CS. UCSD CSE received a grant from NCWiT to study enrollment patterns of women in our undergraduate programs and to implement initiatives for recruiting and retention. I served on the committee for this project.

Society for Women Engineers

Activities: Envision Professor Panel (2018), MIT WiSE High School Outreach, Academic program speaker (2009)

Research Advising

Open ads at UCSD are available on the REAL portal and Handshake (formerly Port Triton). For CS research opportunities, check out Conquer with information on summer research opportunities and advice (both general and practical) on graduate school in CS. Videos describing career paths in CS after advanced graduate education are here.

  • Undergraduate research with Aiko Coanaya and Akanksha Pandey (Winter 2022)
    Aiko and Akanksha articulated design principles for course websites serving as instructor-generated class OER and built the infrastructure for a protoype.

  • Undergraduate research with Diana Issatayeva (Winter, Spring 2021)
    Diana did a systematic comparison of JavaScript compiler performance in processing static pages, specifically for the Flap.js web app.

  • Mentor Jeffrey Liu Regents' Scholars Research Initiative (Fall 2020)
    Jeffrey studied languages recognizable by two-state DFAs.

  • MSED Doctoral Research rotation on TA Professional development: Adriana Corrales (Spring, Summer 2018)
    Quantitative and qualitative analysis of effects of the first TA experience on teaching self-efficacy and career directions. Specifically exploring the role of professional development activities on shaping this impact.

  • Educational tool development: Maya Bello, Andrew Kuo, Lixuan Lang, David Osuna, Noah Solomon, Xuanqiang (Eric) Zhao (Summer 2018)
    Web-app automata simulation tool, porting JFLAP to JavaScript and extending its functionality.

  • Undergraduate research with James McDougall (Summer 2018, co-advised with Christine Alvarado)
    Longitudinal tracking of impact of an educational initiative on retention in computing and course performance.

  • Undergraduate research (CSE 198) with Joyce Fang and Max Geislinger (Spring 2018, co-advised with Christine Alvarado)
    Data analysis to compare the usage of full-lecture podcast videos with podcast highlights videos (see project description).

  • Undergraduate research (CSE 198) with Gustavo Umbelino (Summer, Fall 2017 co-advised with Christine Alvarado)
    Statistical analysis of longitudinal effects of pre-college CS experiences on students' performance and persistence in CS classes..
    Best Paper award for CS Education Research in SIGCSE 2018, reprinted in ACM Inroads.

  • Undergraduate research (CSE 198) with Marjan Salamati-Pour, Xinghua (Jerry) Zhou, Emily Chou, Jonathan Perapalanunt, and Abhishek Kumar (Winter 2017 co-advised with Christine Alvarado)
    Educational data mining of Podcast and Piazza data.

  • Mentor Khoa Tran Regents' Scholars Research Initiative (Fall 2016)
    Khoa explored finite-state machines and algorithmic problem solving using Picobot.

  • Undergraduate research (CSE 199) with Jordan Yoshihara (Winter 2015)
    Jordan is running a case study on ALEKS, an educational technology tool, and is exploring the use of technology in K-12 education.

  • Undergraduate research (CSE 199) with Shuyu Mao (Winter 2015)
    Shuyu is learning about and implementing pieces of natural language processing.

  • Mentor Matthew Kleinsmith through California Louis Stokes Alliance for Minority Participation (CAMP) Science Program (Summer 2014)
    One of UCSD's Academic Enrichment Programs, CAMP is federally funded by a grant from the National Science Foundation (NSF) with the purpose of increasing the diversity of student participation in science, technology, engineering, and mathematics (STEM) majors.
    Matthew worked on a research project on transducers (input-output automata) and models of computation for functions.

  • Reading Course (Math 199) with Artem Mavrin (Spring 2012)
    Artem worked through the first several chapters of Kunen's updated Set Theory book.

  • Reading Course (Math 199) with David Marcus (Winter - Spring 2012)
    David worked through notes on Algebra and Logic covering the syntactic and semantic Lindenbaum algebras.

  • UROP with Maria Monks (Spring 2010)
    Maria studied finite automaton presentable groups. In particular, she looked at a generalization of Thurston automatic groups (finitely generated groups whose Cayley graphs are recognisable by finite automata) using asynchronous automata. Her results can be found on the arXiv.

  • UROP with Steven Ji (Spring 2009, Fall 2009)
    Steven studied finite automaton presentations of the rational numbers. He has results about the ubiquity of presentations that can be extracted from the lexicographic ordering.

  • UROP with Anna Loparev (Fall 2008)
    Anna learned about finite automaton presentable sets of strings and sets of trees. She provided connections between the definitions of labelled trees and finite automata on strings. Throughout, cardinality questions came up and Anna became more familiar with arguments involving countable and uncountable sets.


Introduction to Object Oriented Programming in Java   UCSD CSE8A   Description

Course website (Fa18)   Note on using JShell to introduce Java

Introduction to Discrete Mathematics   UCSD CSE20   Description

Course website (Fa21)   Course website (Wi21; remote offering)   Course website (Wi20)   Course website (Fa19)   Course website (Sp19)   Course website (Fa17)   Course website (Wi17)   Course website (Sp16)   Course website (Wi16)
Also taught: Spring 2013, Fall 2013, Fall 2014

Mathematics for Algorithm and Systems Analysis   UCSD CSE21   Description

Course website (Fa15)
Also taught: Fall 2013

Theory of Computability   UCSD CSE105   Description

Course website (Sp20; remote offering)   Course website (Wi19)   Course website (Sp18)   Course website (Wi18)   Course website (Sp17)   Course website (Fa16)   Course website (Sp14)

Seminar: Advanced topics in computability   UCSD CSE198

Course website (Sp19): NP problems   Course website (Fa17): Models of Computation   Course website (Sp17): Kolmogorov Complexity

Internship companion classes   UCSD CSE191, CSE197

Course websites

Teaching Methods in Computer Science   UCSD CSE599   Description and Overview

Course website (Sp21; remote offering)   Course website (Wi21; remote offering)   Course website (Fa20; remote offering)   Course website (Fa19)   Course website (Sp19)   Course website (Wi19)   Course website (Fa17)   Course website (Fa16)  Course website (Wi16)   Course website (Fa15)

Elementary Mathematical Logic   UCSD Math 160A-B   Description

160A website   160B website

Introduction to Computability and Undecidability   MIT 18.511   Description

Course website

Undergraduate Seminar in Logic - Kolmogorov Complexity   MIT 18.504   Description

Course website

Introduction to Mathematical Reasoning   UCSD Math 109  Description

Course website (Sp11)   Course website (Wi14)

Abstract Algebra I   UCSD Math 100A   Description

Course website

Modern Algebra I   UCSD Math 103   Description

103A website 103B website

Discrete Math & Graph Theory   UCSD Math 154  Description

Course website

Calculus   UCSD Math 10A, MIT 18.01A/18.02A, Cornell Math 111  Description

Math 10A website  18.01A website  Cornell website (Blackboard)

Introduction to Differential Equations   UCSD Math 20D  Description

Course website

Archived projects

Summer Academy for Incoming Transfer Students (Website)

Summer Academy serves incoming transfer students entering UC San Diego in the Fall quarter typcially from a community college. It is a five-week program where students take gateway courses for their major that are not typically offered at community colleges. The Academy also includes advising and other activities to help students smoothly transition to UC San Diego.

My role: Mentor training and CSE Seminar lead (2016)

SPIS: Summer Program for Incoming Students (Website)

SPIS (pronounced "spice") gives students college-level exposure to computer science, emphasizing problem-solving, communication skills, and mathematical modeling. It is a 5-week residential summer program on the UC San Diego campus for students accepted into CSE majors as well as for other UCSD admitted students who want to explore computer science as a career option. Students in the program interact with a wide range of CSE faculty and learn about computer science and engineering research. They also have opportunities to connect with engineers from the computer industry. SPIS provides an excellent student experience with individual meetings with faculty, tutoring from experienced CSE undergraduate students, collaborations with fellow students, individual advising to smooth the transition to UCSD, and living on campus.

My role: SPIS Faculty (2013-2016)

Communication (Website)

MathDL Mathematical Communication is a developing collection of resources for engaging students in writing and speaking about mathematics, whether for the purpose of learning mathematics or of learning to communicate as mathematicians. This site originated in the MIT Department of Mathematics, which offers about ten communication-intensive courses, many of which are led by a different instructor each semester. The department created a website to engage and support this community of instructors and to facilitate the archiving of course materials and the gleaning of “good practices” for these courses. In 2010 the NSF awarded an NSDL grant to make the site public, and it is now hosted by the Mathematical Association of America as part of MathDL.

My role: Site concept and design, contributor.

If you would like to request a reference letter

Writing a strong recommendation letter takes thought and time. At least one month before the deadline, send me an email and provide the following information:

  • What are you applying for? Is it a specific program / scholarship or a suite of similar applications (graduate programs / REUs / conference funding sources)? Please include the names of all programs you're considering. Except in extenuating circumstances, I ask that you limit the number of programs I'll be sending the letter to 8-10 applications. Let me know the deadlines for the letter for each program.
  • Why are you applying? Understanding your motivations for graduate school or an internship or a fellowship will help me provide context in my letter. One way for me to learn about your plans may be to see drafts or copies of any application materials (personal statement, letter of intent, etc.) you are writing. Early drafts are fine, but I need to know what you've written so that my letter can complement and reinforce your submission.
  • Why am I in a good position to write a strong letter? In what context(s) have I seen your work? If you were a student in a class I taught, include the class and the quarter as well as the letter grade you received. Also include any work you did beyond the usual classwork: did you complete extra credit questions? attend office hours regularly? contribute to Piazza discussions?
    If you tutored or TAed for me, again indicate the class and the quarter and remind me of any special roles you played (extra review sessions? test-driving exams? writing up homework solutions?).
  • What would you like me to highlight? Are there specific attributes or skills that are being sought for in the application that I can speak to? Have you been involved in extracurricular activities that are applicable to the application and you'd like me to include? Were there challenges or obstacles that you overcame to reach this stage in your career that could make your application stand out (or explain any blips in your transcript)?
I also need a complete list of URLs / links / email addresses for the reference letter. For applications that request snail-mailed letters, a stamped and addressed envelope is appreciated. Please use the CSE Student Affairs main concact number for application that require my phone number and list minnes@eng.ucsd.edu as my contact email address. Per UC San Diego guidance, I will need you to complete this release form to give me permission to send a letter on your behalf. Please include the completed form (electronic signature is okay) with your initial email request.

Information for prospective TAs / tutors

Image: xkcd.com

I am always happy to work with motivated, responsible, enthusiastic, and knowledgeable tutors and TAs. If you are interested in one of the courses I am teaching, I encourage you to apply to work with me.

Before you apply: you do not need to email me ahead of time expressing your interest. I will only consider what you have written in ASES (and any meaningful interactions we've had in academic contexts) when screening candidates. I do not accept CVs or other letters of intent through email.

Your availability during the quarter you are applying to tutor is extremely important. Do not apply to work with me if you are planning to take a very heavy course load or if you know you will be away for more than a week during the tutoring/TAing contract. If you know you will arrive in San Diego after the first day of the quarter (which is often before the first day of instruction) or if you know you will need to leave San Diego before the Tuesday after exam week, you must make this clear in your application.

To apply, use the centralized CSE ASES application system linked here (for tutors) and here (for TAs). The preference order you give to classes matters: I will often find my team among applicants who put my course as one of their top preference choices.

Filling out the ASES application questions carefully is the best way to convince me that you are serious about working on the course and have the necessary attributes, passion, and time to help make the course a success.

  1. Fill in all the demographic information accurately. In particular, if you prefer to use a name other than your legal name, do mention it.
  2. Indicate any other employment you might pursue for the relevant quarter.
  3. Many applications essentially say "I want to help others and learn the material better by teaching" or "tutors have helped me in the past and I would like to help other people". Those sentiments are great, but they don't tell me why you are the right person for the job. Add specific details by answering all of the following questions in your application:
    • For our class to be successful, it needs to serve *all* of its students. How will you work to create an inclusive climate for our class and our team? Please be as specific as possible.
    • My classes are typically theoretical. They require effective technical communication from everyone on the instructional team. Show me you can do this: pick your favorite theorem, algorithm, or fact from this or a related class. Explain why it's true, why it's interesting, and why you like it.
    • Tutoring/TAing is a big time commitment, and will need to be juggled with your own coursework. How will you ensure that you uphold your responsibilities as a tutor/TA? Give specific examples of experiences that have demonstrated your ability to meet deadlines, especially in the presence of conflicting demands.
    • What is the hardest part of this class? Why? How would you help a student struggling with this? Ideally, give specific examples of how you overcame this challenge when you were taking this (or a similar) class.
    • If you've tutored/TAed before: what is your greatest strength as a tutor/TA? Your greatest weakness?
  4. For "Please enter any comments or describe any special circumstances...", you must include any potential conflicts you will have with the class. For example, if you are planning to take a class whose lecture times exactly overlap the lecture (or its discussions) for the class you're applying to TA/tutor for, you may still be able to do the job but you must let me know ahead of time.
  5. For TA applicants, I watch the sample teaching video carefully. It can help an application stand out, so put some extra effort it. Make sure it is representative of the clarity of your exposition, your organizational skills, and your enthusiasm.

When are my office hours?

My office hour schedule varies from quarter to quarter, depending on my teaching schedule and other factors. Please check my current class calendar(s), website(s) linked above, for this quarter's scheduled office hours.

I also host weekly advising / mentoring office hours as part of the UGCom Faculty mentoring initiative. For more details and the calendar see, https://cse.ucsd.edu/undergraduate/advising/undergraduate-committee-ugcom-advising-and-mentorship.

Brief Bio

Mia Minnes is an Associate Teaching Professor and the Vice-Chair for Undergraduate Education in the Computer Science and Engineering Department at UC San Diego. In addition to research related to Automata Theory and Computability education, she works on projects that support professionalization pathways for students, including industry internships, TA development, and ethics and communication. Her work has been supported by grants from UC San Diego, NSF, and industry partners. She is the recipient of the UC San Diego Senate Distinguished Teaching Award and the Jacobs School of Engineering Teacher of the Year - CSE award.

Prior to joining CSE in 2014, Dr. Minnes was an SE Warschawski Visiting Assistant Professor in the Mathematics Department here at UCSD. Before that, she was a CLE Moore Instructor at MIT. She earned her PhD in Mathematics at Cornell University in 2008, co-advised by Anil Nerode and Bakhadyr Khoussainov. She earned Master's degrees in Computer Science (2006) and Mathematics (2006) from Cornell and Bachelor's degrees in Mathematics and Engineering (2003) and Philosophy (2003) from Queen's University.   (CV, publication list, and list of invited talks and seminars available on request.)