Sobre o exagero de matematica nos cursos de computação

Matemática é importante.

Mas a do curso de Ciência da Computação na USP é um exagero, os fundadores do CAELUM podem responder com mais propriedade!

[quote=maquiavelbona]Se fazes um curso como Ciências da Computação (como o nome diz, ciência) ou Matemática Aplicada Computacional, é óbvio que a carga matemática vai ser grande, pois esses cursos não são focados para a área profissional e sim para a área acadêmica, diferentemente de um curso de Sistemas de Informação ou Processamento de Dados, que o foco é o mercado.

Já teve um tópico sobre isso aqui no fórum, vou procurar.

Adendo: Eu acho que falar que matemática “pouco ajuda” na vida profissional é uma visão míope da ciência e da profissão.

Até![/quote]

faço sistemas de informação e tenho matematica, calculo diferencial e integral, calculo numerico, geometria analitica, a msm coisa q em ciencia rssss eu acho bom ter, qdo o professor é bom huahahua pq os meus nao me ensinaram nda :frowning:

O problema é esse, se era para ser ciência era para ser o curso todo e não apenas duas materias, iniciação e TCC.
Cada matéria deveria ser uma visão ciêntifica dela propria, e não uma visão mecanica daquela ciencia. Não só é mecanica como desviculada do mundo.
E tambem a visão dogmatica da forma que é feita, que me lembra a carta do Richard Dawkins, falando do conhecimento religioso que é feito por tradição, autoridade e revelação.

[quote=rdgc]
Em relação ao tema do tópico, a matemática é a base da computação, logo, nos cursos de ciência da computação e engenharia da computação, vc tem que ter muitas matérias relacionadas a matemática e tbm física, engenharia elétrica etc.

Outra coisa, não tem como vc aprender Teoria dos Grafos no 3º ano do curso (+ou- 3º ano)se vc não tiver base matemática nem ter aprendido outras estruturas de dados que servem de base para estudar/implementar os algoritmos(filas, pilhas árvores).
flw![/quote]

Claro que a Matemática é importante para a Ciência da Computação.
O problema é forma de como isso é feito.

Ter um monte de materias de matemática e os alunos nem saberem para que vão usar é desanimador.

Acaba ficando muito distante da vida do aluno toda aquela matemática que não é usada para ele. A necessidade do conhecimento tambem é importante, saber o porque das coisas.

Essa visão estanque dos conhecimentos é que mata, essa educação bancaria como diria Paulo Freire.

Na verdade essa não é um problema da Computação mas de TODO o ensino.

[quote=felipeguerra]Matemática é importante.

Mas a do curso de Ciência da Computação na USP é um exagero, os fundadores do CAELUM podem responder com mais propriedade!
[/quote]

:?:
Um dos fundadores da Caelum justamente faz Matemática Aplicada na USP. Acho improvável que ele ache um exagero a carga do curso de Computação.

Grande parte da produção útil na computação depende de muita matemática. Dizer que um curso de CdC tem muita matemática é, no mínimo, ignorância.

Um profissional que vai apertar parafusos não precisa saber muito de matemática, tão pouco precisa do curso. Se este é teu futuro e objetivo, então desista da graduação e economize dinheiro.

Agora se você precisa desenvolver software que vai um pouco além da aplicação de manutenção de banco de dados, matemática vai ser completamente indispensavel. Dou exemplos aqui da utilidade para a grande maioria das disciplinas que os cursos tem:

Cálculo, séries são indispensáveis para implementar versões aproximativas de qualquer função matemática, implemente seno e cosseno sem saber taylor. Alguns problemas podem ser verificados com papel e lápis integrando e derivando suas devidas fórmulas. Como você calcula o ritmo de produção de um derivado dada a razão de extração dos seus insumos?

Algebra linear, uma enormidade de problemas podem ser resolvidos utilizando sistemas lineares. Sobre (mod 2) em especial no caso de criptografica.

Matemática discreta, não existe maneira de se dizer entendido em criptografia sem conhecer bem matemática discreta.

Álgrebra de boole e lógica, isso te ensina, no mínimo, como programar bem.

No meu dia a dia, a matemática da graduação costuma ser muito útil e gostaria de ter aprendido muito mais que a faculdade me ofereceu, que não foi pouco.

Achar que matemática é uma disciplina inutil para a computação é um exercício de ignorância e visão míope. Não conhecê-la é se condenar a inaptidão de resolver grandes problemas.

mas e meio controverso vc terque fazer calculos e expressões na mão coisas que vc pode usar o computador pra fazer pra vc… materias como calculo e mesmo matematica abstrata faz vc se matar no papel para resolver coisas que um simples algoritimo implementado mataria pra vc…
acho que a matematica deveria ser bem diminuida nos cursos e que elas deveriam ter unicamente o foco na algoritimica… sem precisar o homem fazer o papel da maquina e sim fazer o homem fazer a maquina fazer seu papel… concordo que matematica discreta ate que tem fortes fundamentos para a computação mas coisas do tipo calculo e fisica nao a fundamentos… como disse o homem deve fazer o papel do homem e a maquina o papel da maquina devem ensinar o homem fazer a maquina cuidar de seus problemas e não ensinar o homem a resolver os problemas da maquina…

Cara.

Eu sou novato na faculdade(4º semestre), em Java e programação em geral, e vou ter que discordar de você luistiagos. Matemática é importante sim. Talvez até exista um ou outro exagero, só que no fundo essas coisas sempre são importantes para saber, afinal , fica sendo um “acessório” a mais na sua maleta de conhecimentos, o que poderá ser importante em um futuro próximo(ou não, mas quem garante?).

Farei uma analogia aqui: Eu quando aprendi a mexer no Eclipse sabia do que o debugger fazia. Só que até a pouco tempo não o usava, ele era apenas um acessório a mais, do nada, em estrutura de dados comecei a usá-lo! Se tornando importantíssimo para eu entender diversos conceitos dos algoritmos! Pode ser uma analogia meio ‘boba’, mas acredito que seja a mesma coisa na carreira profissional: uma hora você está programando sob uma determinada plataforma e quando vê precisa de algo matemático que viu na faculdade mas estava ali na sua ‘maleta de conhecimentos’ até agora como um ‘acessório’.

Outra coisa, como assim? Cálculo não tem fundamento?

Minha matéria de cálculo III cobriu toda a parte de recursão que é muito importante em um monte de algoritmo e até tem um capítulo reservado no livro ‘Java Como programar 6º edição’ dos deitel só para isso, para recursão! Então por aí se vê que cálculo tem sim fundamento. E se você precisa fazer um programa aliado a um engenheiro eletrônico que vai tirar a área de algum tipo de estrutura? Você de repente pode usar integrais! Taí mais um uso de cálculo. Então não acredito que ‘não tenha fundamento’.

Acho que é fundamental matemática sim, a começar pela história das bases que é onde o ponto onde você começa a entender a computação. Talvez você esteja certo sobre algum ‘exagero’, tem coisas que realmente talvez você não irá usar, como física ou química, mas isso vai depender também o CAMINHO que vai seguir.

Penso que em geral um bom programador tem sim que ter uma noção braba de matemática a ponto de tentar entender os livros do Knuth da vida. Sem falar que apesar de você não usar a ‘física’, nunca se sabe amigo! E a química então? Também, nunca se sabe. Vai que uma empresa conceituada de física te chama para trabalhar ou uma empresa química? Aí ferrou se não sabe, né?

Abraço.

Vai que uma empresa conceituada de física te chama para trabalhar ou uma empresa química? Aí ferrou se não sabe, né?

ai que vc se engana… vai que uma empresa de medicina ou de adivocacia te chame pra trabalhar? dai entao teremos que saber medicina ou direito? acho que nao… acho que se uma empresa destas te chamar creio q eles terao um fisico ou um quimico para trabalhar junto com vc…
agora fisica nao e algo totalmente inutil… a fisica e bastante usada no desinvolvimento de jogos mas a fisica que trata dos movimentos e tals…
se algo deste tipo deve ter em uma graduação acho que ela devera ter um foco um pouco mais especifico… e nao uma completa abstração…
matematica ensina varios conceitos que vc usara ou melhor aprendera e se aperfeiçoara que outras materias te ensinam melhor… como recursão… o que e melhor que vc aprender a andar sobre arvores binarias para entender bem recursividade? ao invez de ficar se fudendo em uma folha tentando simular uma recursao por metodos numericos vc pode gastar sua energia produzindo codigos recursivos que sejam bem mais uteis… nao digo que a matematica é inutil na graduação mas sim que seu exagero e abstração são muitos… a computação é uma ramificação da matematica mas quem trabalha nesta ciencia não precisa ser um mestre em todas as outras ramificações que lhe seram pouco produtivas e so lhe dara dor de cabeça… creio que o maior problema seja a alta abstração da matematica ela não é voltada toda para ciencia da computação ela é uma abstração disso isto eu acho um absurdo…

Cara, não pense assim… apenas um simples exemplo: se vc continuar pensando assim, vc nunca vai saber como funciona as estruturas de dados, simplesmente porque todas já estão implementadas em Java… basta usar!

Ter que calcular uma derivada na mao e bem diferente que implementar uma lista vinculada…

creio que por justo isto a maioria das faculdades lecionam C ou pascal…
pq estas liguagens não tem nada prnto vc tenque arregaçar a manga e fazer vc mesmo as coisas…

[quote=louds]Grande parte da produção útil na computação depende de muita matemática. Dizer que um curso de CdC tem muita matemática é, no mínimo, ignorância.

Um profissional que vai apertar parafusos não precisa saber muito de matemática, tão pouco precisa do curso. Se este é teu futuro e objetivo, então desista da graduação e economize dinheiro.

Agora se você precisa desenvolver software que vai um pouco além da aplicação de manutenção de banco de dados, matemática vai ser completamente indispensavel. Dou exemplos aqui da utilidade para a grande maioria das disciplinas que os cursos tem:

Cálculo, séries são indispensáveis para implementar versões aproximativas de qualquer função matemática, implemente seno e cosseno sem saber taylor. Alguns problemas podem ser verificados com papel e lápis integrando e derivando suas devidas fórmulas. Como você calcula o ritmo de produção de um derivado dada a razão de extração dos seus insumos?

Algebra linear, uma enormidade de problemas podem ser resolvidos utilizando sistemas lineares. Sobre (mod 2) em especial no caso de criptografica.

Matemática discreta, não existe maneira de se dizer entendido em criptografia sem conhecer bem matemática discreta.

Álgrebra de boole e lógica, isso te ensina, no mínimo, como programar bem.

No meu dia a dia, a matemática da graduação costuma ser muito útil e gostaria de ter aprendido muito mais que a faculdade me ofereceu, que não foi pouco.

Achar que matemática é uma disciplina inutil para a computação é um exercício de ignorância e visão míope. Não conhecê-la é se condenar a inaptidão de resolver grandes problemas.[/quote]

Aliás sempre achei muito mecânico não só apertar parafusos como também aplicar fórmulas prontas dos livros.

Acredito que as instituições de ensino deveriam estar mais preocupadas em estimular a imaginação dos alunos (e isso desde o primário).

Segundo o próprio Einstein, imaginação é mais importante do que conhecimento!

Se vc pegar um programador em geral, eh muito raro q Cálculo, Álgebra Linear, Discreta e etc sirva de alguma coisa pra ele
No meu curso eu tive um pouco dessas matérias, mas a verdade é q passei e n aprendi nada

Os cursos ficam dando essas matérias nos primeiros períodos ai desistimula total os alunos, pq eles n tem a mínima idéia de como aquilo q ele ta aprendendo pode servir pra alguma coisa, fica muito chato
Se eu fosse pagar Cálculo e etc agora com certeza estaria bem + estimulado em aprender, pois sei um pouco da importância q elas tem em certas áreas da computação q eu me interesso

E como você vai produzir um método recursivo se não souber recursão?

E será que este algoritimo implementado que você citou brotou num jardim? Foi alguma mágica ou algum programador teve que escrevê-lo?

Como disseram antes, é uma questão de escolha mesmo. Se você não gosta de matemática e quer continuar na profissão, não procure empresas que trabalhem com aplicações que necessitam desta disciplina. Pode se especializar em interface gráfica, por exemplo. De qualquer forma, você está fechando sua visão e limitando suas oportunidades. E mesmo que você resolva se especializar em interfaces gráficas, vai precisar estudar muita coisa que também pode ser “exagero”.
A verdade é a seguinte: se quiser ser protagonista de alguma coisa, tem que estudar muito ou ser um baita inovador. Nenhum dos dois caminhos é fácil. É questão de escolha… se destacar ou ser um implementador fraco o resto da vida.

Sem teoria, a prática é sempre uma grosseira simplificação…

PS - acho matemática MUITO importante pro nosso futuro profissional (e português também ;))

Não confunda Ciência da Computação com Sistemas de Informação.

São cursos bem diferentes, cada um tem a sua finalidade.

NO FUNDO TUDO VAI USA MATEMÁTICA, SE NÃO GOSTA FAÇA LETRAS HAHAHAH

[quote]Aliás sempre achei muito mecânico não só apertar parafusos como também aplicar fórmulas prontas dos livros.
Acredito que as instituições de ensino deveriam estar mais preocupadas em estimular a imaginação dos alunos (e isso desde o primário).
[/quote]
Concordo, mas acho que quem devia “ensinar a pensar” era a escola básica e fundamental.Eu lamento de não ter pego a divisão entre o Clássico e Científico.Acho o meu conhecimento de Matemática medíocre, assim como o que eu aprendi na facul, rápido, orientado a decorebas, e sem precisão.E por essas e outras que eu tenho aqui um “CD do conhecimento”, que quando a coisa aperta, eu recorro a ele.

Complementando o que o Adolfo disse… mesmo que você pegue algoritmos prontos para tudo, você precisa ter um mínimo de noção de matemática e entendimento do algoritmo pra saber em que casos aquilo funciona, quando é estável, etc.

Porém eu concordo com o que os outros disseram que bem mais da metade dos cientistas da computação não vão realmente precisar usar matemática avançada, pois grande parte do mercado não está nesse tipo de coisa. E aí resta só o que eu falei na minha msg anterior: pensamento abstrato e mínimo de noção de complexidade.

[quote=luistiagos]mas e meio controverso vc terque fazer calculos e expressões na mão coisas que vc pode usar o computador pra fazer pra vc… materias como calculo e mesmo matematica abstrata faz vc se matar no papel para resolver coisas que um simples algoritimo implementado mataria pra vc…
acho que a matematica deveria ser bem diminuida nos cursos e que elas deveriam ter unicamente o foco na algoritimica… sem precisar o homem fazer o papel da maquina e sim fazer o homem fazer a maquina fazer seu papel… concordo que matematica discreta ate que tem fortes fundamentos para a computação mas coisas do tipo calculo e fisica nao a fundamentos… como disse o homem deve fazer o papel do homem e a maquina o papel da maquina devem ensinar o homem fazer a maquina cuidar de seus problemas e não ensinar o homem a resolver os problemas da maquina…[/quote]

Que disse que faculdade foi feita para ser fácil, ou tão pouco com atividades simples, banais e triviais? Isso é responsabilidade do emprego. A utilidade do aluno se esfolar praticando algorítmos no papel é uma só, memorização e aprendizado.

Neste ponto, lapis e papel ainda são insuperaveis, mande um aluno executar quicksort 5 vezes para vetores de tamanho 20 e mande outro implementar quicksort de 5 maneiras diferentes em 5 linguagens diferentes. Adivinhe qual vai ter aprendido melhor?

Quer moleza, vai trabalhar. Faculdade tem de ser dificil, exigente e trabalhosa. Não se aprende nada de realmente útil sem muito esforço.

[quote=louds]
Quer moleza, vai trabalhar. Faculdade tem de ser dificil, exigente e trabalhosa. Não se aprende nada de realmente útil sem muito esforço.[/quote]

A faculdade que você descreve parece mais instituição militar. Com um pouco de prazer em ensinar as instituições passam a ser lugares bem melhores do que esse que você descreve.

Melhores em que sentido?

Se algo não é difícil, é porque você já sabe, então você não está aprendendo nada. Se não é exigente, você se acomoda. E se não é trabalhosa, você esquece o que aprendeu logo depois da prova porque nunca praticou.

Até livro da Kathy Sierra vai te dizer que precisa se dedicar, colocar a mão na massa, etc.

[quote=Bani]Melhores em que sentido?

Se algo não é difícil, é porque você já sabe, então você não está aprendendo nada. Se não é exigente, você se acomoda. E se não é trabalhosa, você esquece o que aprendeu logo depois da prova porque nunca praticou.

Até livro da Kathy Sierra vai te dizer que precisa se dedicar, colocar a mão na massa, etc.[/quote]

Se algo não está difícil, pode ser q a explicação foi clara;
Se algo não é exigente, talvez seja vc gosta do que estuda;
Se algo não é trabalhoso, pode ser q vc encontrou uma forma simples de fazer.