extension.berkeley.edu
Open in
urlscan Pro
52.27.193.55
Public Scan
Submitted URL: http://extension.berkeley.edu/
Effective URL: https://extension.berkeley.edu/
Submission: On December 05 via api from US — Scanned from DE
Effective URL: https://extension.berkeley.edu/
Submission: On December 05 via api from US — Scanned from DE
Form analysis
3 forms found in the DOM/search/siteSearchResultMain.jsp
<form action="/search/siteSearchResultMain.jsp" id="searchbox" class="form-inline ng-pristine ng-valid">
<input type="hidden" name="cx" value="008549347968273189161:jelcli1utti" autocomplete="off">
<div class="form-group">
<label class="noAfterContent sr-only" for="quickSiteSearchInput"> Search </label>
<div class="input-group">
<input name="q" type="text" id="quickSiteSearchInput" placeholder="Search:" class="form-control">
<span class="input-group-append">
<button type="submit" class="btn btn-secondary" id="quickSiteSearchSubmitButton" onclick="this.form.submit();">
<span class="glyphicon glyphicon-search"></span>
<span class="sr-only">Site Search</span>
</button>
</span>
</div>
</div>
</form>
GET /search/publicCourseAdvancedSearch.do
<form class="search-form ng-pristine ng-valid" action="/search/publicCourseAdvancedSearch.do" autocomplete="off" method="get">
<input type="hidden" name="method" value="doPaginatedSearch" autocomplete="off">
<input type="hidden" name="showInternal" value="false" autocomplete="off">
<input type="hidden" name="cspIndex" value="true" autocomplete="off">
<input type="hidden" name="isPageDisplayed" value="true" autocomplete="off">
<div class="form-group">
<label class="sr-only" for="homeSearchBar">Find courses or certificates.</label>
<div class="input-group input-group-lg">
<input name="courseSearch.courseDescriptionKeyword" id="homeSearchBar" class="form-control searchInput loading" placeholder="Enter keyword" type="text">
<button type="submit" class="input-group-addon">
<span id="typeAheadSearch" class="glyphicon glyphicon-search" aria-hidden="true"></span>
<span class="sr-only">Search our Course Catalog</span>
</button>
</div>
<ul class="suggestions">
</ul>
</div>
</form>
Name: spocc —
<form data-ng-controller="ProductsController as productList" class="spocc-tabs ng-pristine ng-valid ng-scope" id="spoccForm" name="spocc">
<tabset class="spocc-products ng-isolate-scope" ng-class="{true: 'background-white'}[!!productList.academicAreaSpecified]">
<div class="spocc-tabs--wrapper">
<div data-ng-show="productList.pageType === 'homePage'" aria-hidden="false">
<div class="spocc-title mt-3" id="explore">
<h2 class="text-center">Explore Your Future</h2>
<p>Make sure Berkeley is on your résumé by taking a single course or completing a full certificate. We're here to help you start, advance or change your career. What are you interested in studying?</p>
</div>
</div>
<nav data-ng-init="removeAriaBusy()">
<ul role="tablist" class="spocc-tabs list-unstyled" aria-label="Choose how to view our curriculum" data-ng-keydown="productList.tablistFocus($event)">
<!-- ngRepeat: tab in productList.tabs -->
<li role="tab" data-ng-repeat="tab in productList.tabs" data-ng-attr-id="{{tab.class}}-tab" ng-class="[{'active': tab.active}, tab.class]" class="mb-0 spocc-tab ng-scope active programs" id="programs-tab">
<button data-ng-click="updateCertList(updateUri, 'tab', tab.class)" class="spocc-tab--button" data-ng-attr-data-product="{{tab.class}}" data-product="programs">
<span class="ng-binding">Programs</span>
</button>
</li><!-- end ngRepeat: tab in productList.tabs -->
<li role="tab" data-ng-repeat="tab in productList.tabs" data-ng-attr-id="{{tab.class}}-tab" ng-class="[{'active': tab.active}, tab.class]" class="mb-0 spocc-tab ng-scope courses" id="courses-tab">
<button data-ng-click="updateCertList(updateUri, 'tab', tab.class)" class="spocc-tab--button" data-ng-attr-data-product="{{tab.class}}" data-product="courses">
<span class="ng-binding">Courses</span>
</button>
</li><!-- end ngRepeat: tab in productList.tabs -->
</ul>
</nav>
</div>
<ng-transclude class="spocc-products">
<!-- Programs Tab -->
<!-- ngIf: productList.filterVariables.tabs.programs -->
<tab class="programs ng-scope ng-isolate-scope" id="spocc-programs" aria-live="polite" heading="Programs" data-ng-if="productList.filterVariables.tabs.programs">
<div role="tabpanel" ng-show="active" ng-transclude="" tabindex="0" aria-labelledby="spocc-programs" aria-hidden="false">
<h2 class="sr-only ng-scope">Programs</h2>
<!-- ngIf: productList.pageType == 'homePage' -->
<p class="mt-4 lead mb-0 ng-scope" data-ng-if="productList.pageType == 'homePage'">Our program curricula are designed to teach theory and practical skills to enable you to change careers or advance in your current position. Classes are
offered in classroom and multiple online formats to meet the needs of working professionals. Most programs can be started at any time.</p><!-- end ngIf: productList.pageType == 'homePage' -->
<!-- ngIf: productList.pageType != 'homePage' -->
<!-- START skeleton screen programs -->
<div data-ng-hide="productList.loaded.certs" class="skl-certs-container ng-scope ng-hide" id="sklCerts" aria-hidden="true">
<div class="grid-container-fluid grid-col-1-3 programs-skl">
<div class="subjectFilter-skl">
<div class="subjectFilter-skl-title"></div>
<div class="skl-radio-item">
<span class="skl-radio"></span>
<span class="skl-label"></span>
</div>
<div class="skl-radio-item">
<span class="skl-radio"></span>
<span class="skl-label"></span>
</div>
<div class="skl-radio-item">
<span class="skl-radio"></span>
<span class="skl-label"></span>
</div>
<div class="skl-radio-item">
<span class="skl-radio"></span>
<span class="skl-label"></span>
</div>
<div class="skl-radio-item">
<span class="skl-radio"></span>
<span class="skl-label"></span>
</div>
<div class="skl-radio-item">
<span class="skl-radio"></span>
<span class="skl-label"></span>
</div>
</div>
<div class="products-skl">
<div class="blueblock-skl">
<div class="blueblock-skl-img"></div>
<div class="blueblock-skl-border"></div>
<div class="blueblock-skl-text"></div>
</div>
<div class="blueblock-skl">
<div class="blueblock-skl-img"></div>
<div class="blueblock-skl-border"></div>
<div class="blueblock-skl-text"></div>
</div>
<div class="blueblock-skl">
<div class="blueblock-skl-img"></div>
<div class="blueblock-skl-border"></div>
<div class="blueblock-skl-text"></div>
</div>
<div class="blueblock-skl">
<div class="blueblock-skl-img"></div>
<div class="blueblock-skl-border"></div>
<div class="blueblock-skl-text"></div>
</div>
<div class="blueblock-skl">
<div class="blueblock-skl-img"></div>
<div class="blueblock-skl-border"></div>
<div class="blueblock-skl-text"></div>
</div>
<div class="blueblock-skl">
<div class="blueblock-skl-img"></div>
<div class="blueblock-skl-border"></div>
<div class="blueblock-skl-text"></div>
</div>
</div>
</div>
</div>
<!-- END skeleton screen programs -->
<!-- START loaded programs -->
<!-- ngIf: productList.loaded.certs --><!-- ngInclude: productList.certListTemplate -->
<section data-ng-if="productList.loaded.certs" data-ng-include="productList.certListTemplate" class="products grid-container-fluid grid-container-products ng-scope grid-col-1-3"
data-ng-class="{'grid-col-1-3': productList.showAllFilters, 'grid-col-1': !productList.showAllFilters }" aria-label="Filterable list of programs"><!-- ngIf: productList.pageType == 'pageSubject' -->
<!-- ngIf: productList.pageType == 'pageSubject' -->
<div id="certsFilter" class="spocc-filters ng-scope">
<!-- Remove 'featured' toggle. All toggles removed at this point.
<fieldset id="filter-toggles-programs" data-ng-if="productList.filterVariables.featured.programs.show">
<legend class="sr-only">Toggle filters for programs</legend>
<div id="filter-featured--programs" class="switch-wrapper" data-ng-if="productList.filterVariables.featured.programs.show">
<button id="filter-featured--programs---button" class="switch switch-container" data-ng-class="{checked:productList.filterVariables.featured.programs.filter}"
data-ng-attr-aria-pressed="{{productList.filterVariables.featured.programs.filter}}"
data-ng-click="updateCertList(updateBinaryUriSwitch, 'featured', 'true')"
aria-controls="spocc-programs-list">
<span aria-label="off"></span>
<span aria-label="on"></span>
</button>
<label for="filter-featured--programs---button" class="switch noAfterContent">Featured Programs Only</label>
</div>
</fieldset> -->
<!-- ngIf: productList.showAcademicAreaFilters() -->
<div id="filter-programs" class="card mt-3 ng-scope" data-ng-if="productList.showAcademicAreaFilters()">
<button class="card-header cardHeadingToggle collapsed d-md-none" id="filter-programs--heading" data-toggle="collapse" data-target="#filter-programs--body" aria-expanded="false" aria-controls="#filter-programs--body"
data-ng-init="accordionListeners('#filter-programs--body')">
<h3 class="h4 marginless-p">Academic Areas</h3>
<span class="glyphicon cardHeaderIcon pull-right glyphicon-plus"><span class="sr-only">Expand or collapse section</span></span>
</button>
<fieldset id="filter-programs--body" class="collapse filter-body" aria-labelledby="filter-programs--heading">
<!-- desktop filter header -->
<legend class="h4 m-0 filter-header bg-gray-light d-none d-md-block">Academic Areas</legend>
<div class="filter-body--fields">
<p class="">
<label class="noAfterContent checkbox-as-link flex-label">
<input type="radio" data-ng-model="productList.filterVariables.academicAreas.all" data-ng-value="true" data-ng-change="updateCertList(updateUri, 'academicArea', 'all')" name="programRadio" aria-controls="spocc-programs-list"
class="ng-pristine ng-untouched ng-valid ng-not-empty" value="true">
<span class="filter-label-text">All Academic Areas</span>
<!-- <span>({{ area.programs.count || 00 }})</span> -->
</label>
</p>
<!-- ngRepeat: (key, area) in productList.filterVariables.academicAreas -->
<p class="mt-2 mb-0 ng-scope" data-ng-repeat="(key, area) in productList.filterVariables.academicAreas">
<!-- ngIf: area.name --><label class="noAfterContent checkbox-as-link flex-label ng-scope text-gray" data-ng-if="area.name" data-ng-class="{'text-gray': area.count.programs <= 0}">
<input type="radio" data-ng-model="productList.filterVariables.academicAreas[key].filter" data-ng-disabled="area.count.programs <= 0" data-ng-value="true" data-ng-change="updateCertList(updateUri, 'academicArea', key)"
name="programRadio" aria-controls="spocc-programs-list" class="ng-pristine ng-untouched ng-valid ng-not-empty" value="true" disabled="disabled">
<span class="filter-label-text ng-binding">Art and Design</span>
<span class="filter-count ng-binding">(0)</span>
</label><!-- end ngIf: area.name -->
</p><!-- end ngRepeat: (key, area) in productList.filterVariables.academicAreas -->
<p class="mt-2 mb-0 ng-scope" data-ng-repeat="(key, area) in productList.filterVariables.academicAreas">
<!-- ngIf: area.name --><label class="noAfterContent checkbox-as-link flex-label ng-scope text-gray" data-ng-if="area.name" data-ng-class="{'text-gray': area.count.programs <= 0}">
<input type="radio" data-ng-model="productList.filterVariables.academicAreas[key].filter" data-ng-disabled="area.count.programs <= 0" data-ng-value="true" data-ng-change="updateCertList(updateUri, 'academicArea', key)"
name="programRadio" aria-controls="spocc-programs-list" class="ng-pristine ng-untouched ng-valid ng-not-empty" value="true" disabled="disabled">
<span class="filter-label-text ng-binding">Behavioral Health Sciences</span>
<span class="filter-count ng-binding">(0)</span>
</label><!-- end ngIf: area.name -->
</p><!-- end ngRepeat: (key, area) in productList.filterVariables.academicAreas -->
<p class="mt-2 mb-0 ng-scope" data-ng-repeat="(key, area) in productList.filterVariables.academicAreas">
<!-- ngIf: area.name --><label class="noAfterContent checkbox-as-link flex-label ng-scope text-gray" data-ng-if="area.name" data-ng-class="{'text-gray': area.count.programs <= 0}">
<input type="radio" data-ng-model="productList.filterVariables.academicAreas[key].filter" data-ng-disabled="area.count.programs <= 0" data-ng-value="true" data-ng-change="updateCertList(updateUri, 'academicArea', key)"
name="programRadio" aria-controls="spocc-programs-list" class="ng-pristine ng-untouched ng-valid ng-not-empty" value="true" disabled="disabled">
<span class="filter-label-text ng-binding">Business</span>
<span class="filter-count ng-binding">(0)</span>
</label><!-- end ngIf: area.name -->
</p><!-- end ngRepeat: (key, area) in productList.filterVariables.academicAreas -->
<p class="mt-2 mb-0 ng-scope" data-ng-repeat="(key, area) in productList.filterVariables.academicAreas">
<!-- ngIf: area.name --><label class="noAfterContent checkbox-as-link flex-label ng-scope text-gray" data-ng-if="area.name" data-ng-class="{'text-gray': area.count.programs <= 0}">
<input type="radio" data-ng-model="productList.filterVariables.academicAreas[key].filter" data-ng-disabled="area.count.programs <= 0" data-ng-value="true" data-ng-change="updateCertList(updateUri, 'academicArea', key)"
name="programRadio" aria-controls="spocc-programs-list" class="ng-pristine ng-untouched ng-valid ng-not-empty" value="true" disabled="disabled">
<span class="filter-label-text ng-binding">Construction and Sustainability</span>
<span class="filter-count ng-binding">(0)</span>
</label><!-- end ngIf: area.name -->
</p><!-- end ngRepeat: (key, area) in productList.filterVariables.academicAreas -->
<p class="mt-2 mb-0 ng-scope" data-ng-repeat="(key, area) in productList.filterVariables.academicAreas">
<!-- ngIf: area.name --><label class="noAfterContent checkbox-as-link flex-label ng-scope text-gray" data-ng-if="area.name" data-ng-class="{'text-gray': area.count.programs <= 0}">
<input type="radio" data-ng-model="productList.filterVariables.academicAreas[key].filter" data-ng-disabled="area.count.programs <= 0" data-ng-value="true" data-ng-change="updateCertList(updateUri, 'academicArea', key)"
name="programRadio" aria-controls="spocc-programs-list" class="ng-pristine ng-untouched ng-valid ng-not-empty" value="true" disabled="disabled">
<span class="filter-label-text ng-binding">Education</span>
<span class="filter-count ng-binding">(0)</span>
</label><!-- end ngIf: area.name -->
</p><!-- end ngRepeat: (key, area) in productList.filterVariables.academicAreas -->
<p class="mt-2 mb-0 ng-scope" data-ng-repeat="(key, area) in productList.filterVariables.academicAreas">
<!-- ngIf: area.name --><label class="noAfterContent checkbox-as-link flex-label ng-scope text-gray" data-ng-if="area.name" data-ng-class="{'text-gray': area.count.programs <= 0}">
<input type="radio" data-ng-model="productList.filterVariables.academicAreas[key].filter" data-ng-disabled="area.count.programs <= 0" data-ng-value="true" data-ng-change="updateCertList(updateUri, 'academicArea', key)"
name="programRadio" aria-controls="spocc-programs-list" class="ng-pristine ng-untouched ng-valid ng-not-empty" value="true" disabled="disabled">
<span class="filter-label-text ng-binding">Humanities and Languages</span>
<span class="filter-count ng-binding">(0)</span>
</label><!-- end ngIf: area.name -->
</p><!-- end ngRepeat: (key, area) in productList.filterVariables.academicAreas -->
<p class="mt-2 mb-0 ng-scope" data-ng-repeat="(key, area) in productList.filterVariables.academicAreas">
<!-- ngIf: area.name --><label class="noAfterContent checkbox-as-link flex-label ng-scope text-gray" data-ng-if="area.name" data-ng-class="{'text-gray': area.count.programs <= 0}">
<input type="radio" data-ng-model="productList.filterVariables.academicAreas[key].filter" data-ng-disabled="area.count.programs <= 0" data-ng-value="true" data-ng-change="updateCertList(updateUri, 'academicArea', key)"
name="programRadio" aria-controls="spocc-programs-list" class="ng-pristine ng-untouched ng-valid ng-not-empty" value="true" disabled="disabled">
<span class="filter-label-text ng-binding">Sciences, Mathematics and Biotechnology</span>
<span class="filter-count ng-binding">(0)</span>
</label><!-- end ngIf: area.name -->
</p><!-- end ngRepeat: (key, area) in productList.filterVariables.academicAreas -->
<p class="mt-2 mb-0 ng-scope" data-ng-repeat="(key, area) in productList.filterVariables.academicAreas">
<!-- ngIf: area.name --><label class="noAfterContent checkbox-as-link flex-label ng-scope text-gray" data-ng-if="area.name" data-ng-class="{'text-gray': area.count.programs <= 0}">
<input type="radio" data-ng-model="productList.filterVariables.academicAreas[key].filter" data-ng-disabled="area.count.programs <= 0" data-ng-value="true" data-ng-change="updateCertList(updateUri, 'academicArea', key)"
name="programRadio" aria-controls="spocc-programs-list" class="ng-pristine ng-untouched ng-valid ng-not-empty" value="true" disabled="disabled">
<span class="filter-label-text ng-binding">Technology and Information Management</span>
<span class="filter-count ng-binding">(0)</span>
</label><!-- end ngIf: area.name -->
</p><!-- end ngRepeat: (key, area) in productList.filterVariables.academicAreas -->
<p class="mt-2 mb-0 ng-scope" data-ng-repeat="(key, area) in productList.filterVariables.academicAreas">
<!-- ngIf: area.name --><label class="noAfterContent checkbox-as-link flex-label ng-scope text-gray" data-ng-if="area.name" data-ng-class="{'text-gray': area.count.programs <= 0}">
<input type="radio" data-ng-model="productList.filterVariables.academicAreas[key].filter" data-ng-disabled="area.count.programs <= 0" data-ng-value="true" data-ng-change="updateCertList(updateUri, 'academicArea', key)"
name="programRadio" aria-controls="spocc-programs-list" class="ng-pristine ng-untouched ng-valid ng-not-empty" value="true" disabled="disabled">
<span class="filter-label-text ng-binding">Writing, Editing and Technical Communication</span>
<span class="filter-count ng-binding">(0)</span>
</label><!-- end ngIf: area.name -->
</p><!-- end ngRepeat: (key, area) in productList.filterVariables.academicAreas -->
<p class="mt-2 mb-0 ng-scope" data-ng-repeat="(key, area) in productList.filterVariables.academicAreas">
<!-- ngIf: area.name -->
</p><!-- end ngRepeat: (key, area) in productList.filterVariables.academicAreas -->
</div>
</fieldset>
</div><!-- end ngIf: productList.showAcademicAreaFilters() -->
<!-- REMOVED CATEGORY FILTERS BECAUSE NOT RELEVANT AT THE MOMENT
<div id="filter-category" class="card mt-3" data-ng-if="productList.showCategoryFilters()">
<button class="card-header cardHeadingToggle collapsed d-md-none" id="filter-category--heading" data-toggle="collapse" data-target="#filter-category--body" aria-expanded="false" aria-controls="#filter-category--body" data-ng-init="accordionListeners('#filter-category--body')">
<h3 class="h4 marginless-p">Program Type</h3>
<span class="glyphicon cardHeaderIcon pull-right glyphicon-plus"><span class="sr-only">Expand or collapse section</span></span>
</button>
<fieldset id="filter-category--body" class="collapse filter-body" aria-labelledby="filter-category--heading">
<legend class="h4 m-0 filter-header bg-gray-light d-none d-md-block">Program Type</legend>
<div class="filter-body--fields">
<div id="filter-category--online">
<label class="noAfterContent spocc-checkbox" data-ng-class="{'text-gray': productList.filterVariables.online.count <= 0}">
<p class="mb-0 spocc-checkbox--title">
<input
type="checkbox"
data-ng-model="productList.filterVariables.online.filter"
data-ng-disabled="productList.filterVariables.online.count <= 0"
data-ng-change="updateCertList(updateBinaryUri, 'onlineCheckbox', 'true')">
<span class="filter-label">Online </span><span class="filter-count">({{ productList.filterVariables.online.count || 00 }})</span>
<span class="tag-container" data-ng-repeat="tag in productList.filterVariables.tags.online track by $index">
<span class="tag" data-ng-class="[productList.filterVariables.tags.online[$index]]"></span>
</span>
</p>
<p class="filter-label-info filter-label-text">Online programs available anywhere in the world.</p>
</label>
</div>
<div id="filter-category--fullTime">
<label class="noAfterContent spocc-checkbox" data-ng-class="{'text-gray': productList.filterVariables.category.fullTime.count <= 0}">
<p class="mb-0 spocc-checkbox--title">
<input
type="checkbox"
data-ng-disabled="productList.filterVariables.category.fullTime.count <= 0"
data-ng-model="productList.filterVariables.category.fullTime.filter"
data-ng-change="updateCertList(updateListUri, 'category')"
aria-controls="spocc-programs-list">
<span class="filter-label">Full-Time Certificates </span>
<span class="filter-count">({{ productList.filterVariables.category.fullTime.count || 00 }})</span>
<span class="tag-container" data-ng-repeat="tag in productList.filterVariables.tags.fullTime track by $index">
<span class="tag" data-ng-class="[productList.filterVariables.tags.fullTime[$index]]"></span>
</span>
</p>
<p class="filter-label-info filter-label-text">Classroom and online programs. F-1 visa students can apply for OPT after two semesters.</p>
</label>
</div>
<div id="filter-category--academic">
<label class="noAfterContent spocc-checkbox" data-ng-class="{'text-gray': productList.filterVariables.category.academic.count <= 0}">
<p class="mb-0 spocc-checkbox--title">
<input
type="checkbox"
data-ng-disabled="productList.filterVariables.category.academic.count <= 0"
data-ng-model="productList.filterVariables.category.academic.filter"
data-ng-change="updateCertList(updateListUri, 'category')"
aria-controls="spocc-programs-list">
<span class="filter-label">Academic Programs </span>
<span class="filter-count"> ({{ productList.filterVariables.category.academic.count || 00 }})</span>
<!-- <span class="tag-container" data-ng-repeat="tag in productList.filterVariables.tags.academic track by $index">
<span class="tag" data-ng-class="[productList.filterVariables.tags.academic[$index]]"></span>
</span> ->
</p>
<p class="filter-label-info filter-label-text">Immerse yourself in UC Berkeley campus life for a semester or full academic year.</p>
</label>
</div>
<div id="filter-category--partTime">
<label class="noAfterContent spocc-checkbox mb-0" data-ng-class="{'text-gray': productList.filterVariables.category.partTime.count <= 0}">
<p class="mb-0 spocc-checkbox--title">
<input
type="checkbox"
data-ng-disabled="productList.filterVariables.category.partTime.count <= 0"
data-ng-model="productList.filterVariables.category.partTime.filter"
data-ng-change="updateCertList(updateListUri, 'category')"
aria-controls="spocc-programs-list">
<span class="filter-label">Part-Time Certificates</span>
<span class="filter-count"> ({{ productList.filterVariables.category.partTime.count || 00 }})</span>
<!-- <span class="tag-container" data-ng-repeat="tag in productList.filterVariables.tags.partTime track by $index">
<span class="tag" data-ng-class="[productList.filterVariables.tags.partTime[$index]]"></span>
</span> ->
</p>
<p class="filter-label-info filter-label-text">Classroom and online programs designed for working professionals and part-time learners.</p>
</label>
</div>
</div>
</fieldset>
</div>
<div id="filter-international" class="card mt-3" data-ng-if="productList.showInternationalFilters">
<button class="card-header cardHeadingToggle collapsed d-md-none" id="filter-international--heading" data-toggle="collapse" data-target="#filter-international--body" aria-expanded="false" aria-controls="#filter-international--body" data-ng-init="accordionListeners('#filter-international--body')">
<h3 class="h4 marginless-p">Filter Your Results</h3>
<span class="glyphicon cardHeaderIcon pull-right glyphicon-plus"><span class="sr-only">Expand or collapse section</span></span>
</button>
<fieldset id="filter-international--body" class="collapse filter-body" aria-labelledBy="filter-international--heading">
<legend class="h4 m-0 filter-header bg-gray-light d-none d-md-block">Filter Your Results</legend>
<div class="filter-body--fields">
<div id="filter-international--professional">
<label class="noAfterContent spocc-checkbox">
<p class="mb-0 spocc-checkbox--title">
<input
type="checkbox"
data-ng-model="productList.filterVariables.international.professional.filter"
data-ng-change="updateCertList(updateListUri, 'international')"
aria-controls="spocc-programs-list">
<span class="filter-label">Professionals </span>
<span class="filter-count">({{ productList.filterVariables.international.professional.count || 00 }})</span>
<span class="tag-container" data-ng-repeat="tag in productList.filterVariables.tags.professional track by $index">
<span class="tag" data-ng-class="[productList.filterVariables.tags.professional[$index]]"></span>
</span>
</p>
<p class="filter-label-info filter-label-text">Earn a professional certificate, then apply for internships or OPT.</p>
</label>
</div>
<div id="filter-international--academic">
<label class="noAfterContent spocc-checkbox">
<p class="mb-0 spocc-checkbox--title">
<input
type="checkbox"
data-ng-model="productList.filterVariables.international.academic.filter"
data-ng-change="updateCertList(updateListUri, 'international')"
aria-controls="spocc-programs-list">
<span class="filter-label">University Students </span>
<span class="filter-count"> ({{ productList.filterVariables.international.academic.count || 00 }})</span>
<!-- <span class="tag-container" data-ng-repeat="tag in productList.filterVariables.tags.academic track by $index">
<span class="tag" data-ng-class="[productList.filterVariables.tags.academic[$index]]"></span>
</span> ->
</p>
<p class="filter-label-info filter-label-text">Immerse yourself in UC Berkeley campus life for a semester or full academic year.</p>
</label>
</div>
<div id="filter-international--highSchool">
<label class="noAfterContent spocc-checkbox">
<p class="mb-0 spocc-checkbox--title">
<input
type="checkbox"
data-ng-model="productList.filterVariables.international.highSchool.filter"
data-ng-change="updateCertList(updateListUri, 'international')"
aria-controls="spocc-programs-list">
<span class="filter-label">High School Students </span>
<span class="filter-count"> ({{ productList.filterVariables.international.highSchool.count || 00 }})</span>
<!-- <span class="tag-container" data-ng-repeat="tag in productList.filterVariables.tags.highSchool track by $index">
<span class="tag" data-ng-class="[productList.filterVariables.tags.highSchool[$index]]"></span>
</span> ->
</p>
<p class="filter-label-info filter-label-text">Attend college-level courses and receive personalized advising.</p>
</label>
</div>
</div>
</fieldset>
</div>-->
</div>
<!-- ngInclude: productList.certBlocksTemplate -->
<div id="spocc-programs-list" aria-live="polite" data-ng-include="productList.certBlocksTemplate" class="products ng-scope"><!-- programs list ("certs") -->
<!-- <div class="angular-loading" data-ng-if="!productList.loaded.certs">
<p>Loading Programs...</p>
<div class="loader loader--style3" ng-include="productList.loadingIndicator"> </div>
</div> -->
<div class="cert-blocks ng-scope">
<div class="m-t-15 blueBlocks-wrapper" data-ng-class="{'blueBlocks-wrapper--limited': productList.limited.programs}">
<!-- ngRepeat: product in productList.certList | orderBy: ['name'] -->
</div>
<!-- ngIf: productList.limited.programs -->
<!-- ngIf: productList.certList.length === 0 && productList.loaded.certs -->
<div data-ng-if="productList.certList.length === 0 && productList.loaded.certs" class="ng-scope">
<p class="lead mb-0">No results found.</p>
<p>Please select different filters.</p>
</div><!-- end ngIf: productList.certList.length === 0 && productList.loaded.certs -->
<p class="bg-warning ng-binding" data-ng-bind="error"></p>
</div>
</div>
<p class="bg-warning mb-0 ng-binding ng-scope" data-ng-bind="error"></p>
</section><!-- end ngIf: productList.loaded.certs -->
<!-- END loaded programs -->
</div>
</tab><!-- end ngIf: productList.filterVariables.tabs.programs -->
<!-- Courses Tab -->
<!-- ngIf: productList.filterVariables.tabs.courses -->
<tab class="courses ng-scope ng-isolate-scope" id="spocc-courses" aria-live="polite" heading="Courses" data-ng-if="productList.filterVariables.tabs.courses">
<div role="tabpanel" ng-show="active" ng-transclude="" tabindex="0" aria-labelledby="spocc-courses" aria-hidden="true" class="ng-hide">
<h2 class="sr-only ng-scope">Courses</h2>
<!-- ngIf: productList.pageType == 'homePage' -->
<p class="mt-4 lead mb-0 ng-scope" data-ng-if="productList.pageType == 'homePage'">Offered in myriad subject areas, classes give you the flexibility to gain a high-quality education and earn credits on your schedule. Choose from multiple
formats to meet your needs. Enroll in just the course or courses that interest you—no application necessary.</p><!-- end ngIf: productList.pageType == 'homePage' -->
<!-- ngIf: productList.pageType != 'homePage' -->
<!-- START skeleton screen subjects -->
<div data-ng-hide="productList.loaded.courses" class="skl-certs-container ng-scope ng-hide" id="sklSubjects" style="display: none;" aria-hidden="true">
<div class="aa-grid-container">
<div class="aa-box-skl"></div>
<div class="aa-box-skl"></div>
<div class="aa-box-skl"></div>
<div class="aa-box-skl"></div>
<div class="aa-box-skl"></div>
<div class="aa-box-skl"></div>
<div class="aa-box-skl"></div>
<div class="aa-box-skl"></div>
</div>
</div>
<!-- END skeleton screen subjects -->
<!-- START skeleton screen courses -->
<div data-ng-hide="productList.loaded.courses" class="skl-certs-container ng-scope ng-hide" id="sklCourses" style="display: none;" aria-hidden="true">
<div class="grid-container-fluid grid-col-1-3 programs-skl">
<div class="subjectFilter-skl">
<div class="subjectFilter-skl-title"></div>
<div class="skl-radio-item">
<span class="skl-radio"></span>
<span class="skl-label"></span>
</div>
<div class="skl-radio-item">
<span class="skl-radio"></span>
<span class="skl-label"></span>
</div>
<div class="skl-radio-item">
<span class="skl-radio"></span>
<span class="skl-label"></span>
</div>
</div>
<div class="courses-skl">
<div class="course-skl"></div>
<div class="course-skl"></div>
<div class="course-skl"></div>
<div class="course-skl"></div>
<div class="course-skl"></div>
<div class="course-skl"></div>
<div class="course-skl"></div>
</div>
</div>
</div>
<!-- END skeleton screen programs -->
<!-- ngIf: productList.loaded.courses && !productList.academicAreaSpecified && productList.pageType != 'pageSubject' -->
<div data-ng-if="productList.loaded.courses && !productList.academicAreaSpecified && productList.pageType != 'pageSubject'" class="ng-scope">
<!-- ngInclude: productList.academicAreaTemplate -->
<section data-ng-include="productList.academicAreaTemplate" aria-label="Select an Academic Area" class="products grid-container-fluid grid-container-products ng-scope">
<fieldset class="ng-scope">
<ul class="aa-grid-container list-unstyled" aria-label="Select an Academic Area">
<!-- ngRepeat: (key, area) in productList.filterVariables.academicAreas --><!-- ngIf: area.name -->
<li class="mb-0 aa-box-wrapper ng-scope" data-ng-repeat="(key, area) in productList.filterVariables.academicAreas" data-ng-if="area.name">
<button class="aa-box fallback-img" data-ng-click="updateCourseList(updateUri, 'academicArea', key)"
data-ng-style="{'background': 'url(/images/programs/thumbnails/academic-areas/' + [productsFactory.encodeImagePath(area.name)] + '.jpg'}"
style="background: url("/images/programs/thumbnails/academic-areas/art-and-design.jpg");">
<span class="aa-box-name ng-binding">Art and Design</span>
</button>
</li><!-- end ngIf: area.name --><!-- end ngRepeat: (key, area) in productList.filterVariables.academicAreas --><!-- ngIf: area.name -->
<li class="mb-0 aa-box-wrapper ng-scope" data-ng-repeat="(key, area) in productList.filterVariables.academicAreas" data-ng-if="area.name">
<button class="aa-box fallback-img" data-ng-click="updateCourseList(updateUri, 'academicArea', key)"
data-ng-style="{'background': 'url(/images/programs/thumbnails/academic-areas/' + [productsFactory.encodeImagePath(area.name)] + '.jpg'}"
style="background: url("/images/programs/thumbnails/academic-areas/behavioral-health-sciences.jpg");">
<span class="aa-box-name ng-binding">Behavioral Health Sciences</span>
</button>
</li><!-- end ngIf: area.name --><!-- end ngRepeat: (key, area) in productList.filterVariables.academicAreas --><!-- ngIf: area.name -->
<li class="mb-0 aa-box-wrapper ng-scope" data-ng-repeat="(key, area) in productList.filterVariables.academicAreas" data-ng-if="area.name">
<button class="aa-box fallback-img" data-ng-click="updateCourseList(updateUri, 'academicArea', key)"
data-ng-style="{'background': 'url(/images/programs/thumbnails/academic-areas/' + [productsFactory.encodeImagePath(area.name)] + '.jpg'}"
style="background: url("/images/programs/thumbnails/academic-areas/business.jpg");">
<span class="aa-box-name ng-binding">Business</span>
</button>
</li><!-- end ngIf: area.name --><!-- end ngRepeat: (key, area) in productList.filterVariables.academicAreas --><!-- ngIf: area.name -->
<li class="mb-0 aa-box-wrapper ng-scope" data-ng-repeat="(key, area) in productList.filterVariables.academicAreas" data-ng-if="area.name">
<button class="aa-box fallback-img" data-ng-click="updateCourseList(updateUri, 'academicArea', key)"
data-ng-style="{'background': 'url(/images/programs/thumbnails/academic-areas/' + [productsFactory.encodeImagePath(area.name)] + '.jpg'}"
style="background: url("/images/programs/thumbnails/academic-areas/construction-and-sustainability.jpg");">
<span class="aa-box-name ng-binding">Construction and Sustainability</span>
</button>
</li><!-- end ngIf: area.name --><!-- end ngRepeat: (key, area) in productList.filterVariables.academicAreas --><!-- ngIf: area.name -->
<li class="mb-0 aa-box-wrapper ng-scope" data-ng-repeat="(key, area) in productList.filterVariables.academicAreas" data-ng-if="area.name">
<button class="aa-box fallback-img" data-ng-click="updateCourseList(updateUri, 'academicArea', key)"
data-ng-style="{'background': 'url(/images/programs/thumbnails/academic-areas/' + [productsFactory.encodeImagePath(area.name)] + '.jpg'}"
style="background: url("/images/programs/thumbnails/academic-areas/education.jpg");">
<span class="aa-box-name ng-binding">Education</span>
</button>
</li><!-- end ngIf: area.name --><!-- end ngRepeat: (key, area) in productList.filterVariables.academicAreas --><!-- ngIf: area.name -->
<li class="mb-0 aa-box-wrapper ng-scope" data-ng-repeat="(key, area) in productList.filterVariables.academicAreas" data-ng-if="area.name">
<button class="aa-box fallback-img" data-ng-click="updateCourseList(updateUri, 'academicArea', key)"
data-ng-style="{'background': 'url(/images/programs/thumbnails/academic-areas/' + [productsFactory.encodeImagePath(area.name)] + '.jpg'}"
style="background: url("/images/programs/thumbnails/academic-areas/humanities-and-languages.jpg");">
<span class="aa-box-name ng-binding">Humanities and Languages</span>
</button>
</li><!-- end ngIf: area.name --><!-- end ngRepeat: (key, area) in productList.filterVariables.academicAreas --><!-- ngIf: area.name -->
<li class="mb-0 aa-box-wrapper ng-scope" data-ng-repeat="(key, area) in productList.filterVariables.academicAreas" data-ng-if="area.name">
<button class="aa-box fallback-img" data-ng-click="updateCourseList(updateUri, 'academicArea', key)"
data-ng-style="{'background': 'url(/images/programs/thumbnails/academic-areas/' + [productsFactory.encodeImagePath(area.name)] + '.jpg'}"
style="background: url("/images/programs/thumbnails/academic-areas/sciences-mathematics-and-biotechnology.jpg");">
<span class="aa-box-name ng-binding">Sciences, Mathematics and Biotechnology</span>
</button>
</li><!-- end ngIf: area.name --><!-- end ngRepeat: (key, area) in productList.filterVariables.academicAreas --><!-- ngIf: area.name -->
<li class="mb-0 aa-box-wrapper ng-scope" data-ng-repeat="(key, area) in productList.filterVariables.academicAreas" data-ng-if="area.name">
<button class="aa-box fallback-img" data-ng-click="updateCourseList(updateUri, 'academicArea', key)"
data-ng-style="{'background': 'url(/images/programs/thumbnails/academic-areas/' + [productsFactory.encodeImagePath(area.name)] + '.jpg'}"
style="background: url("/images/programs/thumbnails/academic-areas/technology-and-information-management.jpg");">
<span class="aa-box-name ng-binding">Technology and Information Management</span>
</button>
</li><!-- end ngIf: area.name --><!-- end ngRepeat: (key, area) in productList.filterVariables.academicAreas --><!-- ngIf: area.name -->
<li class="mb-0 aa-box-wrapper ng-scope" data-ng-repeat="(key, area) in productList.filterVariables.academicAreas" data-ng-if="area.name">
<button class="aa-box fallback-img" data-ng-click="updateCourseList(updateUri, 'academicArea', key)"
data-ng-style="{'background': 'url(/images/programs/thumbnails/academic-areas/' + [productsFactory.encodeImagePath(area.name)] + '.jpg'}"
style="background: url("/images/programs/thumbnails/academic-areas/writing-editing-and-technical-communication.jpg");">
<span class="aa-box-name ng-binding">Writing, Editing and Technical Communication</span>
</button>
</li><!-- end ngIf: area.name --><!-- end ngRepeat: (key, area) in productList.filterVariables.academicAreas --><!-- ngIf: area.name --><!-- end ngRepeat: (key, area) in productList.filterVariables.academicAreas -->
</ul>
</fieldset>
</section>
</div><!-- end ngIf: productList.loaded.courses && !productList.academicAreaSpecified && productList.pageType != 'pageSubject' -->
<!-- ngIf: productList.loaded.courses && (productList.academicAreaSpecified || productList.pageType == 'pageSubject') -->
</div>
</tab><!-- end ngIf: productList.filterVariables.tabs.courses -->
<!-- ngIf: productList.filterVariables.tabs.bootcamps -->
<!-- Start Full-Time Programs -->
<!-- ngIf: productList.filterVariables.tabs.fullTime -->
<!-- End Full-Time Programs -->
</ng-transclude>
</tabset>
</form>
Text Content
Skip to main content The following fields are required: Error has occurred. Please reload this page and try the operation again. Toggle navigation * Agents * Student Login * Instructor Login Search Site Search EXTENSION * Academic Areas * * Areas of Study * Art and Design * Behavioral Health Sciences * Business * Accounting * Business Administration * Economics * Finance * Leadership and Management * Marketing * Mathematics and Statistics * Project Management * See the full list * Construction and Sustainability * Education * Humanities and Languages * * Sciences, Mathematics and Biotechnology * Biology * Chemistry and Physics * Clinical Laboratory Science * Health Advising * Life Science Business and Biotechnology * Mathematics and Statistics * Online Sciences Courses * See the full list * Technology and Information Management * Writing, Editing and Technical Communication * Transfer Credit * Transfer Credit Courses * Online Learning * Online Courses and Certificates * Events * Information Sessions * Career Services * Career-Development Courses * Professional Internship Program * Custom Programs * For Universities and Organizations * Student Services * * Academic Services * Enrollment * Transcripts * General Information * Community Guidelines * Locations * Course and Program Information * Latest COVID-19 Information * Online Course Policies * Certificates, Programs and CEUs * Concurrent Enrollment * International Student Services * Student Aid * Disability Support Services * Financial Assistance * Blog * * Voices * Voices Home * Educator Insights * Student Stories * Professional Pathways * Industry Trends * Events * Information Sessions * Free and Low Cost Events -------------------------------------------------------------------------------- * Berkeley Global -------------------------------------------------------------------------------- SPRING COURSES ARE NOW AVAILABLE! Find Your Course I'm interested in learning... Find courses or certificates. Search our Course Catalog EXPLORE YOUR FUTURE Make sure Berkeley is on your résumé by taking a single course or completing a full certificate. We're here to help you start, advance or change your career. What are you interested in studying? * Programs * Courses PROGRAMS Our program curricula are designed to teach theory and practical skills to enable you to change careers or advance in your current position. Classes are offered in classroom and multiple online formats to meet the needs of working professionals. Most programs can be started at any time. ACADEMIC AREAS Expand or collapse section Academic Areas All Academic Areas Art and Design (0) Behavioral Health Sciences (0) Business (0) Construction and Sustainability (0) Education (0) Humanities and Languages (0) Sciences, Mathematics and Biotechnology (0) Technology and Information Management (0) Writing, Editing and Technical Communication (0) No results found. Please select different filters. COURSES Offered in myriad subject areas, classes give you the flexibility to gain a high-quality education and earn credits on your schedule. Choose from multiple formats to meet your needs. Enroll in just the course or courses that interest you—no application necessary. * Art and Design * Behavioral Health Sciences * Business * Construction and Sustainability * Education * Humanities and Languages * Sciences, Mathematics and Biotechnology * Technology and Information Management * Writing, Editing and Technical Communication SPOTLIGHT THIS BLOG POST TITLE DID NOT LOAD PROPERLY This blog content has not loaded properly. Please refresh the page. EVENTS * * * SPOTLIGHT Student Stories tag on the blog COMMITTED TO A CLS CAREER Mary Joann (MJ) Aguillon’s strength and resistance are palpable—even over email. Couple that with a commitment to health care and serving veterans, and there’s nothing that can stop MJ—not even a... continue reading Committed to a CLS Career Continue Reading Committed to a CLS Career EVENTS * Dec 8 December 8 Online Event: Pitch Global * Dec 14 December 14 Event: Analytics, AI and Society—Toward a Wiser World? View More LATEST The Future of Work Podcast—New Episode! Presenting: The Post-Baccalaureate Health Professions Program Class of 2023! Curriculum Builds on Depth of Experience More Blog Posts UC BERKELEY EXTENSION'S MISSION We empower individual learners of every generation to realize their educational and career goals by: Providing access to UC Berkeley's network of instructors, experts and professionals Creating rich learning experiences to develop skill sets and critical minds Motivating our students to be the change they want to see SEE WHY. LEARN MORE ABOUT UC BERKELEY EXTENSION. PROGRAMS FOR INTERNATIONAL STUDENTS Expand your career knowledge or prepare for university study in the U.S. while immersing yourself in the San Francisco Bay Area. Choose from short-term intensive options with daytime classes or longer-term study with nighttime classes—either way, you earn a certificate that demonstrates successful completion of a rigorous, Berkeley-quality curriculum. View International Programs "The time I spent at UC Berkeley Extension was the time of my life." —Marcos Bento, Associate at Princeton Growth Ventures Extension 1995 University Ave., Suite 130 Berkeley, CA 94704-7000 extension@berkeley.edu Facebook Facebook Icon Twitter Twitter Icon LinkedIn LinkedIn Icon YouTube YouTube Icon Instagram Instagram Icon Medium Small Icon for Medium Locations * Berkeley * San Francisco * Online * Other Resources * About Us * Career Services * Administration * Accessibility * Nondiscrimination * Privacy * Transcripts * Gifts * Jobs * Contact Us The University of California, Berkeley, is accredited by the Western Association of Schools and Colleges (WASC). UC Berkeley Extension—like all other UC Berkeley schools, colleges and departments—is accredited by WASC through the University. Copyright © UC Regents 1701750831974 SESSION TIME-OUT For security reasons and the protection of your personal information, your session will time out due to a period of inactivity in minute(s) and second(s). Click Extend My Session to continue. For security reasons and the protection of your personal information, your session timed out after a period of inactivity. You will be redirected to the home page. Extend My Session OK CONFIRM OK Cancel ALERT OK Close dialog PRIVACY POLICY Close Close dialog COOKIE POLICY This statement explains how we use cookies on our website. For information about what types of personal information will be gathered when you visit the website, and how this information will be used, please see our Privacy Policy. HOW WE USE COOKIES All of our web pages use "cookies". A cookie is a small file of letters and numbers that we place on your computer or mobile device if you agree. These cookies allow us to distinguish you from other users of our website, which helps us to provide you with a good experience when you browse our website and enables us to improve our website. We use cookies and other technologies to optimize your website experience and to deliver communications and marketing activities that are targeted to your specific needs. Some information we collect may be shared with selected partners such as Google, Meta/Facebook or others. By browsing this site you are agreeing to our Privacy Policy. You can revoke your voluntary consent to participate in monitored browsing and targeted marketing by selecting “Disable All Cookies” below. TYPES OF COOKIES WE USE We use the following types of cookies: * Strictly necessary cookies- these are essential in to enable you to move around the websites and use their features. Without these cookies the services you have asked for, such as signing in to your account, cannot be provided. * Performance cookies- these cookies collect information about how visitors use a website, for instance which pages visitors go to most often. We use this information to improve our websites and to aid us in investigating problems raised by visitors. These cookies do not collect information that identifies a visitor. * Functionality cookies- these cookies allow the website to remember choices you make and provide more personal features. For instance, a functional cookie can be used to remember the items that you have placed in your shopping cart. The information these cookies collect may be anonymized and they cannot track your browsing activity on other websites. Most web browsers allow some control of most cookies through the browser settings. To find out more about cookies, including how to see what cookies have been set and how to manage and delete them please visit https://www.allaboutcookies.org/. SPECIFIC COOKIES WE USE The list below identify the cookies we use and explain the purposes for which they are used. We may update the information contained in this section from time to time. * JSESSIONID: This cookie is used by the application server to identify a unique user's session. * registrarToken: This cookie is used to remember items that you have added to your shopping cart * locale: This cookie is used to remember your locale and language settings. * cookieconsent_status: This cookie is used to remember if you've already dismissed the cookie consent notice. * _ga_UA-########: These cookies are used to collect information about how visitors use our site. We use the information to compile reports and to help us improve the website. The cookies collect information in an anonymous form, including the number of visitors to the website, where visitors have come to the site from and the pages they visited. This anonymized visitor and browsing information is stored in Google Analytics. CHANGES TO OUR COOKIE STATEMENT Any changes we may make to our Cookie Policy in the future will be posted on this page. Close Cookie Policy By clicking “Accept All Cookies,” I agree to permit this website to share my information, including a device identifier and my browsing history on this site, with selected partners, including Google, Meta/Facebook and others, to enhance my browsing experience and to ensure that marketing communications are targeted to my needs in accordance with our Cookie Policy and our Privacy Policy. Disable CookiesAccept All Cookies