A questão são as questões

Posted in Ensino de engenharia de software on September 22, 2009 by José Augusto Fabri

Atualmente, para efetivar a contratação de um colaborador as empresas levam em consideração toda a bagagem das competências comportamentais de um candidato. Saber lidar com situações conflitantes, ser assertivo, comunicar-se muito bem com os demais colaboradores e, principalmente, utilizar de forma eficaz todo o know-how adquirido durante o processo de formação, são diferenciais importantes a qualquer profissional.

Contrapondo as expectativas das empresas, os cursos superiores, responsáveis pela formação do profissional, não detectam e desenvolvem as tais competências. É consensual que durante o período escolar o aluno é permeado por avaliações pontuais e “conteudistas”. A maioria dos professores considera que o momento da avaliação consiste em apenas aplicar aquelas provas que caracterizo como tradicionais. Nela o aluno deve responder questões objetivas ou de múltipla escolha, exemplo: Monte a tabela verdade para a expressão p v q ^ r e assinale a resposta correta. “Cá entre nós, esta questão avalia a competência do aluno?“

De posse dos fatos afirmo que, dentre os vários problemas inerentes ao processo de avaliação, encontramos o formato das provas, ou seja, a questão são as questões.

Para os cursos que trabalham as competências da engenharia de software, que tal elaborarmos provas que contenha outro formato… Neste post sugiro um exemplo.

O texto abaixo se caracteriza como um cartão de estória que deve ser implementado por um grupo de 3 alunos. Dois alunos irão trabalhar em par e o terceiro será responsável por garantir a qualidade na execução do processo e conseqüentemente a do produto. O processo de produção do software é caracterizado pelas seguintes atividades.

 a)       Projeto de software: Esta atividade possui duas tarefas

  1. Prototipação: é necessário materializar o protótipo do projeto.
  2. Estabelecer o modelo de classes que será utilizado no projeto.

b)        Planejamento de Produção – nesta atividade os alunos deverão:

  1.  estabelecer o tamanho do produto a ser desenvolvido.
  2. estabelecer o prazo em horas para o desenvolvimento do produto.

c)        Codificação: O software deverá ser codificado em JAVA respeitando as prerrogativas da orientação a objeto. Utilize a técnica de par-programming para executar essa atividade. Desenvolva o software respeitando o JAVA CODE CONVENTION.

d)       Teste:  Durante esta atividade os alunos deverão:

  1. Definir os dados de testes. Utilize para isto as técnicas de particionamento em classes de equivalência, a análise do valor limite e o teste funcional sistemático.
  2. Executar os testes.
  3. Apresentar formalmente o relatório dos testes.

e)       Gestão do projeto: A gestão do projeto é feita paralelamente a todas as atividades. O gerente deverá trabalhar diagramas de Gantt.  Esses diagramas devem apresentar a evolução gerencial do projeto.

f)        Gestão de Configurações: Todos os artefatos gerados devem ser geridos quanto a sua configuração – utilize para isto o cvs ou o subversion.

Tempo para desenvolvimento do programa: 16 horas

Após o desenvolvimento do programa, os alunos deverão elaborar um relatório que aponte as suas potencialidade e fragilidades perante ao processo.

O cartão: Quermesse (retirado do site da OBI)

Os alunos do último ano resolveram organizar uma quermesse para arrecadar fundos para a festa de formatura. A festa prometia ser um sucesso, pois o pai de um dos formandos, Teófilo, dono de uma loja de informática, decidiu doar um computador para ser sorteado entre os que comparecessem. Os alunos prepararam barracas de quentão, pipoca, doces, ensaiaram a quadrilha e colocaram à venda ingressos numerados sequencialmente a partir de 1. O número do ingresso serviria para o sorteio do computador. Ficou acertado que Teófilo decidiria o método de sorteio; em princípio o sorteio seria, claro, computadorizado.

O local escolhido para a festa foi o ginásio da escola. A entrada dos participantes foi pela porta principal, que possui uma roleta, onde passa uma pessoa por vez. Na entrada, um funcionário inseriu, em uma lista no computador da escola, o número do ingresso, na ordem de chegada dos participantes. Depois da entrada de todos os participantes, Teófilo começou a trabalhar no computador para preparar o sorteio. Verificando a lista de presentes, notou uma característica notável: havia apenas um caso, em toda a lista, em que o participante que possuia o ingresso numerado com i, havia sido a i-ésima pessoa a entrar no ginásio. Teófilo ficou tão encantado com a coincidência que decidiu que o sorteio não seria necessário: esta pessoa seria o ganhador do computador.

Tarefa

Conhecendo a lista de participantes, por ordem de chegada, sua tarefa é determinar o número do ingresso premiado, sabendo que o ganhador é o único participante que tem o número do ingresso igual à sua posição de entrada na festa.

Entrada

A entrada é composta de vários conjuntos de teste. A primeira linha de um conjunto de teste contém um número inteiro positivo N que indica o número de participantes da festa. A linha seguinte contém a seqüência, em ordem de entrada, dos N ingressos das pessoas que participaram da festa. O final da entrada é indicado quando N = 0. Para cada conjunto de teste da entrada haverá um único ganhador.

Exemplo de entrada

 4

4 5 3 1

10

9 8 7 6 1 4 3 2 12 10

0

Saída

Para cada conjunto de teste da entrada seu programa deve produzir três linhas. A primeira linha identifica o conjunto de teste, no formato “Teste n”, onde n é numerado a partir de 1. A segunda linha deve conter o número do ingresso do ganhador, conforme determinado pelo seu programa. A terceira linha deve ser deixada em branco. A grafia mostrada no Exemplo de Saída, abaixo, deve ser seguida rigorosamente.

Exemplo da saída

Teste 1

3

Teste 2

10

(esta saída corresponde ao exemplo de entrada acima)

Restrições

0 ≤ N ≤ 10000 (N = 0 apenas para indicar o fim da entrada)

Ao analisar a prova, percebemos que:

1 – o aluno deve possuir conhecimentos relacionados a processo de produção de software (algumas práticas imersas nos processo ágeis são delineadas).

2 – aspectos relacionados à usabilidade são avaliados quando solicitamos o protótipo do software.

3 – as macro-atividades da gestão de projetos – planejamento, execução e controle – são solicitadas pelo processo.

4 – padronização de código e conhecimentos relacionados a testes de software também permeiam o processo.

5 – a gestão de configuração é um aspecto que também deve ser avaliado.

6 – orientação a objeto e Java, conteúdos técnicos relacionados à programação e modelagem também são solicitados na prova.

6 – situações conflitantes, assertividade e a comunicação entre os membros da equipe caracterizam-se como aspectos qualitativos não técnicos, estes por sua vez DEVEM ser avaliados – uma boa deixa para o pessoal que trabalha com os aspectos relacionados aos recursos humanos.

7 – a elaboração do relatório, além de promover uma auto-reflexão do aluno frente a avaliação, pode expressar a forma de comunicação escrita do grupo – uma boa deixa para os professores de língua portuguesa.

É importante ressaltar que esse tipo de prova deve ser acompanhado por um grupo de professores. Fatores quantitativos e qualitativos que irão compor a avaliação devem ser bem delineados pelo grupo em um momento anterior a prova.

Por fim, gostaria de salientar que a configuração da prova e o momento de aplicação deve atender os conteúdos que compõem o projeto pedagógico (aqui apresento apenas um exemplo). A prova também não deve eliminar a avaliação individual do aluno, essa sim deve ser feita pelo professor durante o curso normal da disciplina.

Fica a sugestão…  

Abraços

José Augusto Fabri – fabri@femanet.com.br

Veja porque o Google é líder de mercado

Posted in mercado produtor de software on September 18, 2009 by José Augusto Fabri

Reportagem de Elisa Campos – publicado na íntegra na revista época negócios

O Google tem mostrado saber aproveitar as oportunidades oferecidas pela internet. Mesmo em meio a uma recessão mundial, a multinacional fechou o segundo trimestre deste ano com crescimento de 19%, alcançando lucro de US$ 1,48 bilhão. Entre seus trunfos, está seu quadro de funcionários altamente qualificado, tratado de maneira nada ortodoxa.

Já imaginou uma empresa que deixa você levar seu cachorro para trabalhar, fornece uma mesa de sinuca para jogos durante o expediente e lhe dá uma verba para decorar sua mesa e espaço de trabalho da maneira que quiser? E que ainda reserva uma sexta-feira por trimestre para os funcionários saírem juntos para se divertir? Bem-vindo ao Google.

A liberdade dos empregados é levada a sério na empresa. Cada funcionário pode gastar 20% do seu tempo, o equivalente a um dia por semana, para se dedicar a projetos pessoais.  “Não ficamos olhando se o profissional chega às 9h ou às 11h. Não precisamos, pois contratamos pessoas comprometidas”, diz Matsuo.

Outra preocupação da companhia é oferecer as mesmas vantagens a todos os funcionários — independentemente do cargo. A rede de benefícios vale para todos. O presidente da companhia tem exatamente o mesmo plano de saúde que qualquer outro empregado dentro do Google, assim como todos recebem participação nos lucros e ações da empresa.

“No Google, todos põe a mão na massa. Se o presidente da empresa quiser um café ou precisar de uma fotocópia, ele mesmo vai levantar e pegar”, afirma.

As políticas de benefício têm se mostrado eficientes. Nos quatro anos em que a empresa está presente no Brasil, apenas 3% de sua força de trabalho foi renovada, sendo que 2,5% pediram demissão para fazer mestrado ou doutorado.

Se o Google investe pesado na satisfação dos funcionários, a companhia também é exigente ao cobrar resultados. Ao lado de máximas como “Você pode ser sério sem um terno” e “É possível ganhar dinheiro sem ser mau”, a companhia coloca “Ótimo não é bom o bastante”.

O Google mantém um comitê responsável por avaliar o desempenho de cada profissional. É com base nas notas que são tomadas decisões relacionadas a aumentos, promoções e bônus.

Os 12 mandamentos

O processo de gestão utilizado pelo Google pode surpreender muitos executivos de recursos humanos por sua filosofia pouco comum. Ele é estruturado com base em 12 princípios:

1. Conheça profundamente sua equipe antes de fazer mudanças
2. Procure o consenso ao invés de impor decisões
3. Tome decisões claras e assuma a responsabilidade por suas ações
4. Você trabalha para sua equipe e não o contrário
5. Coloque a mão na massa
6. Compartilhe as informações com a equipe
7. Resultados têm maior impacto do que politicagem
8. Arrisque-se. O fracasso pode trazer grande aprendizado
9. Construa um bom relacionamento com seu time, para trabalhar bem em equipe
10. Encoraje a criatividade de seus funcionários
11. Independentemente da hierarquia, mantenha os canais de comunicação interna abertos
12. Crie um bom ambiente de trabalho

Processo de seleção

Com 22 mil funcionários no mundo, 200 deles no Brasil, o Google também não segue as práticas mais comuns ao fazer a seleção de seus funcionários.

“Tudo começa no recrutamento. Procuramos os melhores. O CEO da empresa, assim como os fundadores Larry Page e Sergey Brin, participam de 100% das contratações no Google. Olhamos tudo. Se o profissional se engajou em alguma iniciativa social, se pratica esportes, quais foram as notas que tirou ao longo da vida, a experiência em sua área de atuação etc”, fala Matsuo.

Não é de se estranhar que para preencher uma vaga o Google possa demorar até um ano. O sucesso no processo de seleção é baixíssimo: menos de 1% dos profissionais analisados são contratados.

Interessado em trabalhar no Google? “Procuramos pessoas curiosas, com vontade de aprender, que se sentem atraídas pelas coisas mais difíceis. É também essencial saber trabalhar em grupo. Eliminamos os candidatos muito individualistas. Existem pessoas que são inteligentes e bacanas, outras que são inteligentes e babacas”, diz o diretor de RH.

Outro critério levado em conta é a diversidade das áreas de formação dos funcionários. Para compor as equipes, são selecionados profissionais de todas as áreas. Na seção de análise de dados, trabalham, por exemplo, matemáticos, físicos, sociólogos e antropólogos.

A boa notícia para os interessados é que há vagas abertas para contratação no Brasil em todos os setores da empresa. A má é que elas não estão conseguindo ser preenchidas por falta de mão-de-obra considerada qualificada. Quer tentar?

 

 

Palestra de computação nas nuvens na FEMACon

Posted in FEMACon 2009 on September 14, 2009 by José Augusto Fabri

Pessoal, a professora Rita Cassiano (IMESA) ofereceu neste final de semana uma palestra sobre computação nas nuvens. Caso alguém  queira receber os slides da palestra envie uma mensagem para ritacassiano@femanet.com.br.

FEMACon

Curso de Ubuntu 9.04 na FEMACon

Posted in FEMACon 2009 on September 12, 2009 by José Augusto Fabri

A Tamires Alves e Fernando Morelli acabaram de ministrar na FEMACon o curso de Linux Ubuntu 9.04. Adquira o material utilizado no curso com a própria Tamires – ta_alvess@yahoo.com.br.

FEMACon

Robótica na FEMACon

Posted in FEMACon 2009 on September 12, 2009 by José Augusto Fabri

Imagem0056O professor Luiz Carlos Begosso (lbegosso@femanet.com.br) apresentará neste domingo, na sala temática da informática, como dotar um robot com movimentos básicos, vale a pena conferir.

FEMACon

Software desenvolvido pelo CEPEIN realiza sorteio automático para o torneio de futebol da FEMACon

Posted in FEMACon 2009 on September 12, 2009 by José Augusto Fabri

Imagem0060O Centro de pesquisas em informática da Fundação Educacional do Município de Assis desenvolveu um software para sortear automaticamente o confronto entre equipes nos mais diversos campeonatos. Na sexta-feira o software foi utilizado para sortear o confronto entre as equipes do torneio de futebol da FEMACon, vários alunos presenciaram na prática o funcionamento do produto. O software vem sendo utilizado nos jogos regionais do Oeste Paulista desde 2006. Venha para FEMACon neste sábado e confira… Para maiores informaçõe sobre o software entre em contato com Alex Poletto – apoletto@femanet.com.br

J. A.

Que tal aprender a desenvolver um jogo virtual

Posted in FEMACon 2009 on September 12, 2009 by José Augusto Fabri

Na FEMACon é possível aprender a desenvolver um jogo utilizando o game maker (www.yoyogames.com). Carlos e Rafael, alunos da FEMA ministraram nesta sexta um curso utilizando o referido software. Para maiores informações sobre o assunto entre em contato com a garotada via e-mail – carlos.eugenio.computacao@gmail.com, rcasachi@gmail.com.

Abraços

J. A.

Venha bater um penalti virtual na FEMACon

Posted in FEMACon 2009 on September 12, 2009 by José Augusto Fabri

desafiopenaltysIsso mesmo, na FEMACon é possíve bater um penalti virtual. Passe na sala temática da área de informática e confira. Se preferir entre em contato com o Thiago Andrade Marini (2 bcc – FEMA) – thiago.marini@hemogram.com.br e solicite uma cópia do jogo.

Abraços

José Augusto

FEMACon oferece curso de JavaServer Pages Standard Tag Library Actions

Posted in FEMACon 2009 on September 11, 2009 by José Augusto Fabri

Pessoal, o professor Domingos está ministrando neste momento um curso sobre JavaServer Pages Standard Tag Library Actions, acesse os slides do curso por meio do link: http://www.slide.com/r/LpMoslOh7D_NlE6vIbF0hAWJ1PbHmSYy?map=2&cy=wp.

O professor Domingos ministra aulas na FEMA, nos cursos de Processamento de Dados e  no Curso de Ciência da Computação a 20 anos.

FEMACon, pulverizando conhecimento.

Torre de Hanói

Posted in FEMACon 2009 on September 11, 2009 by José Augusto Fabri

A Torre de Hanói é um quebra-cabeça que consiste em uma base contendo três pinos, em um dos quais são dispostos alguns discos uns sobre os outros, em ordem crescente de diâmetro, de cima para baixo. O problema consiste em passar todos os discos de um pino para outro qualquer, usando um dos pinos como auxiliar, de maneira que um disco maior nunca fique em cima de outro menor em nenhuma situação. O número de discos pode variar sendo que o mais simples contém apenas três.

A Torre de Hanói tem sido tradicionalmente considerada como um procedimento para avaliação da capacidade de memória de trabalho, e principalmente de planejamento e solução de problemas. Vários professores utilizam a torre para iniciar as atividades nas disciplinas de lógica e programação.

Fonte http://pt.wikipedia.org/wiki/Torre_de_Hanoi.

Conheça a torre na FEMACon (sala temática da matemática). É possível obter uma cópia da torre e melhorar sua capacidade de memória em http://superdownloads.uol.com.br/download/25/torres-hanoi/.

FEMACon, trazendo inovações para você.