Software Livre na Educação Superior Aplicação do Framework Django no Curso de Ciência da Computação Curso de Ciência da Computação Prof. Eng. Marcelo Augusto Gonçalves Bardi
Jun 05, 2015
Software Livre na Educação SuperiorAplicação do Framework Django no Curso de Ciência da ComputaçãoCurso de Ciência da Computação
Prof. Eng. Marcelo Augusto Gonçalves Bardi
Roteiro
• Introdução• Políticas Educacionais para Computação• Software Livre na Educação• Desenvolvimento web• Desenvolvimento web• Estudo de caso• Exemplos de desenvolvimento• Atitudes
INTRODUÇÃO
• Primeiros debates em 1971 => Computadores no ensino de Física => Universidade de São Carlos – SP
• Atualmente:• Atualmente:
INTRODUÇÃO
INTRODUÇÃO
1 Nos anos 80 houve o auge das propostas de Informática naEducação chegando-se aos anos 90 sem uma política deinformática na educação implementada, apenas algumaspesquisas e propostas isoladas.
2 Investir no professor, neste momento de grande carência dequalidade docente, uma sábia e coerente perspectiva decuidar da educação na sua totalidade: os conteúdos, a
INTRODUÇÃO
cuidar da educação na sua totalidade: os conteúdos, aavaliação, o currículo, a psicologia do aluno e até asquestões de política educacional brasileira.
3 Equipar as escolas públicas e universidades comaparelhagem informática, no mínimo mostrar às pessoasque as frequentam, que elas são tratadas com respeito.
4 O nosso aluno já tem condições de ser alfabetizado eaprender algumas das habilidades fundamentais com asquais o computador trabalha.
5 A adaptação dos currículos das escolas eUniversidades para a inclusão das disciplinas deInformática.
6 A contenção da tendência de criação de novos cursosna área de Informática, ou por causa da Informática,numa mesma instituição, para atender objetivos
INTRODUÇÃO
numa mesma instituição, para atender objetivosespecíficos.
7 Organização de aulas com discussão de assuntos coma turma toda, (coletivo) ou grupos visando incentivar oaluno a participar mais ativamente da disciplina,conscientizando-se do seu papel de sujeito, do seuprocesso de educação e não sendo simplesmente umobjeto (com participação passiva) deste processo.
Papel do Software Livre na Educação
• Pode ser empregado nos diversos níveis:– Educação Infantil;– Ensino Fundamental;– Ensino Médio;– Ensino Médio;– Ensino Superior;– Ensino Técnico;– Pós-Graduação.
Políticas do uso de software livre• 4 Liberdades:
– Executar o programa, para qualquerpropósito;
– Estudar e adaptar o programa a novas– Estudar e adaptar o programa a novasnecessidades;
– Redistribuir cópias;
– Aperfeiçoar o programa e distribuir.
Aplicabilidade e Aceitação
• Corporações que utilizam (dados de2009):– 65% para grandes;– 48% para médias;– 48% para médias;– 26% no Brasil.
http://softwarelivre.org/portal/empresas/uso-de-software-livre-cresce-em-medias-e-grandes-companhias
Aplicabilidade e Aceitação
Aplicabilidade e Aceitação
Software Livre e Web
• Padrões web W3C• Sistema Operacional: Linux e suas
distribuições;• Navegador: Firefox, Opera;• Servidor: Apache;• Servidor: Apache;• Banco de dados: MySQL, Postgre SQL;• Linguagem de programação: ECMA Script +
Mootools; Python + Django; PHP + Joomla!;• IDE: Eclipse;• Edição Gráfica: GIMP. Inkscape.
Software Livre e Web
Software Livre e Web
Objetivo da Proposta
• Introduzir os alunos à política de softwarelivre e às suas liberdades;
• Conhecer a tecnologia MVC dedesenvolvimento web;desenvolvimento web;
• Integrar conhecimentos de sistemasoperacionais, banco de dados, lógica deprogramação, desenvolvimento web edocumentação UML na elaboração deprojetos.
Perfil da Instituição• Fundada em 1976 como
Instituição Franciscana;
• Possui como missão:“Produzir e difundir oconhecimento, libertar oser humano pelo diálogo
– Campinas;– Itatiba,– São Paulo
• Possui 42 cursos degraduação nas áreas de:– Ciências da saúde;ser humano pelo diálogo
entre a ciência e a fé epromover fraternidade esolidariedade, mediante aprática do bem econseqüente construção dapaz”;
• Possui 4 campi:– Bragança Paulista;
– Ciências da saúde;– Ciências exatas e
tecnológicas;– Ciências humanas e sociais
aplicadas;
• Possui programas de Pós-Graduação Stricto Sensu eLato Sensu.
Descrição do Curso• Foi criado em 1996;
• Objetivo: formar profissionais para atuação nas áreasde pesquisa e desenvolvimento de softwares básicose aplicativos, promovendo o desenvolvimentocientífico e tecnológico da computação .científico e tecnológico da computação .
• Duração: 8 semestres;
• Carga horária total: 3000 h;
• Período: noturno.
Descrição do Alunado
• Idade entre 20-22 anos;
• Metade atua em empresas de pequeno/médio porte;
• Residem em: Bragança Paulista -> 2• Residem em: Bragança Paulista -> 2Itatiba -> 6Vinhedo -> 2Jundiaí -> 1Amparo -> 1Cajamar -> 1
• Apenas 5 alunos devem se formar no prazo
Cronograma de AtividadesDATA ATIVIDADE LOCAL HORA/AULA
5/fev
Apresentação da Disciplina
Definição Projetos/Grupos
Conceitos Básicos -
Python/Django
Sala 208
Laboratório4
12/fev
Operadores
Estruturas de controle
Tipos de Dados
Funções
Laboratório 4
Decoradores
Classes
19/fev
Classes
Herança
Sobrecarga de Operadores
Testes automatizados
Entrega de Projetos
Laboratório 4
26/fev
Threads
Persistência
XML
Banco de Dados
Web
Laboratório 4
5/mar Projetos em Django Laboratório 4
12/mar Projetos em Django Laboratório 4
19/mar Seminário Laboratório 4
26/mar Projetos em Django Laboratório 4
2/abr
9/abr Avaliação P1 Sala 208 4
Recesso Escolar (Semana Santa)
16/abrTópicos Especiais
Entrega Projeto (UML )Laboratório 4
23/abr Projetos em Django Laboratório 4
30/abr Projetos em Django Laboratório 4
7/maiTópicos Especiais
Seminários (Individual)Laboratório 4
Cronograma de Atividades
Seminários (Individual)
14/mai Projetos em Django Laboratório 4
21/mai Projetos em Django Laboratório 4
28/maiTópicos Especiais
Seminários (Individual)Laboratório 4
4/jun Projetos em Django Laboratório 4
11/jun Projetos em Django Laboratório 4
18/jun Avaliação P2 Laboratório 4
25/jun Avaliação P3 Sala 208 4
Formas de Avaliação
Temas Desenvolvidos
• Blog;• Site de notícias;• Loja virtual;• Sistema de Gerenciamento Corporativo.• Sistema de Gerenciamento Corporativo.
LOJA VIRTUAL
class Classes
Produtos
- Codigo: int- Cor: char- Marca: int- Nome: char- PrecoCusto: float
Marcas
- Codigo: int- Descricao: char- Fornecedor: char
+ Cadastrar() : void+ Editar() : void+ Excluir() : void+ Selecionar() : void
Pedidos
- CodCliente: int- Codigo: int- Data: Date- DataPrevEntrega: Date- ModoPagto: int- ValorTotal: float
+ CalcularTotal() : float+ Cancelar() : void+ Confirmar() : void
Clientes
- Cep: char- CodEndCobranca: int- Codigo: int- Cpf: char- Email: char
+ Cadastrar() : void+ Editar() : void+ Excluir() : void+ Selecionar() : void
ItensPedido
- CodigoPedido: int- CodigoProduto: int
ModoPagto
- Codigo: int- Descricao: char
+ Cadastrar() : void+ Editar() : void+ Excluir() : void+ Selecionar() : void
1...* 1...*
1
1...*
1
1...*
11...*
1...*
1
EMITE
CONTÉM
CONTÉM
CONTÉM
CONTÉM- PrecoVenda: float- Quantidade: int
+ Cadastrar() : void+ Editar() : void+ Excluir() : void+ Selecionar() : void Endereco
- Bairro: char- Cep: char- Cidade: char- CodCliente: int- Codigo: int- Endereco: float- Estado: char- Numero: int
+ Cadastrar() : void+ Editar() : void+ Excluir() : void+ Selecionar() : void
+ Selecionar() : void- CodigoProduto: int- Quantidade: int
+ Excluir() : void+ Incluir() : void
1
1...*
CONTÉM
sd Cadastrar Cliente
Usuario Formulario Base de Dados
Preencher Dados
Validar Dados
Verifica Se Ja Existe
Confirmação
Dados Preenchidos
Confirmar Cadastro
Cadastrar Cliente
sd Comprar
Cliente ProdutosPedido Itens Formulario
Requisitar Produto
Buscar Produto
Produto Encontrado
Produto Selecionado
Adicionar Produto
Confirmar Pedido
Produtos Código Numérico Nome String Preço venda Float Preço Custo Float Quantidade Numérico Marca Numérico Cor String
Marcas Código Numérico Descrição String Fornecedor String
Endereços Cód Cliente Numérico Endereço String Número Numérico CEP String Bairro String Cidade String Estado String
Pedidos Código Numérico Data Emissão Data Valor Total Float Modo de Pgto Numérico
Clientes Código Numérico Nome String E-Mail String Cód End.Cobrança. Numérico CEP String CPF String
Itens Pedido Código Pedido Numérico Código Prod. Numérico Quantidade Numérico Cód Cor Numérico
Modo de Pgto Numérico Data Prev. Entrega Data Cód Cliente Numérico
Modo de Pagamento Código Numérico Descrição String
SITE DE NOTÍCIAS
View• Código:
– Executar comando SQL:
View
• Código:– Montar dicionário par exibir em tela:
View• Resultado:
('^index/$',index), ('^index/( \w*)/$',consulta), ('^index/Categoria/( \w*)/$',categoria), (r'^site_media/(?P<path>.*)$', 'django.views.stati c.serve' , {'document_root': settings.MEDIA_ROOT}) ) {'document_root': settings.MEDIA_ROOT}) )
URL
• Localizador Universal de Recursos
Url responsável por gerar o link da notícia baseado no seu ID.
urlpatterns = patterns('',urlpatterns = patterns('',
('^index/(\w*)/$',consulta))
Caractere alfanumérico
JavaScript
• Versatilidade
• Disponibiliza maior interação com a página
Plugin – Clima Tempo
JavaScript• Galeria de fotos - LightBox
Interatividade
• Botão de post no Twitter
Templates
• Utilização de estilos CSS
Templates
• Renderização do template através
de dicionário de dados
Templates
• Renderização do template através
de dicionário de dados
Templates
• Template utilizado na página
principal
Templates
• Template utilizado na página de
notícias da categoria
Templates
• Template utilizado na página de
notícia – com vídeo
BLOG
Templates
• Template utilizado na página de
notícia – com vídeo
Como disseminar o software livre na educação superior?
CONTATO
Prof. Marcelo Augusto Gonçalves Bardi
UNIVERSIDADE SÃO FRANCISCOUnidade Acadêmica da Área de Ciências Exatas e TecnológicasUnidade Acadêmica da Área de Ciências Exatas e Tecnológicas
Curso de Ciência da Computação
Rua Alexandre Rodrigues Barbosa, nº 45, Centro,
Itatiba, SP, CEP 13251-900