marcelo bardi

57
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

Upload: marleigrolli

Post on 05-Jun-2015

936 views

Category:

Technology


3 download

DESCRIPTION

Software Livre na Educação Superior Aplicação do Framework Django no Curso de Ciência da Computação

TRANSCRIPT

Page 1: Marcelo Bardi

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

Page 2: Marcelo 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

Page 3: Marcelo Bardi

INTRODUÇÃO

• Primeiros debates em 1971 => Computadores no ensino de Física => Universidade de São Carlos – SP

• Atualmente:• Atualmente:

Page 4: Marcelo Bardi

INTRODUÇÃO

Page 5: Marcelo Bardi

INTRODUÇÃO

Page 6: Marcelo Bardi

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.

Page 7: Marcelo Bardi

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.

Page 8: Marcelo Bardi

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.

Page 9: Marcelo Bardi

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.

Page 10: Marcelo Bardi

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

Page 11: Marcelo Bardi

Aplicabilidade e Aceitação

Page 12: Marcelo Bardi

Aplicabilidade e Aceitação

Page 13: Marcelo Bardi

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.

Page 14: Marcelo Bardi

Software Livre e Web

Page 15: Marcelo Bardi

Software Livre e Web

Page 16: Marcelo Bardi

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.

Page 17: Marcelo Bardi

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.

Page 18: Marcelo Bardi

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.

Page 19: Marcelo Bardi

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

Page 20: Marcelo Bardi

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)

Page 21: Marcelo Bardi

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

Page 22: Marcelo Bardi

Formas de Avaliação

Page 23: Marcelo Bardi

Temas Desenvolvidos

• Blog;• Site de notícias;• Loja virtual;• Sistema de Gerenciamento Corporativo.• Sistema de Gerenciamento Corporativo.

Page 24: Marcelo Bardi

LOJA VIRTUAL

Page 25: Marcelo Bardi

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

Page 26: Marcelo Bardi

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

Page 27: Marcelo Bardi

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

Page 28: Marcelo Bardi

SITE DE NOTÍCIAS

Page 29: Marcelo Bardi

View• Código:

– Executar comando SQL:

Page 30: Marcelo Bardi

View

• Código:– Montar dicionário par exibir em tela:

Page 31: Marcelo Bardi

View• Resultado:

Page 32: Marcelo Bardi
Page 33: Marcelo Bardi
Page 34: Marcelo Bardi
Page 35: Marcelo Bardi

('^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}) )

Page 36: Marcelo Bardi
Page 37: Marcelo Bardi
Page 38: Marcelo Bardi

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

Page 39: Marcelo Bardi

JavaScript

• Versatilidade

• Disponibiliza maior interação com a página

Plugin – Clima Tempo

Page 40: Marcelo Bardi

JavaScript• Galeria de fotos - LightBox

Page 41: Marcelo Bardi

Interatividade

• Botão de post no Twitter

Page 42: Marcelo Bardi

Templates

• Utilização de estilos CSS

Page 43: Marcelo Bardi

Templates

• Renderização do template através

de dicionário de dados

Page 44: Marcelo Bardi

Templates

• Renderização do template através

de dicionário de dados

Page 45: Marcelo Bardi

Templates

• Template utilizado na página

principal

Page 46: Marcelo Bardi

Templates

• Template utilizado na página de

notícias da categoria

Page 47: Marcelo Bardi

Templates

• Template utilizado na página de

notícia – com vídeo

Page 48: Marcelo Bardi

BLOG

Page 49: Marcelo Bardi
Page 50: Marcelo Bardi
Page 51: Marcelo Bardi
Page 52: Marcelo Bardi
Page 53: Marcelo Bardi
Page 54: Marcelo Bardi
Page 55: Marcelo Bardi

Templates

• Template utilizado na página de

notícia – com vídeo

Page 56: Marcelo Bardi

Como disseminar o software livre na educação superior?

Page 57: Marcelo Bardi

CONTATO

Prof. Marcelo Augusto Gonçalves Bardi

[email protected]

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