Atividades Complementares - Matemática UECE
:root {
--uece-blue: #006eb8;
--uece-yellow: #f2a900;
--uece-dark-blue: #005792;
--uece-light-blue: #d4e9f8;
--light: #f8f9fa;
--dark: #343a40;
--success: #28a745;
--warning: #ffc107;
--danger: #dc3545;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background-color: #f5f5f5;
color: #333;
line-height: 1.6;
}
header {
background: linear-gradient(135deg, var(--uece-dark-blue) 0%, var(--uece-blue) 100%);
color: white;
padding: 1.5rem;
text-align: center;
box-shadow: 0 2px 10px rgba(0,0,0,0.2);
position: relative;
overflow: hidden;
}
.header-content {
max-width: 1200px;
margin: 0 auto;
position: relative;
z-index: 2;
}
.logo-container {
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 1rem;
}
.logo {
width: 80px;
height: 80px;
background-color: white;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin-right: 1rem;
box-shadow: 0 0 15px rgba(0,0,0,0.1);
}
.logo i {
font-size: 2.5rem;
color: var(--uece-blue);
}
h1 {
font-size: 2.2rem;
margin-bottom: 0.5rem;
text-shadow: 1px 1px 3px rgba(0,0,0,0.3);
}
.subtitle {
font-size: 1.2rem;
opacity: 0.9;
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 2rem 1rem;
}
.nav-tabs {
display: flex;
flex-wrap: wrap;
list-style: none;
background: white;
border-radius: 8px 8px 0 0;
overflow: hidden;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
margin-bottom: 0;
}
.nav-tabs li {
flex: 1;
min-width: 120px;
}
.nav-tabs a {
display: block;
padding: 1rem;
text-align: center;
text-decoration: none;
color: var(--dark);
font-weight: 500;
transition: all 0.3s;
border-bottom: 3px solid transparent;
}
.nav-tabs a:hover, .nav-tabs a.active {
background-color: var(--uece-light-blue);
color: var(--uece-dark-blue);
border-bottom: 3px solid var(--uece-yellow);
}
.tab-content {
background: white;
border-radius: 0 0 8px 8px;
padding: 2rem;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
margin-bottom: 2rem;
}
.tab-pane {
display: none;
}
.tab-pane.active {
display: block;
animation: fadeIn 0.5s;
}
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
h2 {
color: var(--uece-dark-blue);
margin-bottom: 1.5rem;
padding-bottom: 0.5rem;
border-bottom: 2px solid var(--uece-yellow);
}
h3 {
color: var(--uece-blue);
margin: 1.5rem 0 1rem;
}
.card {
border-left: 4px solid var(--uece-yellow);
padding: 1.5rem;
background-color: var(--uece-light-blue);
margin-bottom: 1.5rem;
border-radius: 0 8px 8px 0;
}
.alert {
padding: 1rem;
border-radius: 6px;
margin-bottom: 1rem;
display: flex;
align-items: center;
}
.alert i {
margin-right: 0.75rem;
font-size: 1.2rem;
}
.alert-info {
background-color: #d1ecf1;
border-left: 4px solid #0c5460;
color: #0c5460;
}
.alert-warning {
background-color: #fff3cd;
border-left: 4px solid #856404;
color: #856404;
}
table {
width: 100%;
border-collapse: collapse;
margin-bottom: 1.5rem;
box-shadow: 0 1px 5px rgba(0,0,0,0.05);
}
th, td {
padding: 0.75rem;
text-align: left;
border: 1px solid #dee2e6;
}
th {
background: linear-gradient(to bottom, var(--uece-blue), var(--uece-dark-blue));
color: white;
font-weight: 500;
}
tr:nth-child(even) {
background-color: #f8f9fa;
}
.simulator {
background-color: white;
padding: 2rem;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
margin-top: 2rem;
}
.category {
margin-bottom: 1.5rem;
border: 1px solid #ddd;
border-radius: 8px;
overflow: hidden;
}
.category-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem 1.5rem;
background: linear-gradient(to right, var(--uece-light-blue), white);
cursor: pointer;
transition: background 0.3s;
}
.category-header:hover {
background: linear-gradient(to right, var(--uece-blue), var(--uece-light-blue));
color: white;
}
.category-header h3 {
margin: 0;
color: inherit;
}
.category-content {
display: none;
padding: 1.5rem;
background: white;
}
.category-content.active {
display: block;
}
.activity-item {
margin-bottom: 1rem;
padding-bottom: 1rem;
border-bottom: 1px dashed #eee;
}
.activity-item:last-child {
border-bottom: none;
}
.activity-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 0.5rem;
}
.activity-controls {
display: flex;
align-items: center;
}
input[type="number"] {
width: 80px;
padding: 0.5rem;
border: 1px solid #ced4da;
border-radius: 4px;
text-align: center;
}
.btn {
display: inline-block;
padding: 0.5rem 1rem;
background-color: var(--uece-blue);
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
text-decoration: none;
transition: all 0.3s;
font-weight: 500;
}
.btn:hover {
background-color: var(--uece-dark-blue);
transform: translateY(-2px);
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
.btn-sm {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
}
.summary {
background: linear-gradient(135deg, var(--uece-blue) 0%, var(--uece-dark-blue) 100%);
color: white;
padding: 2rem;
border-radius: 8px;
margin-top: 2rem;
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}
.summary h3 {
color: white;
margin-top: 0;
border-bottom: 1px solid rgba(255,255,255,0.3);
padding-bottom: 0.5rem;
}
.summary-item {
display: flex;
justify-content: space-between;
margin-bottom: 0.75rem;
padding: 0.5rem 0;
border-bottom: 1px solid rgba(255,255,255,0.1);
}
.progress-container {
height: 25px;
background-color: rgba(255,255,255,0.2);
border-radius: 5px;
margin: 1rem 0;
overflow: hidden;
}
.progress-bar {
height: 100%;
background: linear-gradient(to right, var(--uece-yellow), #ffcc33);
text-align: center;
line-height: 25px;
color: var(--dark);
font-weight: bold;
transition: width 0.5s ease;
}
footer {
background: linear-gradient(135deg, var(--uece-dark-blue) 0%, var(--uece-blue) 100%);
color: white;
text-align: center;
padding: 2rem;
margin-top: 3rem;
}
.footer-content {
max-width: 1200px;
margin: 0 auto;
}
@media (max-width: 768px) {
.nav-tabs li {
flex: 0 0 50%;
}
.container {
padding: 1rem;
}
.tab-content {
padding: 1rem;
}
.category-header {
flex-direction: column;
align-items: flex-start;
}
.category-header h3 {
margin-bottom: 0.5rem;
}
}
Introdução
De acordo com a Resolução CEPE Nº 5191/2025, as Atividades Complementares são componentes curriculares que visam contribuir para uma formação mais completa do estudante, favorecendo a ampliação do seu universo cultural por meio da pluralidade de espaços de formação educacional.
Para o curso de Licenciatura em Matemática da UECE, a carga horária total exigida é de 200 horas distribuídas em diferentes categorias de atividades.
Importante
As atividades devem ser realizadas em pelo menos duas das seis categorias disponíveis, conforme estabelecido no Art. 13 da Resolução.
Objetivos das Atividades Complementares
- Complementar a formação social e profissional dos estudantes
- Ampliar o universo cultural através de múltiplos espaços de formação
- Flexibilizar o currículo do curso
- Permitir o reconhecimento de habilidades e conhecimentos adquiridos outside do ambiente acadêmico formal
Categorias de Atividades Complementares
(A) Atividades acadêmicas de complementação da formação específica e/ou campo profissional
Atividades relacionadas à complementação de conhecimentos específicos da área de Matemática e formação profissional.
- Participação, como ouvinte, em Cursos de complementação de conteúdos das disciplinas do curso (cursos de, no mínimo, 20 horas)
- Participação, como ouvinte, em curso de curta duração relacionado à formação específica e/ou campo de atuação profissional
- Participação, como ouvinte, em oficina relacionada à formação específica e/ou campo de atuação profissional
- Monitoria acadêmica (bolsista ou voluntário) - 50h/semestre
- PIBID (bolsista ou voluntário) - 50h/semestre
Limite máximo: 60h para cursos de complementação, 40h para cursos curtos e oficinas, 100h para monitoria e PIBID
(B) Atividades acadêmicas de ensino
Atividades relacionadas à prática docente e experiências pedagógicas.
- Residência Pedagógica (bolsista ou voluntário) - 50h/semestre
- Produção de Materiais Didático-pedagógicos sob orientação docente - 20h/produção
- Ministrante de Oficina e/ou curso de curta duração - 20h/atividade
- Bolsista ou voluntário em atividades relacionadas à docência em espaços formais e não formais - 20h/semestre
- Estágio em laboratório de ensino, com carga horária mínima de 180 horas - 15h/semestre
Limite máximo: 100h para residência pedagógica, 60h para produção de materiais e ministração de oficinas, 40h para atividades de docência, 60h para estágio em laboratório
(C) Atividades acadêmicas de pesquisa e produção científica
Atividades de iniciação científica, pesquisa and divulgação científica.
- Iniciação científica (bolsista ou voluntário) - 50h/semestre
- Pesquisa em projetos do curso aprovados pelo CEPE - 20h/semestre
- Participação em grupo de estudo aprovado pelo Colegiado do Curso - 15h/semestre
- Apresentação de trabalhos em eventos científicos (comunicação oral ou painel) - 8h
- Publicações científicas (artigos, resumos, livros) - 4h a 20h conforme tipo
Limite máximo: 100h para iniciação científica, 80h para pesquisa em projetos, 60h para grupos de estudo, 48h para apresentação de trabalhos, variável para publicações
(D) Atividades acadêmicas gerais
Atividades de formação geral, participação institucional e eventos diversos.
- Participação em Programa de Educação Tutorial - PET - 50h/semestre
- Cursos de formação geral: política, sociedade, ética profissional - 20h
- Cursos de língua estrangeira - 60h
- Participação em eventos: congressos, semanas, encontros, oficinas, palestras - 4h/evento
- Estágio Curricular não obrigatório com duração mínima de 180 horas - 30h/semestre
Limite máximo: 100h para PET, 60h para cursos de formação geral e TIC, 60h para cursos de língua estrangeira, 40h para participação em eventos, 60h para estágio não obrigatório
(E) Atividades acadêmicas de extensão
Atividades de extensão universitária e interação com a comunidade.
- Bolsista ou voluntário de Projetos ou Programas de Extensão - 50h/semestre
- Participação em liga acadêmica ou empresa júnior - 25h/semestre
- Participação em curso de extensão - 10h
- Participação em comissões organizadoras de eventos acadêmicos, artísticos e culturais - 10h
- Participação em campanhas de saúde pública e educação ambiental - 5h
Limite máximo: 100h para projetos de extensão, 50h para liga acadêmica/empresa júnior, 40h para cursos de extensão e comissões organizadoras, 20h para campanhas
(F) Atividades acadêmicas esportivas e culturais
Atividades esportivas, artísticas e cultural.
- Participação como atleta em jogos universitários da UECE - 10h/semestre
- Treinador de equipes esportivas da comunidade ou da UECE - 15h/semestre
- Produção de filmes, vídeos ou audiovisuais de informação científicos e culturais - 5h
- Direção de peça, vídeo e audiovisual de produção artística - 5h
- Participação em grupo artístico da UECE - 5h
Limite máximo: 50h para participação como atleta, 60h para treinador de equipes, 20h para produções audiovisuais e mostras artísticas
Simulador de Carga Horária
Utilize o simulador abaixo para calcular suas horas de atividades complementares conforme as categorias da Resolução CEPE 5191/2025. Selecione as atividades realizadas e insira a carga horária correspondente.
Resumo da Carga Horária
Total de Horas Computadas:
0h
Horas Restantes para completar 200h:
200h
Atenção: É necessário preencher horas em pelo menos 2 categorias diferentes para cumprir os requisitos da Resolução.
Algumas categorias têm limites máximos de horas computáveis. Verifique os limites em cada categoria.
Documentação e Validação
Para a validação das atividades complementares, é necessário apresentar a documentação comprobatória conforme estabelecido no Art. 8º da Resolução:
Documentos necessários
- Certificados de participação
- Declarações de atividades realizadas
- Comprovantes de publicações
- Relatórios de atividades
- Comprovante de participação em eventos
Os documentos devem conter as seguintes informações (Art. 8º, §1º):
- Nome do estudante participante
- Data de realização do evento/atividade
- Carga horária
- Período de realização
- Área de conhecimento
- Outros dados essenciais para qualificação da atividade
O registro das atividades deve ser realizado no Sistema de Gestão Acadêmica de Graduação (SisAcadG/UECE) e a submissão para validação deve ser feita preferencialmente no semestre anterior à conclusão do curso.
Prazo para Entrega
O prazo máximo para entrega da documentação é até o final do penúltimo semestre do curso, conforme calendário acadêmico.
Normativas Importantes
Prazos and Procedimentos
- As atividades devem ser realizadas enquanto o estudante estiver regularmente matriculado no curso (Art. 9º)
- Em caso de transferência, podem ser validadas atividades realizadas na instituição de origem, desde que relacionadas à área de formação (Art. 9º, §1º)
- O estudante pode entrar com recurso de reanálise junto ao Colegiado do Curso quando cabível (Art. 4º, d)
Limites e Restrições
- As atividades complementares não podem substituir disciplinas obrigatórias ou optativas (Art. 12)
- É necessário distribuir as horas em pelo menos duas categorias diferentes (Art. 13, Parágrafo único)
- Cada categoria possui limites máximos de horas computáveis (conforme tabelas do Anexo I)
- Atividades realizadas antes do ingresso no curso não são válidas (Art. 9º)
Competências do Colegiado do Curso
De acordo com o Art. 6º, compete aos Colegiados dos Cursos de Graduação:
- Analisar os recursos impetrados pelos alunos para revisão de validação dos créditos
- Fomentar, propiciar e contribuir para o desenvolvimento de atividades
- Contribuir com críticas e sugestões para aprimoramento da sistemática
// Função para alternar entre abas
function openTab(tabId, event) {
// Previne o comportamento padrão do link
if (event) event.preventDefault();
// Oculta todos os conteúdos de abas
document.querySelectorAll('.tab-pane').forEach(tab => {
tab.classList.remove('active');
});
// Remove a classe active de todos os links de abas
document.querySelectorAll('.nav-tabs a').forEach(tab => {
tab.classList.remove('active');
});
// Mostra a aba selecionada
document.getElementById(tabId).classList.add('active');
// Adiciona a classe active ao link clicado
if (event) {
event.currentTarget.classList.add('active');
}
}
// Adiciona event listeners para as abas
document.querySelectorAll('.nav-tabs a').forEach(tab => {
tab.addEventListener('click', function(e) {
openTab(this.getAttribute('data-tab'), e);
});
});
// Função para alternar a visualização do conteúdo da categoria
function toggleCategory(categoryId) {
const content = document.getElementById(categoryId + '-content');
content.classList.toggle('active');
}
// Função para calcular o total de horas
function calculateHours() {
// Obter valores de cada atividade da categoria A
const aMonitoria = parseInt(document.getElementById('a-monitoria').value) || 0;
const aPibid = parseInt(document.getElementById('a-pibid').value) || 0;
const aCursosConteudo = parseInt(document.getElementById('a-cursos-conteudo').value) || 0;
const aCursosCurtos = parseInt(document.getElementById('a-cursos-curtos').value) || 0;
const aOficinas = parseInt(document.getElementById('a-oficinas').value) || 0;
// Aplicar limites máximos por atividade (conforme Resolução)
const limitedAMonitoria = Math.min(aMonitoria, 100);
const limitedAPibid = Math.min(aPibid, 100);
const limitedACursosConteudo = Math.min(aCursosConteudo, 60);
const limitedACursosCurtos = Math.min(aCursosCurtos, 40);
const limitedAOficinas = Math.min(aOficinas, 40);
// Calcular total da categoria A
const totalCatA = limitedAMonitoria + limitedAPibid + limitedACursosConteudo + limitedACursosCurtos + limitedAOficinas;
document.getElementById('catA-total').textContent = totalCatA + 'h';
// Obter valores de cada atividade da categoria B
const bResidencia = parseInt(document.getElementById('b-residencia').value) || 0;
const bMateriais = parseInt(document.getElementById('b-materiais').value) || 0;
const bMinisterio = parseInt(document.getElementById('b-ministerio').value) || 0;
const bDocencia = parseInt(document.getElementById('b-docencia').value) || 0;
const bEstagio = parseInt(document.getElementById('b-estagio').value) || 0;
// Aplicar limites máximos por atividade (conforme Resolução)
const limitedBResidencia = Math.min(bResidencia, 100);
const limitedBMateriais = Math.min(bMateriais, 60);
const limitedBMinisterio = Math.min(bMinisterio, 60);
const limitedBDocencia = Math.min(bDocencia, 40);
const limitedBEstagio = Math.min(bEstagio, 60);
// Calcular total da categoria B
const totalCatB = limitedBResidencia + limitedBMateriais + limitedBMinisterio + limitedBDocencia + limitedBEstagio;
document.getElementById('catB-total').textContent = totalCatB + 'h';
// Obter valores de cada atividade da categoria C
const cIniciacao = parseInt(document.getElementById('c-iniciacao').value) || 0;
const cPesquisa = parseInt(document.getElementById('c-pesquisa').value) || 0;
const cGrupoEstudo = parseInt(document.getElementById('c-grupo-estudo').value) || 0;
const cApresentacao = parseInt(document.getElementById('c-apresentacao').value) || 0;
const cPublicacao = parseInt(document.getElementById('c-publicacao').value) || 0;
// Aplicar limites máximos por atividade (conforme Resolução)
const limitedCIniciacao = Math.min(cIniciacao, 100);
const limitedCPesquisa = Math.min(cPesquisa, 80);
const limitedCGrupoEstudo = Math.min(cGrupoEstudo, 60);
const limitedCApresentacao = Math.min(cApresentacao, 48);
const limitedCPublicacao = Math.min(cPublicacao, 80);
// Calcular total da categoria C
const totalCatC = limitedCIniciacao + limitedCPesquisa + limitedCGrupoEstudo + limitedCApresentacao + limitedCPublicacao;
document.getElementById('catC-total').textContent = totalCatC + 'h';
// Obter valores de cada atividade da categoria D
const dPet = parseInt(document.getElementById('d-pet').value) || 0;
const dCursosGerais = parseInt(document.getElementById('d-cursos-gerais').value) || 0;
const dLinguas = parseInt(document.getElementById('d-linguas').value) || 0;
const dEventos = parseInt(document.getElementById('d-eventos').value) || 0;
const dEstagio = parseInt(document.getElementById('d-estagio').value) || 0;
// Aplicar limites máximos por atividade (conforme Resolução)
const limitedDPet = Math.min(dPet, 100);
const limitedDCursosGerais = Math.min(dCursosGerais, 60);
const limitedDLinguas = Math.min(dLinguas, 60);
const limitedDEventos = Math.min(dEventos, 40);
const limitedDEstagio = Math.min(dEstagio, 60);
// Calcular total da categoria D
const totalCatD = limitedDPet + limitedDCursosGerais + limitedDLinguas + limitedDEventos + limitedDEstagio;
document.getElementById('catD-total').textContent = totalCatD + 'h';
// Obter valores de cada atividade da categoria E
const eExtensao = parseInt(document.getElementById('e-extensao').value) || 0;
const eLiga = parseInt(document.getElementById('e-liga').value) || 0;
const eCursosExtensao = parseInt(document.getElementById('e-cursos-extensao').value) || 0;
const eComissoes = parseInt(document.getElementById('e-comissoes').value) || 0;
const eCampanhas = parseInt(document.getElementById('e-campanhas').value) || 0;
// Aplicar limites máximos por atividade (conforme Resolução)
const limitedEExtensao = Math.min(eExtensao, 100);
const limitedELiga = Math.min(eLiga, 50);
const limitedECursosExtensao = Math.min(eCursosExtensao, 40);
const limitedEComissoes = Math.min(eComissoes, 40);
const limitedECampanhas = Math.min(eCampanhas, 20);
// Calcular total da categoria E
const totalCatE = limitedEExtensao + limitedELiga + limitedECursosExtensao + limitedEComissoes + limitedECampanhas;
document.getElementById('catE-total').textContent = totalCatE + 'h';
// Obter valores de cada atividade da categoria F
const fAtleta = parseInt(document.getElementById('f-atleta').value) || 0;
const fTreinador = parseInt(document.getElementById('f-treinador').value) || 0;
const fProducao = parseInt(document.getElementById('f-producao').value) || 0;
const fDirecao = parseInt(document.getElementById('f-direcao').value) || 0;
const fGrupoArtistico = parseInt(document.getElementById('f-grupo-artistico').value) || 0;
// Aplicar limites máximos por atividade (conforme Resolução)
const limitedFAtleta = Math.min(fAtleta, 50);
const limitedFTreinador = Math.min(fTreinador, 60);
const limitedFProducao = Math.min(fProducao, 20);
const limitedFDirecao = Math.min(fDirecao, 20);
const limitedFGrupoArtistico = Math.min(fGrupoArtistico, 20);
// Calcular total da categoria F
const totalCatF = limitedFAtleta + limitedFTreinador + limitedFProducao + limitedFDirecao + limitedFGrupoArtistico;
document.getElementById('catF-total').textContent = totalCatF + 'h';
// Calcular total geral
const totalHours = totalCatA + totalCatB + totalCatC + totalCatD + totalCatE + totalCatF;
document.getElementById('total-hours').textContent = totalHours + 'h';
// Calcular horas restantes
const remainingHours = Math.max(0, 200 - totalHours);
document.getElementById('remaining-hours').textContent = remainingHours + 'h';
// Atualizar barra de progresso
const progressPercent = Math.min(100, (totalHours / 200) * 100);
const progressBar = document.getElementById('progress-bar');
progressBar.style.width = progressPercent + '%';
progressBar.textContent = Math.round(progressPercent) + '%';
// Verificar se há horas em pelo menos 2 categorias
const filledCategories = [
totalCatA > 0,
totalCatB > 0,
totalCatC > 0,
totalCatD > 0,
totalCatE > 0,
totalCatF > 0
].filter(Boolean).length;
// Mostrar aviso se não houver pelo menos 2 categorias preenchidas
const categoryWarning = document.getElementById('category-warning');
if (filledCategories 0) {
categoryWarning.style.display = 'flex';
} else {
categoryWarning.style.display = 'none';
}
// Verificar se algum valor excede o máximo permitido
const maxHoursWarning = document.getElementById('max-hours-warning');
if (aMonitoria > 100 || aPibid > 100 || aCursosConteudo > 60 || aCursosCurtos > 40 || aOficinas > 40 ||
bResidencia > 100 || bMateriais > 60 || bMinisterio > 60 || bDocencia > 40 || bEstagio > 60 ||
cIniciacao > 100 || cPesquisa > 80 || cGrupoEstudo > 60 || cApresentacao > 48 || cPublicacao > 80 ||
dPet > 100 || dCursosGerais > 60 || dLinguas > 60 || dEventos > 40 || dEstagio > 60 ||
eExtensao > 100 || eLiga > 50 || eCursosExtensao > 40 || eComissoes > 40 || eCampanhas > 20 ||
fAtleta > 50 || fTreinador > 60 || fProducao > 20 || fDirecao > 20 || fGrupoArtistico > 20) {
maxHoursWarning.style.display = 'flex';
} else {
maxHoursWarning.style.display = 'none';
}
}
// Inicializar o simulador
document.addEventListener('DOMContentLoaded', function() {
calculateHours();
// Adiciona event listeners para as abas após o carregamento
document.querySelectorAll('.nav-tabs a').forEach(tab => {
tab.addEventListener('click', function(e) {
openTab(this.getAttribute('data-tab'), e);
});
});
});