terça-feira, 29 de março de 2011

DOJO na Faculdade Hélio Rocha - Relato de Experiência

Venho relatar minha experiência com os DOJOs que tenho realizando junto com os alunos da disciplina Desenvolvimento Web com Banco de Dados do curso de SI da Faculdade Hélio Rocha.

Já leciono essa disciplina pelo menos 5 anos, e o objetivo dela é passar para os alunos alguma tecnologia web. Iniciei com ASP, PHP e JSP. O primeiro semestre que ensinei, vi que deveria formatar a disciplina de alguma forma mais dinâmica e que, por mais simples que fosse, era bom reservar algumas aulas para passar as linguagens HTML, CSS e JavaScript, o que eu fiz a partir do segundo semestre que passei a lecionar.

Depois de alguns semestres tentando achar uma fórmula interessantes de ensino e após ler o livro Professores e Professauros, vi que a busca por tornar essa aula mais dinâmica era louvável, e, após ter os primeiros contatos com DOJO no Serpro e trocar experiências com alguns colegas que partilhavam dessa mesma visão, vi que para esse tipo de disciplina, não existe forma melhor de passar conteúdo e despertar o interesse dos alunos pela aula.

Minhas primeiras experiências com DOJO aconteceram esse ano assim que entrei no Serpro e talvez por minha falta de prática em TDD, ainda não estou adotando essa técnica da forma que preconiza a prática do DOJO.

O mais difícil na minha opinião é falta de contato dos alunos com programação, apesar de ser uma disciplina de final do curso.

Estou usando uma mistura entre o PreparedKata com o RandoriKata. Abaixo, segue o relato das primeiras aulas do semestre:

Na aula de HTML, sem muita novidade, fizemos uma tela usando div, table e forms.
Na aula de CSS, vimos as formas de usar folhas de estilo e como usar um framework CSS (Formee).
Na 1ª aula de JS, vimos as formas de colocar um script na página e o básico de DOM, fazendo algumas validações de formulário.
Na 2ª aula de JS, vimos os conceitos de JS OO e desenvolvemos uma pequena aplicação usando o GoogleMaps API.
Na 1ª aula de Ruby, não usei DOJO, pois, como a turma não tem experiência em desenvolvimento, fiz uma revisão de OO com Ruby.

Dia 25/03 foi a 2ª aula de Ruby, e a proposta foi fazer um Twitter4Dos (criar um cliente para o twitter que rode na linha de comando), usamos a gem "Twitter" (http://twitter.rubyforge.org/) e fizemos a aplicação abaixo, gostaria da ajuda de vocês para refatorar o código e quem puder ajudar com os testes, ficaria grato.

Propus aos alunos desenvolverem esse sistema usando o FxRuby para a próxima aula 01/04 e devo iniciar com Rails.

Segue código (obs: os atributos de config você pega cadastrando uma aplicação no twitter, solicitei ao twitter uma forma de fazer a aplicação usando usuário e senha, mas eles não deixaram):

require "rubygems"
require "twitter"

class TwitterDos

def initialize
Twitter.configure do |config|
config.consumer_key = "nonononononono"
config.consumer_secret = "nononononononno"
config.oauth_token = "nononononon"
config.oauth_token_secret ="nonononononnooono"
end
@client = Twitter::Client.new
end

def menu
puts "Twitter for dos"
puts "1- Postar mensagens"
puts "2- Ler mensagens"
puts "3- Mostrar seguidores "
puts "4- Sair"
puts "Escolha uma opcao"
escolha = gets().to_i
end

def mostrarseguidores
a = @client.friend_ids.ids.sort.each {|f|
puts Twitter.user(f).name
}
end

def postarMsg
puts "Digite msg: "
msg = gets()
@client.update(msg)
end

def listarTimeLine
a = @client.home_timeline
a.each { |t|
puts t.text
}
end

end

# PROGRAMA PRINCIPAL

t = TwitterDos.new
begin
opt = t.menu
case opt
when 1
t.postarMsg
when 2
t.listarTimeLine
when 3
t.mostrarseguidores
end
end while opt < 4


Sds,
Luciano (@lusabo)

Um comentário:

  1. Caso continue organizando Dojos na BA, gostaria de sugerir o site http://dojopuzzles.com/ com problemas de programação bons para serem utilizados em Dojos.

    ResponderExcluir