<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Home on Ryan Kuhl</title><link>https://kuhl.dev/</link><description>Recent content in Home on Ryan Kuhl</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://kuhl.dev/index.xml" rel="self" type="application/rss+xml"/><item><title>CSC 115 syllabus, Spring 2026</title><link>https://kuhl.dev/teaching/csc115-syllabus/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://kuhl.dev/teaching/csc115-syllabus/</guid><description>&lt;h2 id="meeting-times">Meeting Times&lt;/h2>
&lt;h3 id="lecture">Lecture&lt;/h3>
&lt;p>Wednesday and Friday from 9:05am - 9:55am in Whitten LC 160&lt;/p>
&lt;p>&lt;em>Note&lt;/em>: Lecture attendance is strongly recommended. Lab attendance is required. Students are responsible for all material covered in class and lab.&lt;/p>
&lt;h3 id="lab">Lab&lt;/h3>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Section&lt;/th>
 &lt;th>Day&lt;/th>
 &lt;th>Start Time&lt;/th>
 &lt;th>End Time&lt;/th>
 &lt;th>Room&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>5N&lt;/td>
 &lt;td>Thursday&lt;/td>
 &lt;td>8:50am&lt;/td>
 &lt;td>10:45am&lt;/td>
 &lt;td>Ungar 305&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>7CD&lt;/td>
 &lt;td>Friday&lt;/td>
 &lt;td>10:10am&lt;/td>
 &lt;td>12:05pm&lt;/td>
 &lt;td>Ungar 305&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>7EF&lt;/td>
 &lt;td>Friday&lt;/td>
 &lt;td>12:20pm&lt;/td>
 &lt;td>2:15pm&lt;/td>
 &lt;td>Ungar 305&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h2 id="instructor">Instructor&lt;/h2>
&lt;p>&lt;strong>Ryan Kuhl, M.S&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Email: &lt;a href="mailto:rkuhl@miami.edu">rkuhl@miami.edu&lt;/a>&lt;/li>
&lt;li>Office Location: Ungar Building 310E&lt;/li>
&lt;li>Office Hours: Tuesday &amp;amp; Thursday 9:30am - 10:30am&lt;/li>
&lt;/ul>
&lt;p>Teaching-assistant names and contact details are omitted from this public copy.&lt;/p></description></item><item><title>CSC 115: Python Programming for Everyone</title><link>https://kuhl.dev/teaching/csc115/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://kuhl.dev/teaching/csc115/</guid><description>&lt;p>Spring 2026 · 37 students&lt;/p>
&lt;p>I designed and wrote this course: objectives, lectures, labs, assessments, and the autograding that scores them. It runs in two phases: foundational Python for eight weeks, then applied projects, ending in a capstone.&lt;/p>
&lt;h2 id="approach">Approach&lt;/h2>
&lt;p>Each objective is mapped to a level of Bloom&amp;rsquo;s taxonomy, and each assessment maps back to an objective. Jupyter notebooks are the working environment, with local in-notebook validation on exercises. All lecture and laboratory deliverables run through the Gradescope autograder.&lt;/p></description></item><item><title>CSC 118: Information Technology and Society</title><link>https://kuhl.dev/teaching/csc118/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://kuhl.dev/teaching/csc118/</guid><description>&lt;p>Fall 2025 (36 students), Spring 2026 (27 students), and Fall 2026 (40 students, current)&lt;/p>
&lt;p>A course for health-science and non-technical majors on where computing comes from, who it serves, and how to argue about it.&lt;/p>
&lt;p>The aim is technological agency: to help students be more intentional about the technology they use, so it serves their lives rather than the other way around.&lt;/p>
&lt;p>How the course teaches judgment: &lt;a href="https://kuhl.dev/teaching/health-ai-case-study/">Teaching AI to health-science majors&lt;/a>.&lt;/p></description></item><item><title>Curriculum Vitae</title><link>https://kuhl.dev/cv/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://kuhl.dev/cv/</guid><description>&lt;p>Download: &lt;a href="https://kuhl.dev/files/ryan-kuhl-cv.pdf">CV (PDF)&lt;/a> · &lt;a href="https://kuhl.dev/files/ryan-kuhl-resume.pdf">Resume (PDF)&lt;/a>&lt;/p>
&lt;h2 id="appointments">Appointments&lt;/h2>
&lt;p>&lt;strong>Principal Platform Engineer&lt;/strong>, Mayo Clinic Platform, 2025 to present&lt;/p>
&lt;p>Architecting a global platform to train AI models on multi-institutional clinical data while ensuring patient privacy. Directing the replacement of the legacy Cohort Visualizer for decentralised cohort identification. Managing secure data environments with access to 13.6 million patient records and 3.9 billion medical images. Leading technical stakeholder collaboration with NVIDIA on clinical federated learning tools.&lt;/p>
&lt;p>&lt;strong>Lecturer (Associate Faculty), Computer Science&lt;/strong>, University of Miami, 2025 to present&lt;/p></description></item><item><title>Publications and talks</title><link>https://kuhl.dev/publications/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://kuhl.dev/publications/</guid><description>&lt;p>I have no journal or conference publications yet.&lt;/p>
&lt;h2 id="talks">Talks&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>GraphQL: The Devil&amp;rsquo;s API.&lt;/strong> PyCon US 2022, Salt Lake City. &lt;a href="https://www.youtube.com/watch?v=U6tZT1_3dxM">Recording&lt;/a>.&lt;/li>
&lt;li>&lt;strong>Bay Piggies, March 2022.&lt;/strong> Bay Area Python Interest Group. &lt;a href="https://www.youtube.com/watch?v=ivInA_Y3Z2M">Recording&lt;/a>.&lt;/li>
&lt;/ul></description></item><item><title>Teaching AI to health-science majors</title><link>https://kuhl.dev/teaching/health-ai-case-study/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://kuhl.dev/teaching/health-ai-case-study/</guid><description>&lt;p>CSC 118, Information Technology and Society, is a course for health-science and non-technical majors at the University of Miami. The course is for health-science and non-technical majors, with some computer science students in the room. Many will spend their careers using software they did not build, cannot inspect, and will be asked to trust.&lt;/p>
&lt;p>The course is not primarily an introduction to programming. It is an introduction to judgment: where computing comes from, who pays for it, what it fails at, and how to ask a competent question about a system whose code you will never read. The aim is technological agency: to help students be more intentional about the technology they use, so it serves their lives rather than the other way around.&lt;/p></description></item><item><title>Work</title><link>https://kuhl.dev/work/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://kuhl.dev/work/</guid><description>&lt;h2 id="federated-learning">Federated learning&lt;/h2>
&lt;p>Clinical data is siloed by institution, jurisdiction and law. Pooling it is slow and often impossible, and a model trained at one hospital tends to learn that hospital&amp;rsquo;s scanners and coding practices rather than the thing you wanted it to learn.&lt;/p>
&lt;p>At Mayo Clinic Platform I build the platform that moves the model instead of the data:&lt;/p>
&lt;ol>
&lt;li>The model is sent to each institution.&lt;/li>
&lt;li>Each institution trains it on its own records. Only parameters leave.&lt;/li>
&lt;li>An aggregator combines what came back.&lt;/li>
&lt;li>Repeat.&lt;/li>
&lt;/ol>
&lt;p>The platform covers secure data environments with access to 13.6 million patient records and 3.9 billion medical images. I also direct the replacement of the legacy Mayo Clinic Cohort Visualizer, which identifies cohorts across sites without centralising the records. As technical lead in NVIDIA&amp;rsquo;s NVFlare clinical engineering stakeholder group, I translate clinical and regulatory requirements into platform requirements.&lt;/p></description></item></channel></rss>