Senac em Belo Horizonte - Unidade Barro Preto

De segunda a sexta, das 07h30 às 19h30. Atendimento 0800 das 07:30h às 19:30h.
Rua dos Goitacazes, 1159 - Barro Preto
0800 724 4440
Imagem do cabeçalho
Cursos desta Unidade

Cursos Simplificados

Sobre a unidade

​​​O Centro de Educação Profissional de Belo Horizonte, foi inaugurado na rua Tupinambás no ano de 1949. Os primeiros cursos livres foram realizados no local em 1950 e, posteriormente, vieram também os cursos técnicos. A graduação chegou à unidade em 2012, mesmo ano em que deu um salto na área de Tecnologia da Informação: o Senac tornou-se uma das primeiras instituições de ensino técnico de Minas a ingressar nos programas da Cisco Systems.

Na unidade são ofertados cursos livres, de Aprendizagem Comercial, técnicos e a graduação tecnológica em Gastronomia​. Os alunos podem escolher seu curso entre as áreas de Artes, Beleza, Gestão e Comércio, Comunicação, Conservação e Zeladoria, Design, Educacional, Gestão, Hospitalidade, Idiomas, Informática, Meio Ambiente, Moda, Produção de Alimentos, Saúde, Segurança, Turismo e Gastronomia.

Ver todos os cursos

Programa de gratuidade Senac

Da formação inicial ao nível técnico, com custo zero, o Programa Senac de Gratuidade foi pensado como um instrumento de inclusão produtiva para brasileiros oriundos de família de baixa renda.

Saiba mais

A estrutura

No Senac em Belo Horizonte – unidade Barro Preto o aluno encontra:

• Cinco cozinhas didáticas preparadas para aulas práticas dos cursos de gastronomia/hotelaria/produção de alimentos
• Um bar didático
• 30 salas convencionais

• 17 laboratórios de informática aplicada com a CISCO e LPI LINUX

• Uma empresa simulada, em parceria com o Sebrae

• Uma biblioteca com diversos títulos e espaço para trabalhos em grupo e individuais com atendimento ao público geral;

• Três auditórios, sendo dois com capacidade para 35 lugares e um climatizado e sonorizado, para 120 lugares

• Laboratórios de Estética, Enfermagem, e de Farmácia e outros ambientes da área totalmente equipados para receber os diversos cursos: maquiador, design de sobrancelha, depilador, massagista, drenagem, quick massagem, costureiro e modelista

• Salão de beleza pedagógico com os cursos de cabelereiro, penteado, coloração e manicure - atendimento da população por meio da prática dos alunos

• Acessibilidade na infraestrutura

• Rede de Carreiras

Conheça, também, outras unidades do Senac em Belo Horizonte:

• Senac em Belo Horizonte – unidade Venda Nova

• Senac em Belo Horizonte – unidade Guajajaras

Publicador de Conteúdos e Mídias

Como chegar até a unidade

Confira abaixo onde estamos localizados e como chegar até a unidade. Através do mapa interativo, você pode traçar rotas, visualizar os arredores e planejar sua visita com facilidade.

Publicador de Conteúdos e Mídias

Um erro ocorreu enquanto processava o modelo.
Denied access to method or field getAttribute of class org.apache.catalina.core.ApplicationHttpRequest

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign layoutDisplayPageObjectProvid...  [in template "70687763866433#20120#33250" at line 21, column 1]
----
1<#-- Extrai latitude e longitude dos dois formatos de URL do Google Maps --> 
2<#function getCoords geolocationUrl> 
3  <#if geolocationUrl?contains("!3d") && geolocationUrl?contains("!4d")> 
4    <#return { 
5      "lat": geolocationUrl?keep_after("!3d")?keep_before("!"), 
6      "lng": geolocationUrl?keep_after("!4d")?keep_before("!") 
7    } /> 
8  <#elseif geolocationUrl?contains("@")> 
9    <#local coordsPart = geolocationUrl?keep_after("@") /> 
10    <#return { 
11      "lat": coordsPart?keep_before(","), 
12      "lng": coordsPart?keep_after(",")?keep_before(",") 
13    } /> 
14  </#if> 
15  <#return {"lat": "", "lng": ""} /> 
16</#function> 
17 
18<#-- Conteúdo exibido pela página de exibição (/w/...), quando houver --> 
19<#assign currentUnit = {} /> 
20<#assign displayArticle = "" /> 
21<#assign layoutDisplayPageObjectProvider = (request.getAttribute("LAYOUT_DISPLAY_PAGE_OBJECT_PROVIDER"))! /> 
22 
23<#if layoutDisplayPageObjectProvider?has_content && layoutDisplayPageObjectProvider.getClassName() == "com.liferay.journal.model.JournalArticle"> 
24  <#assign displayArticle = layoutDisplayPageObjectProvider.getDisplayObject() /> 
25</#if> 
26 
27<#-- Alternativa: URL amigável do conteúdo, o trecho depois de /w/ --> 
28<#assign currentURL = themeDisplay.getURLCurrent()?keep_before("?") /> 
29<#if !displayArticle?has_content && currentURL?contains("/w/")> 
30  <#assign urlTitle = currentURL?keep_after_last("/w/")?keep_before("/") /> 
31  <#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
32  <#assign displayArticle = (JournalArticleLocalService.fetchArticleByUrlTitle(themeDisplay.getScopeGroupId(), urlTitle))!"" /> 
33</#if> 
34 
35<#assign displayGeolocationUrl = "" /> 
36<#assign displayCoords = {"lat": "", "lng": ""} /> 
37 
38<#if displayArticle?has_content> 
39  <#assign displayDocXml = saxReaderUtil.read(displayArticle.getContent()) /> 
40  <#assign displayGeolocationUrl = displayDocXml.valueOf("//dynamic-element[@field-reference='geolocation']/dynamic-content[@language-id='${locale}']")!"" /> 
41  <#if !displayGeolocationUrl?has_content> 
42    <#assign displayGeolocationUrl = displayDocXml.valueOf("(//dynamic-element[@field-reference='geolocation']/dynamic-content)[1]")!"" /> 
43  </#if> 
44  <#assign displayCoords = getCoords(displayGeolocationUrl?trim) /> 
45 
46  <#if displayCoords.lat?has_content && displayCoords.lng?has_content> 
47    <#assign currentUnit = { 
48      "id": displayArticle.getResourcePrimKey()?c, 
49      "title": displayArticle.getTitle(locale), 
50      "lat": displayCoords.lat, 
51      "lng": displayCoords.lng, 
52      "geolocationUrl": displayGeolocationUrl 
53    } /> 
54  </#if> 
55</#if> 
56 
57<#if entries?has_content || currentUnit?has_content> 
58  <script src="https://unpkg.com/leaflet/dist/leaflet.js"></script> 
59 
60  <div id="map" style="height: 480px;"></div> 
61 
62  <script> 
63    const allUnitsData = []; 
64    const currentUnit = <#if currentUnit?has_content>{ 
65      id: "${currentUnit.id}", 
66      title: "${currentUnit.title?js_string}", 
67      lat: "${currentUnit.lat}", 
68      lng: "${currentUnit.lng}", 
69      viewURL: window.location.href.split('?')[0], 
70      geolocationUrl: "${currentUnit.geolocationUrl?js_string}" 
71    }<#else>null</#if>; 
72  </script> 
73 
74  <#-- Collect all units data --> 
75  <#list entries as curEntry> 
76    <#assign assetRenderer = curEntry.getAssetRenderer() /> 
77    <#assign journalArticle = assetRenderer.getArticle() /> 
78    <#assign docXml = saxReaderUtil.read(journalArticle.getContent()) /> 
79    <#assign viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, assetRenderer, curEntry, !stringUtil.equals(assetLinkBehavior, "showFullContent")) /> 
80    <#assign geolocationUrl = docXml.valueOf("//dynamic-element[@field-reference='geolocation']/dynamic-content[@language-id='${locale}']")!"" /> 
81 
82    <#-- Add unidadeId to viewURL --> 
83    <#assign unidadeId = journalArticle.getResourcePrimKey() /> 
84    <#assign viewURL = viewURL?keep_before_last("?") /> 
85    <#if viewURL?contains("?")> 
86      <#assign viewURL = viewURL + "&unidadeId=" + unidadeId /> 
87    <#else> 
88      <#assign viewURL = viewURL + "?unidadeId=" + unidadeId /> 
89    </#if> 
90 
91    <#assign coords = getCoords(geolocationUrl) /> 
92    <#assign lat = coords.lat /> 
93    <#assign lng = coords.lng /> 
94 
95    <#if lat?has_content && lng?has_content> 
96      <script> 
97        allUnitsData.push({ 
98          id: "${unidadeId}", 
99          title: "${curEntry.getTitle(locale)?js_string}", 
100          lat: "${lat}", 
101          lng: "${lng}", 
102          viewURL: "${viewURL?js_string}", 
103          geolocationUrl: "${geolocationUrl?js_string}" 
104        }); 
105      </script> 
106    </#if> 
107  </#list> 
108 
109  <script> 
110    // Function to initialize map with units 
111    async function initMap(unitsToShow) { 
112      if (unitsToShow.length === 0) return; 
113 
114      const map = L.map('map').setView([unitsToShow[0].lat, unitsToShow[0].lng], 13); 
115      const customIcon = L.icon({ 
116        iconUrl: '${themeDisplay.getPathThemeImages()}/marker-icon.png', 
117        iconSize: [42, 64], 
118        iconAnchor: [22, 94], 
119        popupAnchor: [0, -90] 
120      }); 
121 
122      L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { 
123        attribution: '© OpenStreetMap contributors' 
124      }).addTo(map); 
125 
126      const group = L.featureGroup(); 
127 
128      unitsToShow.forEach(unit => { 
129        const showDetailsButton = unitsToShow.length > 1; 
130 
131        const popupContent = ` 
132          <div class="d-flex justify-content-between align-items-center"> 
133            <h4 class="font-weight-bold text-primary mb-0">` + unit.title + `</h4> 
134            <a 
135              class="btn btn-link text-primary-1-100 p-0" 
136              href="` + unit.geolocationUrl + `" 
137              target="_blank" 
138              rel="noopener noreferrer" 
139            > 
140              Ver no mapa 
141            </a> 
142          </div> 
143          ` + (showDetailsButton ? ` 
144          <a 
145            class="btn btn-primary text-white btn-block mt-3" 
146            href="` + unit.viewURL + `" 
147            target="_blank" 
148          > 
149            Ver detalhes da unidade 
150          </a> 
151          ` : '') + ` 
152        `; 
153        L.marker([unit.lat, unit.lng], { icon: customIcon }) 
154          .bindPopup(popupContent) 
155          .addTo(group); 
156      }); 
157 
158      group.addTo(map); 
159      map.fitBounds(group.getBounds()); 
160    } 
161 
162    // Get unidadeId from URL 
163    const urlParams = new URLSearchParams(window.location.search); 
164    const unidadeIdFromUrl = urlParams.get('unidadeId'); 
165 
166    // Main initialization 
167    async function init() { 
168      // Página de exibição: usa a geolocalização do próprio conteúdo exibido 
169      if (currentUnit) { 
170        initMap([currentUnit]); 
171      } else if (unidadeIdFromUrl) { 
172        // Try to fetch specific unit from Headless API 
173        try { 
174          const response = await fetch( 
175            window.location.origin + '/o/headless-delivery/v1.0/structured-contents/' + unidadeIdFromUrl, 
176            { 
177              method: 'GET', 
178              headers: { 
179                'Accept': 'application/json' 
180              } 
181            } 
182          ); 
183 
184          if (response.ok) { 
185            const unitData = await response.json(); 
186            // Extract geolocation from contentFields 
187            const geolocationField = unitData.contentFields?.find(f => f.name === 'geolocation'); 
188            const geolocationUrl = geolocationField?.contentFieldValue?.data || ''; 
189 
190            if (geolocationUrl) { 
191              // Parse lat/lng from Google Maps URL 
192              let lat = '', lng = ''; 
193              if (geolocationUrl.includes('!3d') && geolocationUrl.includes('!4d')) { 
194                lat = geolocationUrl.split('!3d')[1]?.split('!')[0] || ''; 
195                lng = geolocationUrl.split('!4d')[1]?.split('!')[0] || ''; 
196              } else if (geolocationUrl.includes('@')) { 
197                const coords = geolocationUrl.split('@')[1]?.split(',') || []; 
198                lat = coords[0] || ''; 
199                lng = coords[1] || ''; 
200              } 
201 
202              if (lat && lng) { 
203                const unit = { 
204                  id: unidadeIdFromUrl, 
205                  title: unitData.title || '', 
206                  lat: lat, 
207                  lng: lng, 
208                  viewURL: window.location.href.split('?')[0], 
209                  geolocationUrl: geolocationUrl 
210                }; 
211                initMap([unit]); 
212                return; 
213              } 
214            } 
215          } 
216        } catch (error) { 
217          console.warn('Error fetching unit from Headless API:', error); 
218        } 
219 
220        // Fallback: filter from local data 
221        const filteredUnits = allUnitsData.filter(unit => unit.id === unidadeIdFromUrl); 
222        initMap(filteredUnits); 
223      } else { 
224        // Show all units 
225        initMap(allUnitsData); 
226      } 
227    } 
228 
229    init(); 
230  </script> 
231</#if> 
Telefone Geral
0800 724 4440
Relacionamento Comercial
Dúvidas sobre cursos e matrículas

Navegação de Categorias