Trabalhos de programação - sugestões

Pois é galera…Um antigo professor universitário meu, da cadeira de programação veio hoje me pedir sugestões de trabalhos para dar aos alunos. Está colhendo sugestões para:
1-Ter algo original de modo que o aluno não consiga encontrar facilmente o programa pronto na internet.
2-Pensar em trabalhos que explorem as qualidades que o programador deve ter, mas que também expanda a visão da programação e a integre com outras disciplinas, preparando o programador para ter uma perspectiva sistêmica e abrangente da área.

Então…Algumas sugestões?

Ninguém mais suporta locadoras, lanchonetes e coisas do tipo em programação…

Qual o conhecimento que o aluno adquire matéria?

Se cada um fizer uma parte de um ERP no final terão um completo…

Vira e mexe aparece gente pedindo pra gente resolver exercício de aula. Primeira vez que alguém pede pra gente fazer o dever de casa do professor :stuck_out_tongue:

Agora sério, o professor que tem que bolar exercícios que explorem os assuntos que ele ensina. Se ele não for capaz disso, alguma coisa está errada.

Cara…Ele já bolou vários…Ele quer criar um repositório de idéias interessantes que possam sugerir desafios para habilidades específicas…
Me diz você…Quantos trabalhos realmente originais e interessantes você teve no curso?

Eu não vejo mal algum em um professor pedir para os alunos já formados sugerirem idéias para desafiar a capacidade lógica dos programadores iniciantes.

No mais…Locadoras e lanchonetes praticamente utilizam toda a lógica básica de programação…Ele poderia se contentar com elas…O problema é que são banais, não originais e tem toneladas de códigos na internet…

Pra falar bem a verdade, eu também não vejo - ele pode até mesmo saber onde errou e o que pode melhorar. Além disso, concordo totalmente que sistemas pra lanchonete, farmácia e imobiliária estão cada vez piores. Porém, dependendo da matéria, pode ser interessante fazer um sistema pra lanchonete - por exemplo, um sistema que se comunique com a matriz e que os dados sejam salvos diretamente lá e os produtos usem o código de barra. Enfim, dá pra sofisticar bastante um sistema desse tipo.
Qual a matéria que ele leciona? Se for Estrutura de Dados, ele pode mencionar alguma coisa do tipo, dado uma pessoa, uma labirinto e a saída. Ele deve sair do labirinto (da pra usar pilha). Ou ainda, um desfragmentador de disco (vai obrigar os alunos a entender como funciona o desgragmentador e ainda vai ter bastante lógica de programação envolvida).

Abraço.

É por aí que eu vejo a coisa também…
Cara, essa idéia do labirinto me ocorreu também…A matéria que ele está dando agora é programação 1, mas ele costuma dar sistemas distribuídos. Nessa segunda ele tem mais liberdade para exigir, o que resulta em projetos bem interessantes.

Ooo. Wumpus é clássico mesmo. Lembro-me de ter visto outro exemplo do robô, em que ele tem que empilhar as caixas de um ambiente, mas as salas estão com as luzes apagadas (é alguma coisa assim, no livro do Norvig também).

Acho que para Programação I não seria estranho dar alguns desafios de programação. Tem muita coisa facílima de resolver, mas também coisa que é bastante complexa (vide Zak Galou (que envolve Programação Dinâmica), Série de Tubos e Olimpíadas da maratona ACM ICPC de 2007 e os problemas Set e Vampiros da ACM ICPC de 2008). Além disso, os problemas das finais mundiais e da América Latina são bastante desafiadores de resolver.

Acho que pra treinar a lógica, não tem coisa melhor.

Ah! Esqueci de mencionar também: muita matemática. :slight_smile:

[quote=eclipso]Cara…Ele já bolou vários…Ele quer criar um repositório de idéias interessantes que possam sugerir desafios para habilidades específicas…
Me diz você…Quantos trabalhos realmente originais e interessantes você teve no curso?
[/quote]
A maioria dos trabalhos eram originais pra mim. Só isso já me bastava.

[quote=eclipso]
Eu não vejo mal algum em um professor pedir para os alunos já formados sugerirem idéias para desafiar a capacidade lógica dos programadores iniciantes.

No mais…Locadoras e lanchonetes praticamente utilizam toda a lógica básica de programação…Ele poderia se contentar com elas…O problema é que são banais, não originais e tem toneladas de códigos na internet…[/quote]
Eu também não vejo mal algum. A questão é que cada disciplina deveria ser específica o suficiente para ter exercícios voltados para o que ela ensina, não importando quão banais ou batidos eles sejam.

Grafos é um bom exemplo: a maioria dos problemas não é original e você acha toneladas de códigos na internet. E daí? Pra quem tá vendo pela primeira vez eles são bem interessantes e se um aluno vier com uma solução tirada da internet quem sai perdendo no final é ele mesmo.

Para as matérias de introdução a programação a coisa é mais tranquilo ainda. Tudo é novidade. Locadora, Lanchonete? Pouco importa. IMHO, se o aluno for inteligente não vai ser com o domínio da aplicação que ele vai estar preocupado…

Aparentemente você está ignorando a análise das propostas pela parte interessada no processo e resultado didático, o professor…A idéia aqui é um diálogo entre as partes do processo: aluno e professor. Um aluno que passou pelo processo sabe onde tal processo foi deficiente, seja na forma ou conteúdo. A iniciativa do professor é sondar esse tipo de conecimento tácito dos alunos de modo que ele possa apefeçoar o processo…Sugestões e idéias que partem de alunos a respeito de exercícios, acabam revelando uma série de informações ocultas a respeito da experiência dos mesmos em seu processo de aprendizagem…Esta iniciativa tem também o mérito de colher o feedback do processo. Num período em que a comunicação entre as partes de um sistema se mostrou vital para o funcionamento do mesmo e propulsora de constante manutenção e aperfeiçoamento do mesmo, ignorar esse tipo de diálogo é andar na contramão.

Sem dúvidas um professor não tem a obrigação de ser um pai para o aluno. Mas acho que um aducador preocupado com o resultado final da sua atividade - a educação dos alunos sob sua responsabilidade - não aceita essa posição cômoda…Um aluno que faz esse tipo de coisa, às vezes não entendeu exatamente a importância de certas coisas para o seu processo de educação e, num caso desses, o educador precisa intervir, propiciando um contexto em que não só a informação seja passada, mas a importância da mesma em seu contexto…

Não quero dizer que sistemas de lanchonetes não sejam ilustrativas para o exercício de certos conhecimentos…O que quero dizer é que talvez os alunos que já passaram elo processo possam indicar alternativas mais interessantes com idéias suas, que explorem os conhecimentos que eles gostariam de ter recebido, com a forma com a qual gostariam de ter recebido…

Penso em talvez dar aula na academia, por isso a àrea da educação me interessa e me leva a crer que, em certos aspectos, com o passar do tempo, as formas devem se adequar às necessidades…E acho o diálogo com as partes envolvidas uma das formas de se levantar as necessidades…E quando falo das partes envolvidas, no contexto da questão aqui levantada, não falo de calouros. Porque, em geral, eles não sabem o que precisam aprender…Falo de profissionais a atuantes na área, sobretudo educandos que já passaram pelos processos e que têm mais chances de indicar formas mais estreitas às necessidades de um atuante da área…Ou seja, falo de nós :wink:

A proposta é muito boa. Creio que a ignorei porque não vi a participação de nenhum professor aqui, o que seria vital para essa idéia funcionar.

De novo creio que ignorei essa intenção. De novo acho que o professor deveria participar para que não fiquemos no “esse exercício é chato, esse é legal”. Este tipo de retrospectiva é interessante, só que talvez aqui não seja o melhor lugar pra isso. Como você percebeu a maioria sequer conhece a matéria que o professor ensinou, então conseguir um feedback de qualidade ou um diálogo com o professor fica bem difícil.

[quote=eclipso]
E acho o diálogo com as partes envolvidas uma das formas de se levantar as necessidades…E quando falo das partes envolvidas, no contexto da questão aqui levantada, não falo de calouros. Porque, em geral, eles não sabem o que precisam aprender…[/quote]
Por outro lado quem terminou a matéria há anos provavelmente não lembra tudo que pensou quando ela terminou. Nesse ponto creio que ambas opiniões são válidas (calouro e formado), e é responsabilidade do professor colher estas “impressões frescas” por partes dos alunos também.

Eu também não vejo problema algum em o professor pedir sugestões de projetos aos alunos.
Na minha época fizemos o equivalente ao sistema de secretaria de uma faculdade, depois virou sistema gerenciador de pousadas. Como gosto da área de IA, acho interessante colocar algum problema envolvendo a utilização de agentes orientados a meta como esse do labirinto por exemplo. Mas o problema do wumpus é clássico e lembro de ver a implementação em Prolog na net.

Abraço.