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

Show de bola essa frase! :wink:

[quote=bobmoe]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.[/quote]
Curiosamente, hoje eu fui fazer uma avaliação fisica pra entrar na academia. O fulano me fez correr até meus olhos quase saltarem e meu coração bater a cerca de duas centenas de vezes por minuto. O que ele me explicou é que eles precisam saber até onde eu posso chegar, qual é o meu máximo, para montar um treinamento. Treinar leve não resolve.

Eu acho que o que a Bani e o Louds querem dizer é isso, que se a coisa tá facil demais, não resolve. E mesmo que essa situação que vc descreveu aconteça, VOCÊ deveria enfiar mais e mais a cabeça nos livros até a coisa se tornar dificil, exigente e trabalhosa.

Hoje, 6 anos depois de formado, sinto falta da minha faculdade não ter sido mais dificil, exigente e trabalhosa comigo. (exceto, um pouco, por Estrutura de Dados e Matemática Discreta).

Bom para simplificar a coisa.
Acho que falta informação para a galera que começa a graduação. Talvez as publicações e as empresas que atuam no meio, acabam buscando o profissional errado e subutilizando alguns cientistas.

Para o amigo que não se sente confortável com algorítmos matemáticos, o curso de CdC não é o mais apropriado.

Hoje existe um novo curso ( o antigo Processamento de Dados - reformulado) - Sistemas da Informação, que atende exatamente esse preceito.

Existe uma divisão clara no meu modo de entender, entre programadores que fazem abstração do negócio da companhia, compreendem frameworks e afins e sabem como utilizá-los a fim de promover o business e criadores de frameworks, linguagens; que estão num nível mais baixo, realmente fazendo uso de cálculo intensivo.

Então, respondendo a pergunta, o curso não tem muito cálculo, apenas você que está no curso errado.

Tente algo mais ameno como Sistemas da Informação, que aliás tem bacharelado até na Usp agora.

O mercado vai precisar de muitos especialistas tanto em negócios, que saibam programar, quanto cientistas que criam condições para estes trabalharem.

Na minha ótica, um não desmerece o outro. Isso é somente uma questão de afinidade profissional.

Kenobi Gehringer … heheeh :stuck_out_tongue:

Faço Computação Científica. O curso é praticamente matemática aplicada. Computação houveram algumas matérias espalhadas, como linguagem de programação (C / C++), estrutura de dados, engenharia de software, análise de algorítmos, etc. Mas mais de 60% do curso é matemática e mais matemática. Minha turma começou com 80 alunos. Hoje, 5 anos depois, estão se formando 12.
Dessa turma toda que desistiu, tirando os que realmente não tiveram condiçoes de continuar pagando, podemos classificar os restantes em dois grupos:

  1. Os que só gostavam da matemática e odiavam programar
  2. Os que gostavam de programar mas odiavam matemática.

Os alunos que ficaram são os que gostam das duas coisas.
Sinceramente acho que há certas coisas que são exageradas na faculdade, em relação à matemática, enquanto outras relacionadas à computação são negligenciadas, mas isso se deve ao fato de que a faculdade nao tem como adivinhar qual rumo você vai seguir na sua carreira, não há como preparar o aluno para tudo.
Mas dizer que a matemática não tem aplicação no dia a dia, sinto muito, não é verdade. Se um programador acredita que programar é ficar criando telinha e jogando dados de lá para cá a vida toda, não vai nunca chegar a criar algo realmente útil, não passará de mais um codemonkey servindo de escravo de um consultoria qualquer. Matemática está sim atrelada à computação, não há como separar as coisas. Não há como escrever algorítmos eficientes e provar que eles funcionam sempre sem matemática. Não há como realizar cálculos complexos, esqueça computação gráfica, esqueça sistemas para agendamento de tarefas e horários, enfim… continue apenas escrevendo cruds toscos para o bar do seu tio.

Eu vou me aprofundar em um assunto quando eu achar ele interessante e não quando ele é simplesmente exigente e trabalhoso.

Existem dois lados desta moeda.
É mais do que obvio que a matemática é a base da computação (sistema binário) assim como a física (porquê o sistema binário é o mais utilizado e tlv com o computador quântico isso mude). Os pais da computação como realidade prática são estes dois. Os pais da computação , como ciência em si mesma são provavelmente pessoas como Alan Turing e Claude Shannon.
É obvio que a matemática é muito mais que numeros, e poderiamos incluir nela coisas como a logica booleana e a criptografia.

A outra face da moeda é o uso da matemática por programadores nas suas aplicações. Excluindo aplicações numéricas sejam à fisica, à quimica ou qq outra ciencia quantitativa , à própria matemática ou a ramos e combinações da mesmas é raro numa aplicação ver o uso da metamática. Afinal, quantos usam numeros complexos para implementar um site? Usualmente os conceitos de soma e multiplicação são suficientes.

Contudo, a matemática é muito mais vasta de contas e está presente num simples conceito como identidade. Conceitos como identidade aprendem-se em matemática (até mesmo em filosofia) e é vital que um programador java conheça o significa desta palavra se quer implementar equals() hashCode() e Comparator como deve ser. Embora não pareçam estes construtos são matemática.

Normalmente se um algoritmo é resolvido matemáticamente ele é muito mais eficiente que um monte de if e while ( por exemplo, encontrar a soma de todos os numeros naturais de 1 a 100) e sempre devemos usar a forma mais simples possivel (Navalha de Ocam). Contudo, nem sempre é possivel e quase nunca em aplicações que não têm a ver com números.

A matemática é muito importante e é intrínseca à criação de programas, mesmo quando a aplicação não faz contas, mas é muitas vezes sobre-utilizada. Em muitos casos uma explicação simples é melhor que um teorema matemático. O teorema existe para termos certeza de alguma coisa, mas a explicação é necessária para sabermos que coisas é essa.

Eu fico imaginando que tanta matemática deve ter assim em um curso de computação para os alunos reclamarem – alguem tem que resolver o Átomo de Hidrogênio, Abrir os Componentes do Momento de Quadropolo Elétrico ou Calcular a Função de Partição de um Modelo Ising Unidimensional na faculdade?

A Matemática dá AGILIDADE mental – eu não vou usar o que eu sei de Mecânica Quântica no meu dia a dia mas o fato de já ter feito alguns kilômetros de contas e ter que encarar professores excêntricos pelo menos me ensinou a ver que nenhum problema é grande demais, basta paciência, estudar muito, procurar referências as vezes em artigos e muito, mas muito suor.

Só falta dizer que ler romances ou outros tipos de literatura é supérfluo.

[quote=peczenyj]…
Só falta dizer que ler romances ou outros tipos de literatura é supérfluo.
[/quote]
Paul Rabbit ainda é supérfluo, para não dizer, ativador de autofagia celular cerebral.

Conhecer matemática é fundamental, não consigo considerar um bom desenvolvedor que não saiba pelo menos o básico de matemática discreta, estatística e cálculo diferencial ( só lembrando que nesses termos, eu também não sou um bom desenvolvedor ).

Até!

acho que a matemática só contribui.

programação “herda” muitos conceitos da matemática.

No meu curso de sistemas de informação tem bem pouca matemática (enquanto eu fazia, agora eu desisti), tinha só matemática básica no primeiro período/semestre/fase e no segundo acho que era matemática financeira, algo do gênero. De resto não tinha nada de cálculo e afins ;b

Acho importante, eu sinto falta de não ter tido cálculo, acho algo realmente importante, tanto é que quando eu estava no quarto semestre eu tinha pegado um livro de cálculo pra estudar. As agregações “raciocínicas” (haha) que a prática de resolução de problemas de cálculo nos disponibiliza é de suma importância pra quem é desenvolvedor.

O tipo de matemática que aprendi ficava um pouco distante das aplicações comerciais que temos por aí.

Não descarto a importância dessa disciplina. Abre as suas capacidades e você se torna um bom resolvedor de problemas.

T+

CdC é um excelente curso pq abrange areas q outras nao abragem…
mas creio q a matematica deveria ser apenas um pouco mais focado a coisa e nao tao abstrata…

vejo pelo meu caso… eu fiz Teoria dos Grafos de manha que era com um professor focando unicamente na matematica nao fizermos sequer uma implementação era tudo no papel e tudo teoria matematica… resultado eu reprovei na materia e não aprendi nada… no outro semestre fiz a materia denovo mas com um outro professor pois mudei para o periodo noturno so que este professor dava as teorias matematicas dos grafos aplicado em algoritimos computacionais tanto como implementações e estudos de problemas envolvendo grafos sendo resolvido computacionalmente… sem uso de qualquer biblioteca ou algoritimo pronto… ate tinhamos que fazer tudo em C que nao tem estas regalhias…
então dai sim eu peguei gosto pela materia e aprendi ela de verdade…
acredito que se devem ensinar os conceitos matematicos da computação pois ela mesmo e uma ramificação da matematica mas devem especificala um pouco mais a area computacional aplicala em resolver problemas computacionais com o uso de algoritimos…

outro fator e a curva de aprendizagem do ser humano aquilo que vc aprende uma vez se não reforçado para frente vc não ira armazenar em sua memoria… o que adianta vc ter trocentas materias de matematica avançada que podem ajudar vc a resolver x problemas computacionais se no futuro vc nao tera contato mais com estas matematicas… dentro de 5 anos ira esquecer tudo que aprendeu de matematica avançada…

Eu faço sistemas tb …
meu curso tem calculo 1, calculo 2, estatística, fundamentos matemáticos para computação mais 4 ou 5 matérias que envolve matemática que eu não lembro. Quantidade de matemática varia de facul para facul.
Eu acho que vale a pena. me ajudo muito no desenvolvimento do meu raciocínio lógico .

na minha graduação, não tive calculo, mat. discreta, GA, mas tive Pesquisa operacional, calculo numerio e estatistica, o resto das disciplinas de exatas eram dedicadas à finanças. Quando fui desenvolver meu TCC sobre RNAs MLP aplicadas à economia, senti muuuita falta dessas disciplinas, às quais tive que comprar os livros e estudar. Por isso acredito que a carga matémática dos cursos de computação é eficiente, mas meu “sonho” é fazer como a Bani, uma nova graduação em matemática aplicada, ou até mesmo a pura.

Estudo Ciência da computação e tenho calculo 1, 2, 3 e 4 …
Curso voltado para pesquisas … Ensina as ideias e n a simplesmente mexer em ferramentas …

Por curiosidade, o que vcs chamam de calculo 4?

Equações Diferenciais? Transformada de Laplace/Fourrier?

[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]

Cara, você está disvirtuando os conceitos, lógico que um matemático da NASA irá precisar de computadores para fazer um cálculo “miseravão”, mas me diga, será que só a máquina sem ele estar lá para concluír o raciocínio necessario no estágio que ele chegou funcionará?

Você está trocando as coisas. Uma coisa é fazer cálculos, como que qualquer computador faz, outra é você saber o que fazer para que o computador possa calcular para você.

Favor, não disvirtuar os conceitos.

Acredite, até nisso poderá ver um pouco de matemática, já que minha esposa estudou uma materia que um dos especiialistas era matemático e filológo, então ele aplicou os conceitos de matemática na linguagem, e se pensarmos bem, algumas coisas podem ser assim.

Acredite, até nisso poderá ver um pouco de matemática, já que minha esposa estudou uma materia que um dos especiialistas era matemático e filológo, então ele aplicou os conceitos de matemática na linguagem, e se pensarmos bem, algumas coisas podem ser assim.[/quote]

Os simbolos empregados na matemática também representam uma linguagem, uma forma de comunicação.

O que muitos podem considerar como complicado é o advento da linguagem matemática ter um poder de expressividade que consegue ser densa e completa, simultâneamente.

Para o que uma determinada linguagem propõe, algumas são completas mas não são densas; outras são densas mas não são completas.

T+