Acho que calculo é só para exercitar o cérebro. Acho mais legal do que
muita coisa que tem no curso de Ciência da Computação.
Infelizmente não formam cientistas, pelo menos a maioria dos cursos no
Brasil não.
2008/5/20 Leonardo Kenji Shikida <shi...@gmail.com>:
--
Rafael Barbosa
Analista de Sistemas Web
Gradua Networks
akitaonrails: I was trying to answer a post in our local discussion list
akitaonrails: a young student just asked 'what's the purpose of
computer science, and more specifically learning calculus, graphs,
etc?'. Since you are 'the computer science company' maybe you can
answer better than me
Ninh Bui: sure
Ninh Bui: there are so many reasons actually
Ninh Bui: that I wouldn't even know where to start
akitaonrails: can you think of one that is blatantly obvious, meaning
'wow, of course, you're right' kind of stuff?
Ninh Bui: sure, but I'd better succeed when I know what he's
interested in
Ninh Bui: for example
akitaonrails: I can understand that professors do a poor job on
motivation, they just vomit differencials, integrals, limits and the
students gets clueless.
Ninh Bui: if you're into creating games
Ninh Bui: then in particular, calculus, discrete mathematics, linear
algebra etc... are _ESSENTIAL_ tools
akitaonrails: oh, you will talk about physics engines?
Ninh Bui: among many things yes
Ninh Bui: but for example, if you're interested in creating 3d engines
Ninh Bui: or just working with them
Ninh Bui: linear algebra is FUNDAMENTAL
Ninh Bui: without any knowledge of linear algebra
Ninh Bui: you wouldn't even get one step ahead
akitaonrails: but and outside of the gaming world, which is kind of
out of reality for most brazilians?
Ninh Bui: sure, let me think
Ninh Bui: what do most brazilians do?
Ninh Bui: with computers that is
akitaonrails: haha, web development, financials, corporate stuff
akitaonrails: we have no NASA here, sorry :-)
Ninh Bui: well ok, the most trivial reason I'd give for finances/
corporate stuff etc
Ninh Bui: would be that such courses would give you better insights on
how to model applications
Ninh Bui: that conform to their business rules
Ninh Bui: i.e. business rules are often comprised of complex mathematics
Ninh Bui: being able to understand them
Ninh Bui: is the first step
Ninh Bui: into modeling them into applications
Ninh Bui: the second step would be to optimize
Ninh Bui: (if necessary)
akitaonrails: sure, performance data, and data analysis in general
requires this kind of mathematics
Ninh Bui: yep
Ninh Bui: but more importantly
Ninh Bui: efficiency is something you can't just write off
Ninh Bui: during my time @ pricewaterhousecoopers we had 128 core
machines
Ninh Bui: that simulated a certain economic environment
Ninh Bui: such things can only be written if you have good
comprehension of mathematics
akitaonrails: right
akitaonrails: hey, you were able to do cool stuff in consultancy
Ninh Bui: I'm talking probability math here (a part of discrete
mathematics)
Ninh Bui: but also complexity theory
Ninh Bui: you need to be able to process your data as quick as you
can, because computation time is literally expensive on such machines
Ninh Bui: they eat up a whole lot of energy
Ninh Bui: well, consultancy gives you the opportunity to see diversity
Ninh Bui: in the line of work you do
Ninh Bui: but eventually, this diversity 'fades away'
akitaonrails: but any example of calculus itself that you can think of?
akitaonrails: I think statistics is easier to grasp nowadays
Ninh Bui: well, I don't think you should try to look it up in concrete
purposes for particular courses
Ninh Bui: because one has to understand
Ninh Bui: that each course has the ability to broaden your horizon,
i.e. let you look at a problem from a different view.
Ninh Bui: in calculus for example
Ninh Bui: you also have lambda calculus
akitaonrails: I agree, I was just trying to figure out a better way to
explain that :-)
akitaonrails: sure, the foundation of functional languages
Ninh Bui: and this of course has direct implications for functional
languages
Ninh Bui: yep
Ninh Bui: functional languages are pure in that they don't introduce
side effects (they can be simulated though)
akitaonrails: I wonder if any of our young generation here have ever
heard of Alonzo Church
akitaonrails: in languages like Haskell at least
Ninh Bui: yep
Ninh Bui: but you're seeing a huge surge right now
Ninh Bui: in people wanting to learn functional languages
akitaonrails: yes, mainly in the form of hybrid OO/Functional languages
akitaonrails: like Ruby or Scala
Ninh Bui: that's partially a result of the coming of better parallel
computing
akitaonrails: the problem is that this is not well publicized and most
people with of 'blocks' as eye-candy
Ninh Bui: one must understand that functional languages are, in
theory, not sequential
akitaonrails: yes, one important role for languages such as erlang
Ninh Bui: all operations that are specified
Ninh Bui: occur 'all at once'
Ninh Bui: and because we have no 'side effects'
Ninh Bui: we need not worry about racing conditions
Ninh Bui: all states have been well defined
Ninh Bui: but this you can only see
akitaonrails: even a loop is usually a recursion, not a usual loop
Ninh Bui: if you've had the proper math
Ninh Bui: yep, and recursion itself deserves some explanation as well
Ninh Bui: i.e. we need to distinguish a trivial case from a general case
Ninh Bui: etc....
akitaonrails: you should definitely write some posts like this: 'why
computer science?' :-)
Ninh Bui: again, you can only see this if you've had the proper
education
Ninh Bui: well, that's actually a really good idea
akitaonrails: most young students can't grasp that
Ninh Bui: the SQL derivation article could serve as the first
akitaonrails: yep
Ninh Bui: the fun part about this is after one has read the articles,
they can understand the fundamentals of LINQ as well
Ninh Bui: they're REALLY closely related to one another
akitaonrails: which is cool technology, I agree
Ninh Bui: well, ask the student this
Ninh Bui: what is a list?
Ninh Bui: a simple question right? :)
akitaonrails: haha, I get it
Ninh Bui: I'm curious to what he'll say
Eu sou formado em Comunicação Social, dirija-se ao próximo
participante da lista. :-)
De qualquer forma, acho que todo conhecimento é útil. Eu costumo
entender muito mais as motivações dos usuários do que todas as equipes
de TI em que já estive. A parte de design de interação e desenho de
interface quase sempre fica comigo por conta disso (nada contra).
Imagino que cálculo seja útil para games, processamento de sinais
(áudio, vídeo) e por aí vai.
FZ
E a Ciência da Computação deles é MUITO mais ciência do que a nossa.
Pelo menos os cursos famosos são animais! Aqui infelizmente tem aquele
papo de 'preparar para o mercado' que se resume em cuspir um cara que
sabe usar Java com Eclipse e olhe lá. Eu gosto do escopo de 'ciência
da computação' e fiquei bem decepcionado quando entrei no curso. Vou
voltar agora no segundo semestre para concluir mas é meio
decepcionante, principalmente se você já for um cara que 'sabe algo'
antes ao entrar.
http://www.joelonsoftware.com/items/2006/08/01.html
http://youtube/watch?v=j5-kKjOBekI
;-)
On May 20, 2008, at 5:42 PM, Allam Marcos Campanini Matsubara wrote:
http://video.google.com/videoplay?docid=5561140991117928923
On May 20, 2008, at 5:42 PM, Allam Marcos Campanini Matsubara wrote:
"There is no knowledge that is not power"
(Ralph Waldo)
http://thinkexist.com/quotation/there_is_no_knowledge_that_is_not/170655.html
Mas tb não segui adiante por falta de organização da faculdade.
Mas digo, que nenhuma matéria que a gente aprenda, não sirva... A gente
trabalha com tecnologia... E tecnologia existe em todas as áreas... Acabamos
aplicando algo... Sempre...
Até filosofia faz vc analisar o problema de uma outra forma como o Ninh
mesmo falou... Amplia os horizontes para que vc ataque o problema não apenas
pela visão do senso comum...
Abraço...
Eu vejo como vantagem! :)
Na minha opinião o calculo é importante para a nossa formação. Pelos
seguintes argumentos:
1 - O Cálculo estimula seu raciocínio, para resolução de problemas
mais difíceis.
2 - Para trabalhar em diversas áreas da computação como:
Processamento digital de imagem e vídeo, Games, Inteligência
Artificial, computação quântica, Criptografia e Robótica. E você não
quer ser mais um profissional nível superior usuário de ferramenta,
apertador de botão ou "code monkey" é bom se dedicar ao cálculo.
(Repare que eu falei explicitamente a "profissionais de Nível
superior", apesar de legalmente ainda não ter distinção, o cara
passar 5 anos na faculdade para sair fazendo só isso é lasca, e por
incrível que pareça é o que acontece muitas vezes.)
3 - Tem aquela história de "ciência como fim e ciência como meio".
Deve ser bom você poder escrever uma solução, e dar uma contribuição
para humanidade e talz. Nós usamos diariamente muitos algoritmos que
outras pessoas desenvolveram usando calculo para demonstrar
formalmente o seu valor. Em ciência da computação você de deve ser
capaz de demonstrar formalmente que a sua solução é adequada.
Tenho uma história, de uma fato semelhante:
Tenho um amigo que desenvolveu um sistema para fazer correlações em
cima de log de detecção intrusão (IDS) e inventário de rede, e esse,
numa entrevista de emprego para o Google, foi perguntado:
P: "Bicho, qual a complexidade do seu sistema?"
R: "Ehr ... "
Depois ele me falou que achava que nunca ia usar isso na vida(Apesar
desse deslize, esse cara é um dos caras mais competentes que eu
conheço, tanto profissionalmente quanto academicamente). Com cálculo
é a mesma coisa.
4 - Tecnologia "vai e vem". Quem aqui não tem, um livro de alguma
linguagem que já não usa mais (saiu de "moda")? Basic, Pascal,
Delphi ? Em calculo, o seu Guidorizzi, não vai ficar obsoleto nem tão
cedo. Cálculo é informação que vamos usar para toda vida não apenas
para computação. Se um dia você for escrever um paper, desse nível
internacional, qualis A, o que tem de código é só pseudo-código.
Agora o rigor matemático em cima do que for proposto é exigido na
nossa área (ver o portal Capes).
5 - Outro exemplo, meu pai. Tem 54 anos trabalha com Eletronica(Micro-
ondas, e radar) se formou com 23. Até hoje o velho se atualiza com
tecnologias novas como fibra óptica e laser, essas coisas, usando as
bases dele de calculo e física de 30 anos atrás.
6 - Se um dia você se interessar por outro assunto diferente de
computação tipo: Eletronica, Estatística, Economia, Mecânica ou
Física. Se enjoar de computação, existem outras possibilidades.
7 - Para projetar software de banco de dados(aquelas paradas de
algebra relacional, cálculo relácional), automação industrial,
computação vetorial ... programação funcional
em fim ...
n -
n -> oo
hehehe tem uma porrada de aplicações
Bom, essa é minha opinião : ]
Fugindo um pouco do assunto da thread, também me preocupo com a falta de interesse em linguagens funcionais. Estudei lisp agora na faculdade (e dei uma olhada em haskell também). É um ótimo paradigma, e mais eficiente em muitas situações. Como Akita falou, tomara que linguagens híbridas como Ruby tragam de volta as linguagens funcionais. A gente também estuda lambda calculus em Teoria da Computação (todo o estudo de Church, Turing, Gödel..), que é uma matéria que exige um *bom* conhecimento de álgebra.
PS: Quanto a análise estatística precisar de cálculo MCMLIV, não sei
não. Afinal nos cursos de pós em epidemiologia não tem nada muito além
do cálculo I, e epidemiologia é analise estatística pura.
é isso aí vinícius.
respondendo a discussão inicial da thread, essas matérias servem para
que o aluno desenvolva um feeling para resolução de problemas. um dia,
um algorítmo seu vai precisar dessas 'chatices'. daí sua importância.
se você já possui esse feeling para resolução de problemas matemáticos, ótimo!
--
Leonardo Faria
leonardofaria.net
Sinceramente, faculdade/universidade não foi criada para criar code-monkeys.. Para isso você tem cursos de certificação. Você não precisa de calculo pra programar, né? Mas você também não precisa aprender a criar um compilador, uma red-black tree, e tal, e ninguém reclama disso.
----- Original Message -----From: Gustavo mans0Sent: Wednesday, May 21, 2008 12:11 PMSubject: [rails-br] Re: OFF-Topic, Ciência da computação e Cálculo.
Talvez o problema seja que cursos de Eng de Software não seja tão difundido...
Não pode existir curso de Engenharia da computação porque não existe CBO para Engenheiro da Computação!
ps. ligar a tecla SAP :)
Ela não ensina, ela doutrina.
(...)
"outros querem criar novas linguagens, novos compiladores, novasplataformas. outros querem usar todo o conhecimento computacional praOlha, sério, o mundo GNU tá cheio de gente que faz isso e nem por isso
ajudar pesquisas em outras áreas como biologia, física, química,
astronomia, e usar a modelagem computacional pra simular situações,
analisar fenômenos e elaborar códigos computacionais para obter essas
soluções."
tem a formação acadêmica, tem sim *interesse* pelo assunto e corre
atrás para aprender como pode, coisa que não é tão prevalente nem no
meio acadêmico brasileiro.
Oh, sim, e quantos dos já Cientistas da Computação estão fazendo isso
aqui no Brasil? Melhor, nessa lista mesmo?
E curiosamente alguns desses não tem formação acadêmica, mas ainda
"uns querem reclamar que Rails não escala, outros querem fazer escalar
e da melhor forma possível."
assim o fazem.
(...)
"A distribuição normal é bastante importante pro estudo deComo eu disse, não passa muito além do calculo I.
estatística, certo? Não serve como exemplo de uso do Cálculo 1?"