{"id":163,"date":"2025-05-23T17:49:51","date_gmt":"2025-05-23T17:49:51","guid":{"rendered":"https:\/\/education.ufl.edu\/school-teaching-learning\/?page_id=163"},"modified":"2026-03-17T19:20:43","modified_gmt":"2026-03-17T19:20:43","slug":"academic-programs","status":"publish","type":"page","link":"https:\/\/education.ufl.edu\/school-teaching-learning\/academic-programs\/","title":{"rendered":"Academic Programs"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; background_image=&#8221;https:\/\/education.ufl.edu\/school-teaching-learning\/files\/2025\/05\/CSEd-Wk-PKY-04.jpg&#8221; background_position=&#8221;top_center&#8221; background_vertical_offset=&#8221;26%&#8221; min_height=&#8221;500px&#8221; custom_padding=&#8221;38px||38px||true|&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;30px||||false|false&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row column_structure=&#8221;3_4,1_4&#8243; _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; positioning=&#8221;none&#8221; position_origin_a=&#8221;bottom_center&#8221; custom_padding=&#8221;20px||0px||false|false&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;3_4&#8243; _builder_version=&#8221;4.20.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_code disabled_on=&#8221;off|off|off&#8221; _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;||10px||false|false&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;]<span><span><a href=\"https:\/\/education.ufl.edu\/school-teaching-learning\/\">School of Teaching and Learning<\/a><\/span><\/span><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->[\/et_pb_code][et_pb_text _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;73b7d96e-009d-44a6-8e9e-6b2e651fdf2f&#8221; text_text_color=&#8221;#0a0a0a&#8221; link_font=&#8221;|800||on|||||&#8221; link_text_color=&#8221;#CC4927&#8243; link_font_size=&#8221;13px&#8221; link_letter_spacing=&#8221;1px&#8221; header_text_color=&#8221;#194588&#8243; header_font_size=&#8221;50px&#8221; header_2_font_size=&#8221;28px&#8221; custom_margin=&#8221;||-6px|||&#8221; custom_margin_tablet=&#8221;||0px||false|false&#8221; custom_margin_phone=&#8221;||0px||false|false&#8221; custom_margin_last_edited=&#8221;on|phone&#8221; custom_padding=&#8221;||19px|||&#8221; header_font_size_tablet=&#8221;50px&#8221; header_font_size_phone=&#8221;40px&#8221; header_font_size_last_edited=&#8221;on|phone&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h1>Academic Programs<\/h1>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]The School of Teaching and Learning at the University of Florida offers a broad range of academic programs designed to prepare and advance educators and educational leaders. Students can pursue undergraduate teacher preparation, graduate degrees, and certificates in areas such as elementary and secondary education, reading and literacy, mathematics and science education, ESOL\/bilingual education, educational technology, and teacher leadership. Programs are available through traditional campus-based formats as well as online options, and include pathways from initial teacher certification to advanced specialist and doctoral study, all focused on combining research-based practice with real-world classroom experience.[\/et_pb_text][\/et_pb_column][et_pb_column type=&#8221;1_4&#8243; _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;88px||||false|false&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_menu menu_id=&#8221;5&#8243; module_class=&#8221;pa-vertical-menu&#8221; _builder_version=&#8221;4.22.0&#8243; _module_preset=&#8221;default&#8221; menu_font=&#8221;Lato|700|||||||&#8221; menu_text_color=&#8221;#1C2F3D&#8221; menu_font_size=&#8221;16px&#8221; background_color=&#8221;#E8E8E8&#8243; custom_margin=&#8221;||20px||false|false&#8221; custom_padding=&#8221;20px|20px|20px|20px|false|false&#8221; custom_css_before=&#8221;content:&#8217;Menu&#8217;;&#8221; custom_css_menu_link=&#8221;margin-left: 8px; &#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_menu][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_code _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<style><!-- [et_pb_line_break_holder] -->    a {<!-- [et_pb_line_break_holder] -->        text-decoration: none;<!-- [et_pb_line_break_holder] -->        border: none;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    a:hover {<!-- [et_pb_line_break_holder] -->        text-decoration: none !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    main.container {<!-- [et_pb_line_break_holder] -->        margin-top: 32px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .container__title,<!-- [et_pb_line_break_holder] -->    h2.container__title {<!-- [et_pb_line_break_holder] -->        font-weight: 700;<!-- [et_pb_line_break_holder] -->        font-size: 14px;<!-- [et_pb_line_break_holder] -->        margin-top: 20px;<!-- [et_pb_line_break_holder] -->        margin-bottom: 10px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    #posts-container {<!-- [et_pb_line_break_holder] -->        display: flex;<!-- [et_pb_line_break_holder] -->        flex-wrap: wrap;<!-- [et_pb_line_break_holder] -->        justify-content: center;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .post-content p {<!-- [et_pb_line_break_holder] -->        color: #0a0a0a;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .post {<!-- [et_pb_line_break_holder] -->        display: flex;<!-- [et_pb_line_break_holder] -->        position: relative;<!-- [et_pb_line_break_holder] -->        border: 1px solid #e1e8ed;<!-- [et_pb_line_break_holder] -->        margin-top: 12px;<!-- [et_pb_line_break_holder] -->        max-width: 1600px;<!-- [et_pb_line_break_holder] -->        height: fit-content;<!-- [et_pb_line_break_holder] -->        background-color: white;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .post-preview:hover {<!-- [et_pb_line_break_holder] -->        outline: 1.5px solid #1f7e98 !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .post-title {<!-- [et_pb_line_break_holder] -->        margin-top: 0;<!-- [et_pb_line_break_holder] -->        overflow: hidden;<!-- [et_pb_line_break_holder] -->        text-overflow: ellipsis;<!-- [et_pb_line_break_holder] -->        text-transform: uppercase;<!-- [et_pb_line_break_holder] -->        font-family: 'Lato', Helvetica, Arial, Lucida, sans-serif !important;<!-- [et_pb_line_break_holder] -->        font-weight: 900;<!-- [et_pb_line_break_holder] -->        text-transform: uppercase;<!-- [et_pb_line_break_holder] -->        font-size: 18px;<!-- [et_pb_line_break_holder] -->        width: fit-content;<!-- [et_pb_line_break_holder] -->        color: #CC4927 !important;<!-- [et_pb_line_break_holder] -->        letter-spacing: 1px;<!-- [et_pb_line_break_holder] -->        cursor: pointer;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .post-small-title {<!-- [et_pb_line_break_holder] -->        color: #0a0a0a;<!-- [et_pb_line_break_holder] -->        font-weight: 600;<!-- [et_pb_line_break_holder] -->        padding-bottom: 0 !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .post-content {<!-- [et_pb_line_break_holder] -->        display: flex;<!-- [et_pb_line_break_holder] -->        flex-direction: column;<!-- [et_pb_line_break_holder] -->        flex-grow: 1;<!-- [et_pb_line_break_holder] -->        padding: 16px;<!-- [et_pb_line_break_holder] -->        width: 75%;<!-- [et_pb_line_break_holder] -->        padding: 28px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .post-image {<!-- [et_pb_line_break_holder] -->        width: 30% !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .post-preview {<!-- [et_pb_line_break_holder] -->        overflow: hidden;<!-- [et_pb_line_break_holder] -->        display: flex;<!-- [et_pb_line_break_holder] -->        cursor: default;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .post-preview img {<!-- [et_pb_line_break_holder] -->        object-fit: cover;<!-- [et_pb_line_break_holder] -->        width: 100%;<!-- [et_pb_line_break_holder] -->        height: 100%;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .post-tag {<!-- [et_pb_line_break_holder] -->        display: inline-block;<!-- [et_pb_line_break_holder] -->        margin-right: 10px;<!-- [et_pb_line_break_holder] -->        margin-bottom: 10px;<!-- [et_pb_line_break_holder] -->        padding: 0 8px;<!-- [et_pb_line_break_holder] -->        color: #2e2e2e;<!-- [et_pb_line_break_holder] -->        border: 1px solid #2e2e2e;<!-- [et_pb_line_break_holder] -->        border-radius: 25px;<!-- [et_pb_line_break_holder] -->        white-space: nowrap;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .post-type {<!-- [et_pb_line_break_holder] -->        text-transform: uppercase;<!-- [et_pb_line_break_holder] -->        display: inline-block;<!-- [et_pb_line_break_holder] -->        -webkit-font-smoothing: subpixel-antialiased;<!-- [et_pb_line_break_holder] -->        color: #0085b6;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .program-link {<!-- [et_pb_line_break_holder] -->        display: inline-block;<!-- [et_pb_line_break_holder] -->        margin-right: 2%;<!-- [et_pb_line_break_holder] -->        margin-bottom: 10px;<!-- [et_pb_line_break_holder] -->        padding: 0px;<!-- [et_pb_line_break_holder] -->        color: #194588;<!-- [et_pb_line_break_holder] -->        white-space: nowrap;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .program-link:hover {<!-- [et_pb_line_break_holder] -->        color: #194588;<!-- [et_pb_line_break_holder] -->        text-decoration: underline;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .filter-container {<!-- [et_pb_line_break_holder] -->        display: flex;<!-- [et_pb_line_break_holder] -->        flex-wrap: wrap;<!-- [et_pb_line_break_holder] -->        justify-content: flex-start;<!-- [et_pb_line_break_holder] -->        gap: 10px;<!-- [et_pb_line_break_holder] -->        padding: 16px 0 16px;<!-- [et_pb_line_break_holder] -->        border-bottom: 1px solid #e4e4e4;<!-- [et_pb_line_break_holder] -->        margin-bottom: 16px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .filter-button {<!-- [et_pb_line_break_holder] -->        transition: background-color 200ms, color 200ms;<!-- [et_pb_line_break_holder] -->        background-color: transparent;<!-- [et_pb_line_break_holder] -->        font: inherit;<!-- [et_pb_line_break_holder] -->        cursor: pointer;<!-- [et_pb_line_break_holder] -->        display: inline-block;<!-- [et_pb_line_break_holder] -->        padding: 0 8px;<!-- [et_pb_line_break_holder] -->        color: #2e2e2e;<!-- [et_pb_line_break_holder] -->        border: 1px solid #9b9b9b;<!-- [et_pb_line_break_holder] -->        border-radius: 25px;<!-- [et_pb_line_break_holder] -->        font-size: 1em;<!-- [et_pb_line_break_holder] -->        white-space: nowrap;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .filter-button:hover {<!-- [et_pb_line_break_holder] -->        background-color: white;<!-- [et_pb_line_break_holder] -->        color: #3a3a3a;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .filter-button.is-active {<!-- [et_pb_line_break_holder] -->        background-color: #194588;<!-- [et_pb_line_break_holder] -->        border-color: #194588;<!-- [et_pb_line_break_holder] -->        color: #fff;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    @media (max-width: 980px) {<!-- [et_pb_line_break_holder] -->        .post-preview {<!-- [et_pb_line_break_holder] -->            display: flex;<!-- [et_pb_line_break_holder] -->            flex-direction: column !important;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .post-preview img {<!-- [et_pb_line_break_holder] -->            width: 100% !important;<!-- [et_pb_line_break_holder] -->            max-height: 300px;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .post-content {<!-- [et_pb_line_break_holder] -->            width: 100%;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"program-directory-content\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"program-directory-controls\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"filter-container-left\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"container__title\">Degree Type<\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<div id=\"post-categories\" class=\"filter-container\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"container__title\">Program Type<\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<div id=\"post-type\" class=\"filter-container\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"filter-container-right\"><!-- [et_pb_line_break_holder] -->            <button id=\"reset-filters\" class=\"filter-button reset-button\">Reset Filters<\/button><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"container__title\"><!-- [et_pb_line_break_holder] -->        Program Offerings(<span id=\"post-count\"><\/span>)<!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div id=\"posts-container\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->    <pee id=\"no-results\"><\/pee><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><script src=\"https:\/\/code.jquery.com\/jquery-3.6.0.min.js\"><\/script><!-- [et_pb_line_break_holder] --><script><!-- [et_pb_line_break_holder] -->document.addEventListener('DOMContentLoaded', function() {<!-- [et_pb_line_break_holder] -->    \/\/ ACCESSIBILITY FIX: Convert section labels to proper H2 headings<!-- [et_pb_line_break_holder] -->    jQuery(function($) {<!-- [et_pb_line_break_holder] -->        $('.container__title').each(function() {<!-- [et_pb_line_break_holder] -->            const $div = $(this);<!-- [et_pb_line_break_holder] -->            const $h2 = $('<\/p>\n<h2><\/h2>\n<p>');<!-- [et_pb_line_break_holder] -->            $h2.html($div.html());<!-- [et_pb_line_break_holder] -->            $h2.addClass('container__title');<!-- [et_pb_line_break_holder] -->            $div.replaceWith($h2);<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ ACCESSIBILITY FIX: Mark program preview images as decorative<!-- [et_pb_line_break_holder] -->    jQuery(function($) {<!-- [et_pb_line_break_holder] -->        $('#posts-container').on('DOMSubtreeModified', function() {<!-- [et_pb_line_break_holder] -->            $('#posts-container .post-preview img.post-image').attr('alt', '');<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    let postsData;<!-- [et_pb_line_break_holder] -->    let currentFilters = {<!-- [et_pb_line_break_holder] -->        categories: [],<!-- [et_pb_line_break_holder] -->        types: []<!-- [et_pb_line_break_holder] -->    };<!-- [et_pb_line_break_holder] -->    const postsContainer = document.querySelector(\"#posts-container\");<!-- [et_pb_line_break_holder] -->    const categoriesContainer = document.querySelector(\"#post-categories\");<!-- [et_pb_line_break_holder] -->    const typesContainer = document.querySelector(\"#post-type\");<!-- [et_pb_line_break_holder] -->    const postCount = document.querySelector(\"#post-count\");<!-- [et_pb_line_break_holder] -->    const noResults = document.querySelector(\"#no-results\");<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function getHashFilter() {<!-- [et_pb_line_break_holder] -->        const hash = window.location.hash.substring(1);<!-- [et_pb_line_break_holder] -->        return hash.toLowerCase();<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function applyPrefilter(filter) {<!-- [et_pb_line_break_holder] -->        let filterButton;<!-- [et_pb_line_break_holder] -->        switch(filter) {<!-- [et_pb_line_break_holder] -->            case 'undergrad':<!-- [et_pb_line_break_holder] -->                filterButton = Array.from(document.querySelectorAll('.filter-button'))<!-- [et_pb_line_break_holder] -->                    .find(button => button.innerText.toLowerCase() === 'undergraduate');<!-- [et_pb_line_break_holder] -->                break;<!-- [et_pb_line_break_holder] -->            case 'graduate':<!-- [et_pb_line_break_holder] -->                filterButton = Array.from(document.querySelectorAll('.filter-button'))<!-- [et_pb_line_break_holder] -->                    .find(button => button.innerText.toLowerCase() === 'graduate');<!-- [et_pb_line_break_holder] -->                break;<!-- [et_pb_line_break_holder] -->            case 'certificate':<!-- [et_pb_line_break_holder] -->                filterButton = Array.from(document.querySelectorAll('.filter-button'))<!-- [et_pb_line_break_holder] -->                    .find(button => button.innerText.toLowerCase() === 'certificate');<!-- [et_pb_line_break_holder] -->                break;<!-- [et_pb_line_break_holder] -->            case 'minor':<!-- [et_pb_line_break_holder] -->                filterButton = Array.from(document.querySelectorAll('.filter-button'))<!-- [et_pb_line_break_holder] -->                    .find(button => button.innerText.toLowerCase() === 'minor');<!-- [et_pb_line_break_holder] -->                break;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        if (filterButton) {<!-- [et_pb_line_break_holder] -->            filterButton.click();<!-- [et_pb_line_break_holder] -->            setTimeout(() => {<!-- [et_pb_line_break_holder] -->                scrollToContent();<!-- [et_pb_line_break_holder] -->            }, 100);<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function updateUrlHashWithoutRefresh(hash) {<!-- [et_pb_line_break_holder] -->        if (history.pushState) {<!-- [et_pb_line_break_holder] -->            history.pushState(null, null, hash ? `#${hash}` : window.location.pathname);<!-- [et_pb_line_break_holder] -->        } else {<!-- [et_pb_line_break_holder] -->            location.hash = hash;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function scrollToContent() {<!-- [et_pb_line_break_holder] -->        const contentSection = document.getElementById('program-directory-content');<!-- [et_pb_line_break_holder] -->        if (contentSection) {<!-- [et_pb_line_break_holder] -->            contentSection.scrollIntoView({ behavior: 'smooth' });<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function updateUrlHash() {<!-- [et_pb_line_break_holder] -->        let hash = '';<!-- [et_pb_line_break_holder] -->        if (currentFilters.categories.includes('Undergraduate')) {<!-- [et_pb_line_break_holder] -->            hash = 'undergrad';<!-- [et_pb_line_break_holder] -->        } else if (currentFilters.categories.includes('Graduate')) {<!-- [et_pb_line_break_holder] -->            hash = 'graduate';<!-- [et_pb_line_break_holder] -->        } else if (currentFilters.categories.includes('Certificate')) {<!-- [et_pb_line_break_holder] -->            hash = 'certificate';<!-- [et_pb_line_break_holder] -->        } else if (currentFilters.categories.includes('Minor')) {<!-- [et_pb_line_break_holder] -->            hash = 'minor';<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        updateUrlHashWithoutRefresh(hash);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    fetch(\"\/wp-json\/api\/v1\/programs\/get\")<!-- [et_pb_line_break_holder] -->        .then(async (response) => {<!-- [et_pb_line_break_holder] -->            postsData = await response.json();<!-- [et_pb_line_break_holder] -->            postsData = postsData.filter(post => post.school == '1');<!-- [et_pb_line_break_holder] -->            postsData.sort((a, b) => a.title.localeCompare(b.title));<!-- [et_pb_line_break_holder] -->            postsData.forEach((post) => createPost(post));<!-- [et_pb_line_break_holder] -->            postCount.innerText = postsData.length;<!-- [et_pb_line_break_holder] -->            registerListeners();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            categoriesData = [<!-- [et_pb_line_break_holder] -->                ...new Set(<!-- [et_pb_line_break_holder] -->                    postsData<!-- [et_pb_line_break_holder] -->                        .map((post) => JSON.parse(post.categories))<!-- [et_pb_line_break_holder] -->                        .reduce((acc, curVal) => acc.concat(curVal), [])<!-- [et_pb_line_break_holder] -->                )<!-- [et_pb_line_break_holder] -->            ].sort();<!-- [et_pb_line_break_holder] -->            categoriesData.map((category) =><!-- [et_pb_line_break_holder] -->                createFilter(\"categories\", category, categoriesContainer)<!-- [et_pb_line_break_holder] -->            );<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            typeData = [<!-- [et_pb_line_break_holder] -->                ...new Set(<!-- [et_pb_line_break_holder] -->                    postsData<!-- [et_pb_line_break_holder] -->                        .map((post) => JSON.parse(post.types))<!-- [et_pb_line_break_holder] -->                        .reduce((acc, curVal) => acc.concat(curVal), [])<!-- [et_pb_line_break_holder] -->                )<!-- [et_pb_line_break_holder] -->            ].sort();<!-- [et_pb_line_break_holder] -->            typeData.map((type) => createFilter(\"types\", type, typesContainer));<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            addResetButton();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            const prefilter = getHashFilter();<!-- [et_pb_line_break_holder] -->            if (prefilter) {<!-- [et_pb_line_break_holder] -->                setTimeout(() => {<!-- [et_pb_line_break_holder] -->                    applyPrefilter(prefilter);<!-- [et_pb_line_break_holder] -->                }, 500);<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    const createPost = (postData) => {<!-- [et_pb_line_break_holder] -->        var { title, link, intro, image, programs, categories, types } = postData;<!-- [et_pb_line_break_holder] -->        if (!title) return;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        const post = document.createElement(\"div\");<!-- [et_pb_line_break_holder] -->        post.className = \"post\";<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        if (!programs || programs === \"null\") programs = [];<!-- [et_pb_line_break_holder] -->        else if (typeof programs != \"object\") programs = JSON.parse(programs);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        if (!categories || categories === \"null\") categories = [];<!-- [et_pb_line_break_holder] -->        else if (typeof categories != \"object\") categories = JSON.parse(categories);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        if (!types || types === \"null\") types = [];<!-- [et_pb_line_break_holder] -->        else if (typeof types != \"object\") types = JSON.parse(types);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        var programslist = \"\";<!-- [et_pb_line_break_holder] -->        programs.forEach(function (program, pi) {<!-- [et_pb_line_break_holder] -->            programslist += '<\/p>\n<div class=\"program-link\" href=\"' + program.sublink + '\" target=\"_blank\">' + program.name + '<\/div>\n<p>'<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        $(post).html(`<!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"post-preview\"><!-- [et_pb_line_break_holder] -->                <img decoding=\"async\" class=\"post-image\" src=\"${image}\" alt=\"\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<div class=\"post-content\"><!-- [et_pb_line_break_holder] -->                    <\/p>\n<h3 class=\"post-title\" href=\"${link}\" target=\"_blank\">${title}<\/h3>\n<p><!-- [et_pb_line_break_holder] -->                    <\/p>\n<div class=\"post-tags\"><!-- [et_pb_line_break_holder] -->                        ${categories<!-- [et_pb_line_break_holder] -->                .map((category) => {<!-- [et_pb_line_break_holder] -->                    return '<span class=\"post-tag\">' + category + \"<\/span>\";<!-- [et_pb_line_break_holder] -->                })<!-- [et_pb_line_break_holder] -->                .join(\"\")}<!-- [et_pb_line_break_holder] -->                    <\/div>\n<p><!-- [et_pb_line_break_holder] -->                    <pee>${intro}<\/pee><!-- [et_pb_line_break_holder] -->                    <pee class=\"post-small-title\"><em>Program(s) Available:<\/em><\/pee><!-- [et_pb_line_break_holder] -->                    <\/p>\n<div class=\"post-program\"><!-- [et_pb_line_break_holder] -->                        ${programslist}<!-- [et_pb_line_break_holder] -->                    <\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->        `);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        postsContainer.append(post);<!-- [et_pb_line_break_holder] -->    };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    const openInNewTab = function (url, tab) {<!-- [et_pb_line_break_holder] -->        if (!url) return;<!-- [et_pb_line_break_holder] -->        window.open(url, tab || '_blank');<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    const registerListeners = () => {<!-- [et_pb_line_break_holder] -->        $(\".post-title\").off(\"click\").click(function () {<!-- [et_pb_line_break_holder] -->            var href = $(this).attr(\"href\");<!-- [et_pb_line_break_holder] -->            var target = $(this).attr(\"target\");<!-- [et_pb_line_break_holder] -->            openInNewTab(href, target);<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        $(\".program-link\").off(\"click\").click(function (e) {<!-- [et_pb_line_break_holder] -->            e.stopPropagation();<!-- [et_pb_line_break_holder] -->            var href = $(this).attr(\"href\");<!-- [et_pb_line_break_holder] -->            var target = $(this).attr(\"target\");<!-- [et_pb_line_break_holder] -->            openInNewTab(href, target);<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    const createFilter = (key, param, container) => {<!-- [et_pb_line_break_holder] -->        const filterButton = document.createElement(\"button\");<!-- [et_pb_line_break_holder] -->        filterButton.className = \"filter-button\";<!-- [et_pb_line_break_holder] -->        filterButton.innerText = param;<!-- [et_pb_line_break_holder] -->        filterButton.setAttribute(\"data-state\", \"inactive\");<!-- [et_pb_line_break_holder] -->        filterButton.addEventListener(\"click\", (e) =><!-- [et_pb_line_break_holder] -->            handleButtonClick(e, key, param, container)<!-- [et_pb_line_break_holder] -->        );<!-- [et_pb_line_break_holder] -->        container.append(filterButton);<!-- [et_pb_line_break_holder] -->    };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    const handleButtonClick = (e, key, param, container) => {<!-- [et_pb_line_break_holder] -->        const button = e.target;<!-- [et_pb_line_break_holder] -->        const buttonState = button.getAttribute(\"data-state\");<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        if (buttonState == \"inactive\") {<!-- [et_pb_line_break_holder] -->            button.classList.add(\"is-active\");<!-- [et_pb_line_break_holder] -->            button.setAttribute(\"data-state\", \"active\");<!-- [et_pb_line_break_holder] -->            currentFilters[key].push(param);<!-- [et_pb_line_break_holder] -->        } else {<!-- [et_pb_line_break_holder] -->            button.classList.remove(\"is-active\");<!-- [et_pb_line_break_holder] -->            button.setAttribute(\"data-state\", \"inactive\");<!-- [et_pb_line_break_holder] -->            currentFilters[key] = currentFilters[key].filter((item) => item !== param);<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        handleFilterPosts(currentFilters);<!-- [et_pb_line_break_holder] -->        registerListeners();<!-- [et_pb_line_break_holder] -->        updateUrlHash();<!-- [et_pb_line_break_holder] -->    };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    const handleFilterPosts = (filters) => {<!-- [et_pb_line_break_holder] -->        let filteredPosts = [...postsData];<!-- [et_pb_line_break_holder] -->        let filterKeys = Object.keys(filters);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        if (filterKeys.some(key => filters[key].length > 0)) {<!-- [et_pb_line_break_holder] -->            filteredPosts = filteredPosts.filter(post => {<!-- [et_pb_line_break_holder] -->                return filterKeys.every(key => {<!-- [et_pb_line_break_holder] -->                    if (filters[key].length === 0) return true;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                    let postValues;<!-- [et_pb_line_break_holder] -->                    if (key === 'types') {<!-- [et_pb_line_break_holder] -->                        postValues = JSON.parse(post.types);<!-- [et_pb_line_break_holder] -->                    } else if (key === 'categories') {<!-- [et_pb_line_break_holder] -->                        postValues = JSON.parse(post.categories);<!-- [et_pb_line_break_holder] -->                    } else {<!-- [et_pb_line_break_holder] -->                        return true;<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                    if (!Array.isArray(postValues)) postValues = [postValues];<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                    return filters[key].every(filterValue =><!-- [et_pb_line_break_holder] -->                        postValues.includes(filterValue)<!-- [et_pb_line_break_holder] -->                    );<!-- [et_pb_line_break_holder] -->                });<!-- [et_pb_line_break_holder] -->            });<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        postCount.innerText = filteredPosts.length;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        if (filteredPosts.length == 0) {<!-- [et_pb_line_break_holder] -->            noResults.innerText = \"Sorry, we couldn't find any results.\";<!-- [et_pb_line_break_holder] -->        } else {<!-- [et_pb_line_break_holder] -->            noResults.innerText = \"\";<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        postsContainer.innerHTML = \"\";<!-- [et_pb_line_break_holder] -->        filteredPosts.forEach(post => createPost(post));<!-- [et_pb_line_break_holder] -->        registerListeners();<!-- [et_pb_line_break_holder] -->    };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function addResetButton() {<!-- [et_pb_line_break_holder] -->        const resetButton = document.getElementById('reset-filters');<!-- [et_pb_line_break_holder] -->        resetButton.addEventListener('click', resetFilters);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function resetFilters() {<!-- [et_pb_line_break_holder] -->        Object.keys(currentFilters).forEach(key => {<!-- [et_pb_line_break_holder] -->            currentFilters[key] = [];<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        document.querySelectorAll('.filter-button').forEach(button => {<!-- [et_pb_line_break_holder] -->            button.classList.remove('is-active');<!-- [et_pb_line_break_holder] -->            button.setAttribute('data-state', \"inactive\");<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        postsContainer.innerHTML = \"\";<!-- [et_pb_line_break_holder] -->        postsData.forEach(post => createPost(post));<!-- [et_pb_line_break_holder] -->        postCount.innerText = postsData.length;<!-- [et_pb_line_break_holder] -->        noResults.innerText = \"\";<!-- [et_pb_line_break_holder] -->        registerListeners();<!-- [et_pb_line_break_holder] -->        updateUrlHashWithoutRefresh('');<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->});<!-- [et_pb_line_break_holder] --><\/script>[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":21,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-163","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v22.0 (Yoast SEO v22.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Academic Programs - School of Teaching and Learning<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/education.ufl.edu\/school-teaching-learning\/academic-programs\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Academic Programs\" \/>\n<meta property=\"og:url\" content=\"https:\/\/education.ufl.edu\/school-teaching-learning\/academic-programs\/\" \/>\n<meta property=\"og:site_name\" content=\"School of Teaching and Learning\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-17T19:20:43+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/education.ufl.edu\/school-teaching-learning\/academic-programs\/\",\"url\":\"https:\/\/education.ufl.edu\/school-teaching-learning\/academic-programs\/\",\"name\":\"Academic Programs - School of Teaching and Learning\",\"isPartOf\":{\"@id\":\"https:\/\/education.ufl.edu\/school-teaching-learning\/#website\"},\"datePublished\":\"2025-05-23T17:49:51+00:00\",\"dateModified\":\"2026-03-17T19:20:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/education.ufl.edu\/school-teaching-learning\/academic-programs\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/education.ufl.edu\/school-teaching-learning\/academic-programs\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/education.ufl.edu\/school-teaching-learning\/academic-programs\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"School of Teaching and Learning\",\"item\":\"https:\/\/education.ufl.edu\/school-teaching-learning\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Academic Programs\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/education.ufl.edu\/school-teaching-learning\/#website\",\"url\":\"https:\/\/education.ufl.edu\/school-teaching-learning\/\",\"name\":\"School of Teaching and Learning\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/education.ufl.edu\/school-teaching-learning\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Academic Programs - School of Teaching and Learning","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/education.ufl.edu\/school-teaching-learning\/academic-programs\/","og_locale":"en_US","og_type":"article","og_title":"Academic Programs","og_url":"https:\/\/education.ufl.edu\/school-teaching-learning\/academic-programs\/","og_site_name":"School of Teaching and Learning","article_modified_time":"2026-03-17T19:20:43+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/education.ufl.edu\/school-teaching-learning\/academic-programs\/","url":"https:\/\/education.ufl.edu\/school-teaching-learning\/academic-programs\/","name":"Academic Programs - School of Teaching and Learning","isPartOf":{"@id":"https:\/\/education.ufl.edu\/school-teaching-learning\/#website"},"datePublished":"2025-05-23T17:49:51+00:00","dateModified":"2026-03-17T19:20:43+00:00","breadcrumb":{"@id":"https:\/\/education.ufl.edu\/school-teaching-learning\/academic-programs\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/education.ufl.edu\/school-teaching-learning\/academic-programs\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/education.ufl.edu\/school-teaching-learning\/academic-programs\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"School of Teaching and Learning","item":"https:\/\/education.ufl.edu\/school-teaching-learning\/"},{"@type":"ListItem","position":2,"name":"Academic Programs"}]},{"@type":"WebSite","@id":"https:\/\/education.ufl.edu\/school-teaching-learning\/#website","url":"https:\/\/education.ufl.edu\/school-teaching-learning\/","name":"School of Teaching and Learning","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/education.ufl.edu\/school-teaching-learning\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/education.ufl.edu\/school-teaching-learning\/wp-json\/wp\/v2\/pages\/163","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/education.ufl.edu\/school-teaching-learning\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/education.ufl.edu\/school-teaching-learning\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/education.ufl.edu\/school-teaching-learning\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/education.ufl.edu\/school-teaching-learning\/wp-json\/wp\/v2\/comments?post=163"}],"version-history":[{"count":18,"href":"https:\/\/education.ufl.edu\/school-teaching-learning\/wp-json\/wp\/v2\/pages\/163\/revisions"}],"predecessor-version":[{"id":1355,"href":"https:\/\/education.ufl.edu\/school-teaching-learning\/wp-json\/wp\/v2\/pages\/163\/revisions\/1355"}],"wp:attachment":[{"href":"https:\/\/education.ufl.edu\/school-teaching-learning\/wp-json\/wp\/v2\/media?parent=163"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}