Your SlideShare is downloading. ×
Apresentação sobre experiência curso à distância sobre NumPy e Proc. Imagens e RP
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Apresentação sobre experiência curso à distância sobre NumPy e Proc. Imagens e RP

1,761
views

Published on

Vou procurar compartilhar minha experiência recente no oferecimento de um curso com 1750 inscritos que oferecemos por 5 semanas numa plataforma web de programação colaborativa que desenvolvemos há …

Vou procurar compartilhar minha experiência recente no oferecimento de um curso com 1750 inscritos que oferecemos por 5 semanas numa plataforma web de programação colaborativa que desenvolvemos há mais de 5 anos. Este curso pode ser classificado como MOOC (massive online open course) e teve os desafios típicos desta modalidade de curso. O objetivo desta palestra é orientar os professores candidatos a oferecerem cursos nesta categoria para listar os principais pontos que precisam ser cuidados para o sucesso deste tipo de curso. Iremos falar também das motivações que nos levaram a oferecer este curso, as ferramentas computacionais que foram utilizadas, os resultados alcançados e os principais aprendizados.

Veja também a apresentação http://www.slideshare.net/RobertoLotufo/cursopynumpy-2ed que mostra a experiência no oferecimento da 2a. edição do curso.

Roberto A Lotufo é professor titular da FEEC-Unicamp com área de interesse em processamento de imagens e reconhecimento de padrões com aplicações na área médica, visão por computador, biometria e monitoramento por vídeo.

Próximo curso inscrições abertas até 7 de março 2014: http://adessowiki.fee.unicamp.br/adesso/wiki/main/cursonumpypirp/view/

Published in: Education

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,761
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
21
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. LABORATÓRIO DE INTRODUÇÃO AO PROCESSAMENTO DE IMAGENS E RECONHECIMENTO DE PADRÕES UTILIZANDO A LINGUAGEM PYTHON/NUMPY Curso à distância online aberto e gratuito Compartilhando experiências Roberto A Lotufo Palestra EAE (Ensino e Aprendizado em Engenharia) – FEEC-Unicamp, 28 nov 2013 http://youtu.be/jTnD1XOWKiw: Vídeo desta apresentação
  • 2. Plano de Apresentação • Introdução • Metodologia • Dados estatísticos • Avaliação
  • 3. Motivações do curso • Ensinar um grande número de alunos • Ensinar uma atividade de programação avançada não • • • • • trivial, com maior nível de abstração e eficiência Identificar e atrair bons alunos para fazerem mestrado e doutorado Ajudar na preparação curso de programação matricial/paralela para Proc. de Imagens Testar o Adessowiki (atendimento muitos usuários) Divulgar o Adessowiki Ganhar experiência em cursos estilo MOOC
  • 4. Histórico • 1990 – 1995: Khoros, Un. Novo México • Ambiente gratuito visual de processamento de imagens • Toolboxes desenvolvidas: Morfologia e Visualização de Imagens Médicas • DIP – Digital Image Processing Course, um dos primeiros disponíveis na Internet, 1995 • 1995 – 2002: MATLAB • Toolbox morfologia • Projeto Adesso, parceria com CTI-Renato Archer • Wiki, 2001 • 2002 – 2007: MATLAB e Python • 2002: Toolbox Proc. Imagens para Python • 2007: wiki do DCA – MATLAB • 2008 – hoje : Python – Numerical Python • Adessowiki, 2008
  • 5. Adessowiki • Projeto desenvolvido junto com CTI-Renato Archer • Plataforma colaborativa para escrita e programação científica • Usado em cursos desde 2008 • Vídeo demonstrativo: • http://www.youtube.com/watch?v=FcMVtx-3_Ek
  • 6. Fatores diferenciais do Adessowiki para ensino • Programação colaborativa • Dados, Programas, Ambiente todos na nuvem • Tarefa passada para os alunos • Durante a semana discussão lista email • Programas feitos e compartilhados • Discussão baseada na experiência e criatividade das soluções dos alunos
  • 7. Objetivos do curso • Ensino de programação no estilo matricial paralelo utilizando pacote NumPy (poderia ser MATLAB ou suas versões equivalentes) • Ensino de conceitos iniciais de processamento de imagens e reconhecimento de padrões
  • 8. Plano de Apresentação • Introdução • Metodologia • Dados estatísticos • Avaliação
  • 9. Ferramentas Principais • Lista Google groups, inscrição e comunicação • Adessowiki: • Tutoriais e exercícios de programação. • Ambiente colaborativo de programação científica desenvolvido pela Unicamp e CTI-Renato Archer e em uso em várias instituições desde 2008 • Google Forms: testes múltipla escolha, usando script de correção automática (Flubaroo)
  • 10. Oferecimento (estilo MOOC) • Pela Extecamp: curso de difusão • Sem certificado • Gratuito • Aberto a qualquer um (sem critério de seleção) • Período: 5 semanas, 8 de setembro a 12 de outubro 2013
  • 11. Metodologia e formato do curso • Dividido em 4 partes: • 1. Introdução Adessowiki, Python e NumPy • 2. Criação de imagens, transformação de intensidade e transformação geométrica • 3. Filtros espaciais, convolução e filtros de ordem • 4. Classificador k-vizinho mais próximo
  • 12. Metodologia e formato do curso • Três tipos de atividades: • 1. Treinamento em programação utilizando Adessowiki e lendo pequenos tutoriais explicativos • 2. Testes múltipla escolha on-line (google forms) • 3. Programas com correção automática (Adessowiki) • Praticamente não houve vídeos, as instruções para realização das atividades eram todas escritas e realizadas no Adessowiki.
  • 13. Metodologia e formato do curso • Tanto testes múltipla escolha como programas a serem • • • • submetidos tinham prazo de entrega. Testes com 10 questões múltipla escolha Programas conceituais de solução típica com 5 a 20 linhas de programação Foi possível entregar fora do prazo, porém não foi considerado no cômputo da avaliação. Gabarito dos testes era discutido logo após o prazo de entrega.
  • 14. Metodologia e formato do curso • Roteiros (atividade de edição livre) • Mini-tutoriais (leitura) • Biblioteca didática de funções (leitura) • Programas para correção automática (avaliação) • Testes Múltipla Escolha – 10 questões (avaliação)
  • 15. 7 Testes e 9 Programas • Parte I (2 semanas) • 3 testes: 1.1, 1.2, 1.3 • 2 programas: Quadrados, Xadrez • Parte II (1 semana) • 2 testes: 2.1, 2.2 • 3 programas: Rampa, Normalização, Transformação geométrica • Parte III (1 semana) • 1 teste: 3.1 • 1 programa: Filtro ordem (max, min, mediana) • Parte IV (1 semana) • 1 teste: 4.1 • 3 programas: Vizualização, Distância, PCA
  • 16. Objetivo dos testes • Servir de roteiro de estudos • Roteiro para experimentar comandos de programação • Verificar quem fez de fato os programas • (Os programas entregues podem ser copiados)
  • 17. Exemplo de questão teste • Seja o comando i,j = np.indices((5,3)) Assinale a alternativa correta: a) i é uma matriz de 5 linhas e 5 colunas b) i é um escalar de valor 5 c) i e j tem as mesmas dimensões d) j é uma matriz quadrada e) Nenhuma das anteriores
  • 18. Exemplo de programa • Image estilo xadrez, pixels 0 e 1 • [[0,1,0,1,0,1], • [1,0,1,0,1,0], • [0,1,0,1,0,1]] • 6 formas de programar: • Estilo C • Fatiamento da matriz (slice) • Matriz de índices • Ladrilho • Redimensionamento • Replicação • Lista
  • 19. Nove Programas – tamanho típico • 1a. parte: Programação NumPy • 1.1. Quadrados de Cinza: 13 linhas • 1.2. Xadrez parametrizado: 9 linhas • 2a. parte: Transformações Intensidade e Geométrica • 2.1. Rampa: 3 linhas • 2.2. Normalização: 12 linhas • 2.3. Transformação geométrica: 28 linhas (modificar um existente) • 3a. parte: Filtragem • 3.1. Filtro ordem: 26 linhas (o mais difícil de todos) • 4a. Parte: Classificadores • 4.1. Vizualização amostra: 2 linhas • 4.2. Distância a k-vizinhos: 8 linhas • 4.3. PCA: 8 linhas (o mais difícil do ponto de vista teórico)
  • 20. Metodologia de Notas para programas Desafio é conseguir uma nota que reflita um bom programa. No caso, para ficar mais fácil usou-se o critério de tempo de execução do programa que esteja correto. Estou procurando sugestões de como fazer esta atribuição automática de nota. Tmin p= T p indica uma percentagem do tempo de execução do programa mais rápido em relação ao tempo do seu programa Nota do programa é normalizada entre 10.0 e 5.0 relativas aos programas certos entre o índice p=1 e o menor índice p.
  • 21. Demonstrações • Xadrez • http://adessowiki.fee.unicamp.br/adesso/wiki/ia636/iachess/view/
  • 22. Plano de Apresentação • Introdução • Metodologia • Dados estatísticos • Avaliação
  • 23. Inscritos: 1750 Inscrições por dia
  • 24. Perfil dos inscritos
  • 25. Expectativa
  • 26. N. de usuários editaram programas por dia 300 1.1 Entregas 250 200 1.2 150 100 1.3 2.1 2.2 50 3.1 4.1 0 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 Semana 1.1 Semana 1.2 setembro Semana 2 2 3 4 5 6 7 8 9 10 11 12 Semana 4 Semana 3 outubro
  • 27. Funil dos cursos MOOC • The first MITx course, Circuits and Electronics, attracted over 150,000 participants, but ―fewer than half look at the first problem set‖, and only 7,157 passed, or about 5% • Inscritos: 1750 • Acessaram o sistema com senha: 1202 (68%) • Editaram alguma página: 655 (37%) • Fizeram primeiro teste: 511 (29%) • Fizeram primeiro programa: 137 (7,8%) • Completaram com 50% de aproveitamento: 41 (30% do índice anterior) ou (2,3% dos inscritos)
  • 28. Testes Múltipla Escolha 600 500 400 300 Testes Múltipla Escolha 200 Funil dos testes e programas 100 0 1.1 1.2 1.3 2.1 2.2 3.1 4.1 Programas Correção Automática 160 140 120 100 80 60 40 20 0 Programas Correção Automática
  • 29. Correlação Notas Programas e Testes 100 90 Média Testes 80 70 60 50 40 30 20 10 0 0 10 20 30 40 50 60 70 Média Programas 80 90 100
  • 30. Plano de Apresentação • Introdução • Metodologia • Dados estatísticos • Avaliação
  • 31. Aprendizados • Lançamento de curso é momento bastante estressante – • • • • • igual a organizar um evento onde chegarão milhares de pessoas, tudo tem que estar funcionando Ferramentas de comunicação são primordiais É importante ter ferramentas de acompanhamento do desempenho individualizado do aluno Conteúdo e instruções precisam ser testados e revisados. Se existe alguma chance de má interpretação, ela vai acontecer com um bom número de alunos É preciso experiência de professor no controle da classe Necessidade de acompanhamento em tempo integral
  • 32. Comentário de participante • ―O Ensino à Distância (EAD) apresenta algumas vantagens em relação ao Ensino Presencial. Por sua própria natureza, os mentores do curso acabam se obrigando a manter um conteúdo bem estruturado, o que muitas vezes não acontece em cursos presenciais. Um sistema bem estruturado, que hospede todo o material usado em sequência, assim como todo o histórico de troca de mensagens, funciona como um GUIA DE ESTUDOS, apontando oportunamente para referências externas.‖ Muito verdade
  • 33. Principais dificuldades • Como corrigir erros feitos pelos alunos (sem ser • • • • necessário acompanhamento individualizado) Lista de discussão foi moderada o tempo todo Curso foi muito intensivo, principalmente na primeira semana Curso é inerentemente difícil, envolve conhecimentos avançados e maturidade em programação Primeira semana do curso é crucial – é quando os objetivos e expectativas são consolidados
  • 34. Pontos altos do curso • Teste múltipla escolha forte correlação com o estudantes que faziam melhores programas • Sistema de compartilhamento de soluções bastante apropriado (todos vêm as soluções de todos) • Sistema de visualização dos programas classificados por tempo de execução foi desafio motivacional para os participantes • Comprovação do ambiente Adessowiki para ensinar programação
  • 35. Comentário de aluno • Gostei muito do curso e gostei bastante da ideia de editar e executar o código diretamente pelo browser. O curso ajuda bastante com a prática de código matricial. Foi uma experiência bastante interessante. • Seria muito bom ter cores no editor de código e talvez complemento de código (como nas IDEs). • Faz falta ferramentas para debug. • Gostaria de ter visto mais conteúdo sobre processamento de imagens e reconhecimento de padrões.
  • 36. Comentário de aluno O ajuste de prazo de entrega para os finais de semana ajudou bastante. Talvez o sistema de cálculo de porcentagem de acerto das atividades de programação possa evoluir mais. Não sei da responsabilidade legal que um professor tem ao emitir um certificado, tenho certeza que um certificado simples, em formato digital mesmo iria motivar mais as pessoas a concluírem o curso. A existência de um ranking público para esse tipo de curso também é polêmico :D afinal pode ser tanto motivante quanto desmotivante. É o primeiro curso a distância que eu faço, e foi uma experiência bem interessante.
  • 37. Comentário de colega (antes de iniciar o curso) • Oi Lotufo, • Esses cursos online costumam ter uma taxa de evasão grande, então não deixe isso lhe desanimar: eu acho sempre mais produtivo pensar ao contrário — ao invés de dizer entraram X e ficaram apenas Y, é preciso pensar "quantas turmas convencionais eu precisaria oferecer para formar Y" ? • Eduardo Valle Muito verdade
  • 38. Peculiaridades do curso • Primeiro colocado foi aluno anônimo • Um caso de plágio recorrente • Apenas 3 mulheres entre os 41 finalistas • Lista de discussão foi moderada
  • 39. Princípios • Adotado desde a concepção: • "Organizing the course around exercises and mental challenges is much more effective than around lectures‖ • Será adotado na próxima edição: • Coursera found that students who paid $30 to $90 were substantially more likely to finish the course.
  • 40. Motivações do curso (O que deu certo) • (Pouco) Ensinar um grande número de alunos • (OK) Ensinar uma atividade de programação avançada • • • • • não trivial, com maior nível de abstração e eficiência (Pouco) Identificar e atrair bons alunos para fazerem mestrado e doutorado (OK) Ajudar na preparação curso de programação matricial/paralela para Proc. de Imagens (OK) Testar o Adessowiki (escalamento) (OK) Divulgar o Adessowiki (OK) Ganhar experiência em cursos estilo MOOC
  • 41. Ciclo de adoção de novas tecnologias
  • 42. Referências recentes MOOC • Results from the First-Year Course MOOCs: Not there yet • http://m.cacm.acm.org/blogs/blog-cacm/168862-results- from-the-first-year-course-moocs-not-there-yet/fulltext • Udacity’s Sebastian Thrun, Godfather of the Free Online Education, chages course • http://www.fastcompany.com/3021473/udacity-sebastianthrun-uphill-climb
  • 43. Agradecimentos • Rubens Campos Machado – CTI Renato Archer • Letícia Rittner • Roberto Medeiros de Souza • André Luiz da Costa • Mariana Pinheiro Bento • Eduardo Trettel • Alunos do curso IA368U 2o. Semestre 2013 • Edson Zanini - Extecamp • Gláucia Lorenzetti - Extecamp • Institucional: • DCA – FEEC - Extecamp
  • 44. Conclusões - Discussão • MOOC é uma ótima oportunidade de experimentação sobre aprendizagem • MOOC é ótima oportunidade para preparar e organizar material didático • Infraestrutura para MOOC não é trivial: • Preparação de material didático • Comunicação aluno-aluno e professor-aluno • Acompanhamento • Avaliação
  • 45. • Maiores informações sobre Adessowiki • http://www.adessowiki.org • Contato: • http://faculty.dca.fee.unicamp.br/lotufo/