Bacharelado em Ciência da Computação

Os jovens saem do Ensino Médio, enlouquecem fazendo cursinhos pra passar no vestibular e entram num curso universitário sem saber o que isso significa.

Em primeiro lugar observo que o curso de Ciência da Computação hoje é o que o esteriótipo afirma: é um curso de viciados em jogos. Até aí tudo bem, cada um faz o que bem entende nos seus momentos de lazer.

O problema é que acredito que isso colaborou para viror um reduto de usuários de computador, pessoas que leram “Computação” no nome e pensaram: Eu gosto de mexer no computador, acho que este é o meu curso.

Our new mobile lab
Creative Commons License photo credit: Christy Tvarok Green

Vejo que os adolescentes que hoje entram em Ciência da Computação desprezam a matemática e não vêem sentido em provar as propriedades básicas dos números em disciplinas como Álgebra. Ouvi esses dias na minha sala de aula: Se nós já sabemos que funciona, pra que provar? São pessoas que entram num bacharelado sem vontade de estudar teoria.

A realidade que percebo, tanto na UFSC quanto no IME-USP, é decepcionante. E em muitas universidades o curso está mudando de cara pra satisfazer estes estudantes e não o contrário, como deveria ser. O IME-USP ainda tem um curso excelente, mas advinhe o que os alunos aprendem na primeira matéria do curso (chamada de Introdução à Computação)? Java e programação orientada a objetos. Eles aprendem classes e métodos antes de aprenderem operadores lógicos e laços.

Estou no curso errado? Prefiro pensar que não. Porque a definição está ao meu lado. Às vezes penso que o nome do meu curso deveria mudar, para não pegar desavisados que não procuram o que é antes de entrar. Deveria ser algo como Bacharelado em Ciência dos Algoritmos, Bacharelado em Matemática Discreta… não sei. Mas é claro que tudo isso seria besteira. Na verdade quem precisa mudar são as pessoas. Tanto as que entram no curso, quanto as pesoas em geral, que pedem favores pra cientistas da computação pensando que eles são técnicos de informática. Elas precisam pesquisar o que é o curso antes de entrar nele, precisam saber que Ciência da Computação é um ramo da matemática que existe desde muito antes da criação dos computadores digitais.

Acredito que todos que são capazes de passar na carreira da Poli na Fuvest são capazes de ler o primeiro parágrafo do texto da Wikipedia em português sobre Ciência da computação, que diz:

Ciência da computação é o estudo dos algoritmos e suas aplicações, bem como das estruturas matemáticas indispensáveis à formulação precisa dos conceitos fundamentais da teoria da computabilidade e da computação aplicada. Desempenha por isso um papel importante na área de ciência da computação a formalização matemática de algoritmos, como forma de representar problemas decidíveis, i.e., os que são suscetíveis de redução a operações elementares básicas, capazes de serem reproduzidas através de um qualquer dispositivo mecânico/eletrônico capaz de armazenar e manipular dados. Um destes dispositivos é o computador digital, de uso generalizado, nos dias de hoje, pelo custo reduzido dos componentes eletrônicos que formam o seu hardware.

Bom, é apenas um desabafo. Espero que ninguém se ofenda, e preciso torcer fortemente pra isso mesmo porque é certo que os ofendíveis são maioria. Pois ando percebendo que estou fora de moda. Revolto-me quando ouço um professor uspeano elogiar o Java, alegando ser uma linguagem moderna e maravilhosa porque aceita acentos nos nomes das funções enquanto o C é antiquado. Abandono a sala ao ouvir que hoje em dia classes são mais importantes do que laços e nomear corretamente funções é mais importante do que conhecer algoritmos.

Sem dúvidas o problema sou eu, que serei talvez um dos últimos Bacharéis em Ciência da Computação que sabe implementar uma estrutura de dados, afinal (sic) se o Java já tem um heap implementado para que reinventar a roda?

Talvez eu seja um dos últimos a lembrar e valorizar o trabalho de verdadeiros cientistas da computação como Edsger Wybe Dijkstra, que certa vez disse:

Ciência da Computação está tão relacionada aos computadores quanto a Astronomia aos telescópios, Biologia aos microscópios, ou Química aos tubos de ensaio. A Ciência não estuda ferramentas. Ela estuda como nós as utilizamos, e o que descobrimos com elas.

Precision knob?
Creative Commons License photo credit: gogoninja

Declaro-me a favor de um curso de Ciência da Computação onde os computadores sejam tratados apenas como ferramentas. Há outros cursos para quem não pensa assim e entra na universidade buscando uma formação sobre desenvolvimento ágil e produtividade. Não estou criticando quem busca isto. Porém, na minha opinião, estes definitivamente não deveriam entrar num curso chamado Bacharelado em Ciência da Computação.

Tags: , ,

14 Responses to “Bacharelado em Ciência da Computação”

  1. Wendel says:

    Por sorte quando eu entrei no IME-USP a primeira linguagem ainda costumava ser C (embora digam que um professor chegou a dar Introdução a Computação em LISP).

    E eu sou um dos que acha absurdo a pessoa fazer Ciência da Computação por achar que é “mexer com computadô” e reclama de ter matemática. Uma amiga contou certa vez que, ao mencionar que fazia BCC pra alguém, o alguém perguntou “você faz website ?” -_-

    Na época do vestibular eu optei por Ciência da Computação justamente por saber que era Matemática e também fazia uso de computadores. (e eu sempre gostei de matemática, desde pequeno).

  2. Schneider says:

    Eu acho que você está errado Tiago.
    Pra fazer computação é necessário saber jogar moedinha!
    O resto é resto! :)

  3. Lucas says:

    Aqui na UFRJ a primeira linguagem é C, mas parece que estão começando a pensar em mudar pra Python…

    Eu apóio a idéia, porque uma linguagem de nível maior abstrai bastante coisa e permite que o professor ensine “programação”, e não passe um tempão explicando como compila, dizendo pros alunos que metade das coisas que tão escritas ali eles devem aceitar por enquanto porque tem que ser assim, obrigar os alunos a usar debuggers pra ver onde é a porra do segfault, essas coisas do C. Mais tarde, em outra matéria, eles aprendem essas coisas todas; agora é hora de aprender a resolver problemas.

    Confesso que me sinto um pouco desconfortável em provar tudo, mas sei que o curso que eu escolhi exige isso e tento me acostumar com a ideia.

  4. Também me sentia meio frustrado com o andar da carruagem no IME. As pessoas dizendo que o curso deveria ser mais voltado ao mercado, mais direcionado a prática. Pô, a prática só se aprende na prática. Um cara que sabe provar a corretude de um algoritmo aprende a programar em .Net com as duas mãos amarradas e vendado. Esses anos de faculdade tem q ser aproveitados pra aprender BEM a teoria.

    Por coincidência Tiago, esses dias escrevi um post-revolta mais ou menos tocando nesses pontos, mas voltado pro mercado de tecnologia:
    http://tisimples.wordpress.com/2009/03/29/computacao-x-tecnologia-da-informacao/

    (morrendo de curiosidade de saber quem foi o professor que acha legal o Java por ter acentos…)

    • Concordo plenamente.
      Sobre o IME: se servir de consolo, nos outros cursos de Ciência da Computação que conheço o enfoque é ainda mais “Sistemas de informação”, e aqui ainda há um grupo de otimização combinatória fantástico…

  5. Paulo Victor says:

    Concordo contigo, Tiago. Aqui na Federal do Ceará também senti muito disso no começo do curso (e tive a mesma frustração), mas depois percebi que esse pensamento é mais coisa dos alunos. Pelo menos os professores daqui ainda valorizam muito a teoria.

    belo post, parabéns

  6. André Puel says:

    Tiago, muito bom o desabafo,
    pra complementar o que tu falou, deixo
    uma frase que eu repito muitas vezes:
    “Eu gosto de Computação e de Computadores”
    Fica bem claro a diferença. =D

  7. Sobre linguagens… Há um professor da UFPR que, numa discussão sobre a primeira linguagem de um BCC (numa aula equivalente a “Introdução a Computação”), defendeu o Pascal.

    A idéia dele é simples: o Pascal é uma linguagem que o aluno nunca vai usar (na vida real) e por isso vai se focar nos algoritmos e vai aprender realmente a programar, além de ser forçado a depois escolher e estudar uma linguagem por conta própria, sem a influência dos professores.

    De fato muita gente que começa aprendendo Java não aprende mais nada a vida inteira.

    Não é interessante?

  8. Trabalha com computador é tudo de bom! eu trabalho com isso e amo!
    fernanda!

  9. monografia says:

    É muito legal fica na fernte do computador, sabe é ótimo falar com os amigos! e para estudar então e tudo de bom!Isabella!

  10. [...] turma é do Bacharelado em Ciência da Computação no [...]

  11. Romulo Gadelha says:

    Excelente definição do que seria realmente a ciência da computação.Gostei bastante quando você falou que algumas universidades modificam o curso para ficar “a cara do aluno”. Nenhuma grade curricular deve estar dependente da boa vontade dos alunos de fazê-la. Gostou do curso, faça-o; não gostou, procure outro. :)

  12. Bom…não li todos os comentários mas gostaria de relatar (IMHO) que um dos principais problemas da alta desistência no curso de CC é a falta de conhecimento de quem entra. E para isso a SBC deveria agir e fazer uma campanha de informação do que é o curso do CC, SI ou Eng. da C. para alunos de ensino médio e sociedade em geral.

Leave a Reply

Powered by WP Hashcash