Teaching

Teaching Philosophy

I design courses around authentic, project-based learning that moves from ideas to implementation and then to reflection. Projects mirror how technical teams work in research and practice, supported by structured rubrics, reproducible starter repositories, and clear data provenance. I emphasize core computing ideas such as data structures, algorithms, abstraction, and modeling, alongside practical skills in Python, SQL, machine learning workflows, and visualization. Students progress through well-defined milestones with regular feedback via checkpoints, code and usability reviews, and iterative refinement. By the end of the semester, students produce transferable work, including tested code in version control, functional demos, clear documentation, and visual summaries that communicate results to diverse audiences.

Curriculum and Program Leadership

At UMass Lowell, I lead the development of core, project-centered courses that support the department’s newly launched Applied AI and Data Science (AIDA) program. My work includes designing the Data Structures in Python I & II sequence (AIDA 1010/1020), aligning course outcomes across prerequisite and downstream courses, and developing reusable instructional infrastructure that supports consistent delivery across cohorts and instructors.

These courses integrate programming, data management, applied machine learning, and visualization through real-world, data-driven assignments. The curriculum emphasizes reproducibility, clear documentation, structured assessment, and thoughtful integration of AI tools with defined human-only checkpoints.

Teaching at Scale

  • Multi-phase course design with reusable instructional infrastructure
  • Studio-style learning with standardized evaluation and iterative feedback loops
  • Thoughtful use of AI tools with defined human-only checkpoints
  • Alignment across the curriculum, connecting prerequisite skills to downstream project studios and applied courses

Teaching Experience

Computing for Health and Medicine (COMP 5300 / COMP 4600)

Graduate and Undergraduate, 2020–Present

  • Course design: Three-phase sequence consisting of (1) a Python skills boot camp, (2) a team-based challenge using real health datasets, and (3) an independent machine-learning capstone project
  • Content innovations: Applied machine learning for health data, including skin-lesion classification, clinical time-series modeling, causal inference with observational health data, deep-learning segmentation for medical images, and disease-progression modeling
  • Student outcomes: Public poster and demonstration day; projects progressing to undergraduate honors theses, research assistantships, and manuscript preparation
  • Materials and assessment: Curated Jupyter notebooks, case-study prompts, structured rubrics, and alignment with Open Educational Resources
  • AIDA alignment: Provides early exposure to Python, data exploration, and applied machine learning; prepares students for AIDA 2051 Data Visualization, AIDA 2251 Data Management, AIDA 2203 Machine Learning Studio, and AIDA 2205 Machine Learning. The three-stage structure mirrors the studio-based design used across the AIDA curriculum.

Graphical User Interface I (COMP 4610)

Undergraduate, 2016–Present

  • Focus: Full-stack web fundamentals (HTML, CSS, JavaScript), core interaction patterns, accessibility best practices, and usability principles
  • Pedagogy: Weekly build-and-review cycle with structured code critique and iterative refinement
  • Outcomes: Sustained enrollment growth and adoption of a shared component library across project teams
  • AIDA alignment: Strengthens core programming skills (problem solving, control flow, data handling, testing, version control) that support AIDA 1010 and AIDA 1020 and prepare students for AIDA 2051 Data Visualization

Graphical User Interface II (COMP 4620)

Undergraduate, 2016–Present

  • Focus: Team-based product development pipeline from proposal through alpha and beta releases to usability testing and public final demonstrations
  • Outcomes: Cross-disciplinary collaboration and recurring invitations to campus demonstration events (UML DifferenceMaker)
  • AIDA alignment: Reinforces abstraction, iteration, debugging, usability evaluation, and communication practices that support AIDA 2203 Machine Learning Studio and AIDA 2201 Large Language Models Studio

Earlier Teaching Experience

Oakland University (2012–2016)

  • Interactive Web Systems (Undergraduate, 2016): Updated with a modern web stack (HTML, CSS, JavaScript, PHP, AJAX, jQuery), accessibility principles, and interactive multimedia; satisfied the university’s Knowledge Applications general-education requirement
  • Computational Methods for Biomedical Data (Undergraduate/Graduate, 2015–2016, new course): Designed and launched a data-centric course covering statistical methods, time–frequency analysis, principal component analysis, and predictive modeling for imaging and biomedical datasets
  • Human–Computer Interaction (Undergraduate, 2012–2015): Full course redesign emphasizing perception and cognition, information design, prototyping, and evaluation; incorporated in-lecture quizzes and structured team projects
  • Sophomore Project (Undergraduate, 2014–2015): Team-based software projects with staged deliverables, peer evaluation, and project management training
  • Research Initiation and Research Seminar (Graduate, 2013–2014): Literature review and proposal writing with competitive “funding,” followed by project execution, a written mini-thesis, and a public defense; received strong student feedback
  • Internship and Professional Practice (Undergraduate, 2014): Guided industry-based projects with oral and written deliverables and ongoing instructor mentorship

Prior Teaching (Brown University)

Graduate Teaching Assistant, Interdisciplinary Scientific Visualization (CS 2370), Fall 2010. Contributed to course design, syllabus development, and student advising on semester-long interdisciplinary research projects involving computational modeling and visualization.