O que se deveria aprender numa faculdade de Tecnologia da Informação?
45 respostas
pcalcado
iquei pensando nisso após algumas threads. O que se deveria aprender numa facudlade dessa? Acho que apesar de algumas discord6anciasbásicas todos temos um curriculum comum para Ciência da Computação, mas e TI, PDD, Análise de Sistemas ou seja lá como chamam essa semana?
O que essa facudalde deveria incluir? Como deveriam dividir as áreas de conhecimento? Quem estes cursos procuram formar?
Quando eu estava na facudlade eu pensava bastante sobre isso e pensei em um modelo de 4 anos. Nos primeiros dois anos o aluno deveria aprender sobre lógica, matemática e sobre sua ferramenta principal: programas. Nada de aprender Java ou C#, um curso com foco nos dierentes paradigmas e como eles resolvem seus problemas, bem ao estilo SCIP mas pegando bem mais leve, exemplos que não envolvam tanto matemática e mais problemas de modelagem de domónio.
Nos quatro anos seguintes eles teriam uma boa introdução à como empresas funcionam (Capitalismo Moderno 101), tópicos de engenharia de sotware como aquiteturas e padrões e metodologias de desenvolvimento de software. Tudo com muitos exercícios práticos para validar e não deixar enerrujar o conteúdo dos primeiros anos.
Não sou educador acadêmico e não sei se isso é o ideal do ponto de vista de cosnrução do indivíduo mas eu recomendo esta trajetória para alguém que quer aprender desenvolvimento de sotware.
Talvez uma idéia melhor sobre sistemas corporativos e empresas de uma forma geral, sei lá, talvez eu esteja falando besteira, mas acho que às vezes as facu’s se preocupam mto na parte técnica (que não deixa de ser bom) e acabam por não dar uma visão de aplicações robustas no mundo real.
Eu dei a sorte de conseguir um estágio em uma empresa de automação comercial quando ainda estava no início do curso e isso me ajudou mto ao longo dele. Mas quando me formei, percebi que mtos dos meus colegas tiveram dificuldades de entrar no mercado até por falta de conhecimento específico em certos tipos de aplicação.
PS: Fiz C. Computação.
josenaldo
Talvez estes tópicos sobre determinados domínios pudessem sem aplicados em disciplinas opcionais. Assim, um aluno que se interesse mais pelo mercado, aprenderia os padrões de arquitetura mais comuns em aplicações empresariais, design patterns (talvez essa devesse ser uma disciplina básica. aliás, duas disciplinas.) como funciona uma empresa. Outros alunos, que quisessem seguir carreira científica, estudariam mais matemática, se aprofundariam em IA, Grafos e tópicos avançados de OO, por exemplo.
A idéia é dar uma formação básica para todos e uma mais especializada, nos dois últimos anos, para cada um, de acordo com sua área de interesse.
pcalcado
Josenaldo se eles querem estes tópicos com ênfase o que estariam fazendo numa faculdade de TI em primeiro lugar?
Proteu_Alcebidiano
Hum, como esse tipo de formação é “manjada” pelas universidades, creio que o que se deve aprender numa faculdade de TI possa ser focado nos erros mais cometidos por alunos. E sabemos que esses erros são muito mais voltados à organização do conhecimento para produzir produtos do que o estudo de casos práticos.
Só dando um exemplo, aqui no GUJ existe um longo tópico sobre ‘Códigos Toscos’ e praticamente todos os erros que aparecem ali são ocasionados por falta de organização/exposição de conhecimento.
Muitos programadores não possuem formação matemática adequada e trabalham na área. Muita gente não conhece e nem precisa conhecer tudo que é necessário. O que é imprescindível para evitar erros grosseiros como é visto no referido tópico de códigos toscos é saber usar o artifício da lógica, que é um cerne muito mais amplo que o da matemática.
Muitos profissionais que não usam cálculos de forma massiva e complexa (administradores, advogados, por exemplo) não deixam de usar da lógica para tomar decisões. E o que faz um bom profissional é organizar suas idéias para poder fazer a coisa certa. Não é a toa que existem várias matérias de lógica organizadas em cursos de filosofia e o curso de computação é enquadrado num curso de bacharelado, assim como o filósofo também o é.
Até que se poderia arriscar uma ementa para um curso que usa da lógica como ferramenta de trabalho (é isso que fazemos no nosso dia-a-dia, certo?) que reflita nossa realidade, alguma metodologia que descreva o que fazemos: Um aprendizado incremental e iterativo para organizar e estruturar nosso conhecimento no assunto.
Será que dá pra bolar uma metodologia semelhante ao XP aplicada ao ensino, e dar a fatia de tempo necessária para os tópicos que realmente importam?
Nesse caso, eu arriscaria em mudar a divisão desse tempo proposto pelo phillip em intervalos mais curtos e com um ciclo de revisão mais frequente. Tive alguns professores que ensinavam dessa maneira, posso dizer que aprendi porque não esqueci, eles sempre lembravam e linkavam a importancia da teoria para compreendermos porque existe a teoria e a prática, e porque a implementação de um modelo é um barco cheio de remendos se voce não organizar seu design em conjunto com o mesmo.
T+
josenaldo
HUmmm… Boa pergunta… rsrsrs
Isso me fez pensar… Estes tópicos que ambos citamos não seriam mais apropriados para a Especialização?
Acho que podemos especializar um pouco mais a questão do tópico:
O que está faltando e o que está sobrando nas faculdades de TI?
Proteu_Alcebidiano
faltando:
Universidades preocupadas em formar alunos competentes
Professores comprometidos a formar um profissional e não um macaco programador
Alunos que entendam que eles estão estudando para se aperfeiçoar, não comprar um diploma e reclamar de professores preocupados com boa formaçao.
sobrando:
Universidades que colocaram o negócio acima da responsabilidade de capacitar pessoas.
Professores sem moral e autonomia na sala de aula
Alunos irresponsáveis que se sentem no direito de não serem reprovados porque estão usando do seu dinheiro para comprar seu diploma.
T+
Adriano_Almeida
Proteu, IMHO a questão da lógica deveria ser um ponto que tem que ser abordado muito antes no ensino de um indivíduo. E quando eu falo antes, eu digo Ensino Médio. No entanto, não como matéria de técnico, mas sim como matéria de “núcleo comum”, como matemática, portugues etc. Lógica não é algo necessário apenas para programadores. É uma coisa comum a muitas áreas (quiça TODAS).
Portanto, minha opinião é essa, lógica deveria ser ensinado no ensino médio, como uma matéria a parte.
Com relação aos pontos que você citou que estão sobrando. Eu ainda citaria um que me incomoda bastante:
Alunos que só reclamam da vida e não gostam de estudar ou ler.
Conheço muitas pessoas com esse perfil, e que eles me desculpem, mas se hoje em dia você não tiver disposição para ler um bom livro de 500-600 páginas e em inglês, me desculpe, mas você nunca será bom. É comum ver caras que falam: “Ah, eu sei XXX (coloque qualquer linguagem aqui), porque eu vou precisar aprender outra coisa (uma metodologia qualquer, ex. Scrum, XP, DDD)”. Essa é uma mentalidade muito pequena e esse profissional está se gabaritando para vir um simples robô. (Talvez venha daí a idéia de que software esteja virando commodity, mas isso é assunto para outra discussão).
Philip, me permita dar como exemplo a faculdade que eu estudo. A grade curricular basicamente no primeiro ano (o curso é anual e de Sistemas de Informação) há lógica, algoritmos em C (que auxilia um pouco para evitar aqueles códigos toscos que o Proteu citou), cálculo, e há também matérias de administração, que dão uma boa visão de domínios diferentes, que se o aluno tiver interesse em se aprofundar pode agregar muito pro conhecimento dele.
No segundo ano é introduzido java como linguagem de programação, e aí morre o problema na minha opinião, orientação à objetos é muito mal dado nas faculdades (como foi dado para mim), e o cara sai fazendo código estruturado e funcional com Java, achando que está abafando.
Durante também no segundo ano ainda temos Engenharia de Sw, que é um apanhado geral de várias coisas, temos CMMI, CMM, RUP, XP, Scrum e também no final alguns conceitos como testes. Claro, NENHUM visto profundamente, mas os conceitos apresentados na época realmente condizem com a realidade do assunto.
É também apresentado no segundo ano estruturas de dados, como listas ligadas etc. (tudo em C).
No terceiro ano, engenharia de SW passa o ano inteiro falando de RUP (e acredite se quiser, o professor sabia que RUP não era Waterfall e até DESTACAVA isso quando falava, destacando sempre aquele gráfico clássico (http://dn.codegear.com/article/images/33319/RUP.JPG). Nesse período aprendemos UML (casos de uso, d. de sequencia, d. de classes, d. de estados etc).
Durante o mesmo terceiro ano, linguagem de programação passa para a Web, e utilizam Java para isso. Apresentam primeiro os conceitos básicos de aplicações action-based, servlets, tags e jsps (com muito “Smart UI” que Eric Evans me perdoe). Depois foi apresentado JSF, conceitos básicos de component based. Mas nessa altura os alunos já estavam em sua grande maioria perdidos, porque sentiam falta de orientação à objetos do segundo ano. E acredite, eu via muita coisa “estranha” sendo feita pelos alunos (de vez em quando até mesmo por mim).
No terceiro ano há uma continuação de estrutura de dados, com alguns algoritmos mais legais, como Djikstra para caminhos em grafos etc.
No quarto ano há Inteligencia Artificial, Comp. Grafica e uma matéria que gosto muito que é Empreendedorismo (afinal o curso é sistemas de informação).
Enfim. Minha conclusão é que falta apresentar aos alunos antes das linguagens de programação (java, .net ou seja lá o que for) os conceitos de OO. Pessoas saem da faculdade fazendo código procedural com java por que falharam em aprender OO (seja por culpa da faculdade ou seja por culpa deles mesmos que nao correram atras mesmo com a faculdade falhando em ensina-los).
Com relação a conhecer diversos domínios, acho que as matérias focadas em administração dão um bom entendimento disso, e no caso de Engenharia de SW no terceiro ano, tivemos vários exemplos de modelagens de domínios diferentes (claro que não seguindo DDD ou MDD, mas isso costumo dizer que é apenas questão de correr atrás do conhecimento, pois, com os conceitos básicos de modelagem (corretos) você consegue evoluir tranquilamente para conceitos mais complexos e interessantes).
Acho também que as faculdades estão formando robozinhos digitadores de código, que pouco se interessam por negócios e só se preocupam com código, código e mais código. Código não é tudo na vida, é legal, bom e tudo mais, mas sem um conhecimento de negócios e domínios, você apenas será um mero digitador.
Bom, devem estar faltando alguns acentos e vírgulas devem estar em locais errado, mas IMHO esse é o meu ponto de vista.
Abs.
[Editado] Tinha escrito “commodite” ao invés de “commodity” [/editado]
peczenyj
Seria interessante uma disciplina aonde os alunos tivessem que desenvolver novas features em cima de um sistema legado feito por uma consultoria 3 letras cheia de POG por todo o lado e abuso de singletons e varios comentários “NÃO APAGUE ESSAS LINHAS!”.
Dieval_Guizelini
Senhores,
devemos separar perfil profissional de conteúdo programático, para quem quiser, o MEC disponibilizou o catalogo nacional de cursos de tecnologia que deve ser o referencial da educação profisional superior, quanto aos cursos de bacharelados, existem as diretrizes curriculares que também delimitam e descrevem com clareza a formação.
Ps: Apenas lembrando, o MEC não possui poder de polícia… logo, quem assegura então o atendimento as leis?
Luca
Olá
Sou contra concentrar a teoria nos primeiros anos porque o curso fica com pouca motivação.
Sou a favor de que todos comecem com noções de hardware e de como a CPU processa cada instrução mas sem fazer como antigamente que se ensinava linguagens de montagem.
Sou a favor de que todos aprendam boas noções de rede. Falo tanto aqueles que pretendem seguir carreira de administrador de redes como os que vão desenvolver sistemas (todos se baseiam em redes)
Sou a favor de que todos aprendam sobre banco de dados, mesmo os que não vão ser DBAs
Sou a favor de que todos aprendam metodologias de desenvolvimento e gerenciamento de projetos, tantos os ágeis como os outros.
Sou a favor de que todos aprendam linguagens como Java e C#, mas também Ruby, Erlang, Scala, Haskell, etc.
Sou a favor de que frameworks como Rails, Spring, etc. não façam parte do curriculum obrigatório mas que sejam ensinados em cadeiras opcionais ou extra curriculares.
Sou a favor de que todos aprendam um mínimo de matemática e que tópicos especiais sejam sejam ensinados em cadeiras opcionais ou extra curriculares. Mas lembro que saber matemática é fundamental em algumas áreas, inclusive para fazer joguinhos.
E quer a faculdade estimule a leitura de bons autores e que tenha uma boa biblioteca disponível aos alunos (mas sem permitir xerox).
É o que me lembro por enquanto
[]s
Luca
Adriano_Almeida
É interessante, pois, estou no último ano e existem alunos na minha sala que não sabem normalizar um banco de dados. E olha que não são poucos e a maioria dessas pessoas dizem que trabalham com desenvolvimento de software.
Ahhh, antes que eu me esqueça… essas pessoas trabalham numa empresa de 3/4 letras.
Luca:
E quer a faculdade estimule a leitura de bons autores e que tenha uma boa biblioteca disponível aos alunos (mas sem permitir xerox).
Isso é um problema em faculdades que não são específicas de informática (apesar que nelas também podem ocorrer). Muitas bibliotecas possuem disponíveis apenas títulos de outros cursos ditos mais populares, como direito, letras etc. As vezes, sobra só uma pequena seção no fundo do corredor aonde caem goteiras com os livros de informática.
Isso não é curso, é terrorismo! Provavelmente o aluno desistiria do curso na hora, a faculdade perderia dinheiro e fecharia e não existiriam mais cursos superiores de informática. Que tal? (Talvez até seja bom ).
Mas acho que seria interessante o acompanhamento de perto do professor da dita cuja matéria que envolve desenvolvimento dos alunos e sempre que fossem vistos códigos tenebrosos, ensinarem os alunos a refatorarem-os. Isso sim seria muito mais proveitoso!
É importante ensinar pro alunos que refatorar não é perda de tempo e quebrar o mito de que uma vez que o código funciona ele nunca mais deverá ser alterado.
J
javaman00
pcalcado:
iquei pensando nisso após algumas threads. O que se deveria aprender numa facudlade dessa? Acho que apesar de algumas discord6anciasbásicas todos temos um curriculum comum para Ciência da Computação, mas e TI, PDD, Análise de Sistemas ou seja lá como chamam essa semana?
O que essa facudalde deveria incluir? Como deveriam dividir as áreas de conhecimento? Quem estes cursos procuram formar?
Quando eu estava na facudlade eu pensava bastante sobre isso e pensei em um modelo de 4 anos. Nos primeiros dois anos o aluno deveria aprender sobre lógica, matemática e sobre sua ferramenta principal: programas. Nada de aprender Java ou C#, um curso com foco nos dierentes paradigmas e como eles resolvem seus problemas, bem ao estilo SCIP mas pegando bem mais leve, exemplos que não envolvam tanto matemática e mais problemas de modelagem de domónio.
Nos quatro anos seguintes eles teriam uma boa introdução à como empresas funcionam (Capitalismo Moderno 101), tópicos de engenharia de sotware como aquiteturas e padrões e metodologias de desenvolvimento de software. Tudo com muitos exercícios práticos para validar e não deixar enerrujar o conteúdo dos primeiros anos.
Não sou educador acadêmico e não sei se isso é o ideal do ponto de vista de cosnrução do indivíduo mas eu recomendo esta trajetória para alguém que quer aprender desenvolvimento de sotware.
Então amigo…
Da uma pesquisada melhor…
Não tinha necessidade de abrir outro tópico… Apenas comentava em algum dos muitos ja criados
Os conceitos dos tópicos são diferentes. No tópico do link é feito apenas uma comparação entre os cursos. O intuito desse, ao menos no que EU entendi, é sugerir melhorias nas grades dos cursos e o que se deve ser aprendido nos mesmos.
peczenyj
Mas eu faria essa cadeira amarradão. :twisted:
J
javaman00
Você mesmo já respondeu…
Sinceramente apenas um complemento de um mesmo assunto. Nada mais!
Amanhã Verdão na liderança!
Luca
Olá
Desculpe mas discordo. Neste tópico estamos discutindo o que as faculdades deveriam ensinar seja lá com qual nome o curso tiver.
Mas quero deixar claro que minha opinião neste tópico se refere a quem cursa uma faculdade e não apenas um curso de 3 anos para se formar tecnólogo. Na Argentina o curso de uma faculdade de TI dura 6 anos.
[]s
Luca
pcalcado
Ninguém aqui está comparando uma coisa com outra, pelo menos não é o intuito. A questão é discutir ma rade para um curso não saber de um “versus” o outro.
J
javaman00
pcalcado:
javaman00:
Você mesmo já respondeu…
Sinceramente apenas um complemento de um mesmo assunto. Nada mais!
Ninguém aqui está comparando uma coisa com outra, pelo menos não é o intuito. A questão é discutir ma rade para um curso não saber de um “versus” o outro.
Entendi… Inclusive, concordo que a grade dos cursos de hoje é uma verdadeira piada!
No mais… Quem quer entrar no mercado mesmo tem que ficar de olho na melhor grade e fazer um tecnologo.
Acho que é a melhor saida… sei lá…
marcelomartins
chegando atrasado (de novo).
Além do que já falado no tópico, acho deveria ter nos cursos de tecnologia da informação:
:arrow: Matemática. Aquela que deixa o magrão pirado de tanto número. Aquela que seleciona quem vai ser dar bem na área do que não tem condições de exibir um diploma. Matemática é fundamental para area de TI, quanto mais melhor. Cada vez me convenço mais disso.
:arrow: Administração de empresa
:arrow: Vendas. Muito, afinal, o cara vai querer ganhar um dinheiro depois de formado né!
Emerson_Macedo
Matemática++
antoniopopete
Deveriam existir algumas matérias opcionais/extra-curriculares e não o modelo estático que existe hoje com a grade amarrada e que demora anos para a faculdade reformular.
Acho que todo profissional de TI, deve ter uma formação mínima de lógica (até os administradores de rede, para criar seus scripts), redes, sistemas operacionais, arquitetura de computadores e engenharia de software (em muitas faculdade, isso aqui, pincela apenas o modelo de desenvolvimento em cascata e só!).
Falta uma constante atuailização do conteudo ensinado, dos professores, existem professores que apresentam o mesmo slide a mais de 4 anos.Acho absurdo na área de TI, isso acontecer.
Livros?Seria tão bom se a faculdade usasse o dinheiro que ela diz que aumenta para melhorar a estrutura comprando livros realmente bons e que o acervo fosse renovado periodicamente…
Bem, falta também em grande parte interesse dos colegas em se formarem bons profissionais, e o nível das faculdades esta despencando na velocidade da luz, pois as faculdade particulares que são dificieis de formar, tem um exodo grande.E acabam se adaptando ao mercado “abrindo as pernas” e facilitando a vida de todos…
Laercio_Queiroz
Interpretar, contextualizar, questionar!
Parece bobagem,… mas não é!
[]s
C
cmoscoso
Capacidade de abstrair conceitos, modelagem conceitual…
editado: e não apenas a ultima linguagem da moda!
rodrigoallemand
Chegando atrasado, mais uma vez tb…
Bem, uma vez eu estava falando com um amigo meu que é dono de um colégio. Ele estava querendo fazer uma faculdade focada em alguma cadeira, especificamente, como a ESPM em Mkt… Bem, ele me questionou sobre como andava o mundo de Ciência da Computação e a minha resposta foi “Em faculdades?!? Uma merda!”… isso foi a 3 anos e eu ainda tenho a mesma ideia. Os professores estão ficando pra traz nas tecnologias… ainda existem professores muito bons, mas antiquados!
A minha ideia a ele foi especializar o curso de Tecnologia da Informação tendo com base os cursos de engenharia, onde inicialmente todos aprendem o básico pra depois seguirem uma especialização… neste exemplo todos fariam as cadeiras básicas da faculdade (metodologias, modelagem, algoritimos, etc) e depois cada um iria se especializar (desenvolvimento, DBA, Analista, Gerente). Alem do mais, matérias eletivas deveriam existir para especializar mais ainda o aluno.
Acho que o legal de ter uma Escola Superior de Tecnologia da Informação é ter uma peneira grande na entrada dos alunos, provas de alto nivel, esquemas de estudos mais dinâmicos, um mix de “aula tecnica” e “aula prática” mais bem elaborado, professores atualizados e, se possivel, empregados (isso força bastante a reciclagem de conhecimento), workshops, feiras, palestras, etc, etc, etc.
A ideia não foi pra frente, mas acredito que, se existisse dinheiro, seria uma das coisas que eu iria investir!
bsmachado
Olha, deveria focar mais no desenvolvimento de software, gestão de Projetos e incentivar a Iniciação Científica…
D
djemacao
marcelomartins:
chegando atrasado (de novo).
Além do que já falado no tópico, acho deveria ter nos cursos de tecnologia da informação:
:arrow: Matemática. Aquela que deixa o magrão pirado de tanto número. Aquela que seleciona quem vai ser dar bem na área do que não tem condições de exibir um diploma. Matemática é fundamental para area de TI, quanto mais melhor. Cada vez me convenço mais disso.
:arrow: Administração de empresa
:arrow: Vendas. Muito, afinal, o cara vai querer ganhar um dinheiro depois de formado né!
Plena concordância. :thumbup:
Kenobi
Luca:
Olá
Sou contra concentrar a teoria nos primeiros anos porque o curso fica com pouca motivação.
[]s
Luca
Luca, olhando para essa colocação acho que seria a de maior impacto. Pois muitos que estão com 10 anos hoje na área, começaram estudar matemática e levar à sério alguns anos depois, até depois da formação.
A motivação é o melhor caminho para um bom aprendizado e talvez essa seja a maior lição que os educadores precisam aprender !
luistiagos
acho que não deveriam ensinar nada relacionado a metodologias de desenvolvimento de software pois isto sempre muda isto sempre e diferente e qse nada q vc aprende na faculdade sobre isto vc usa… acho q deveriam ensinar os “alicerces” destas metodologias uma base geral nada muito especializado… tbm deveriam ensinar nada ou qse nada de materias referentes a matematica com exeção a logica matematica e estatistica que é fundamental para o aluno… o resto deveria ser ensinado atravez de problemas que se tem e teve na vida real para buscar sempre uma solução computacional a determinado problema de determinada area… não perder tempo com teorias e mais teorias a coisa deveria ser mais focado a pratica e não a teorias tendo somente a teoria como forma de resolver x problemas computacionais…
pcalcado
Essa coisa de matemática e teoria é interessante.
Existe um nível básico que todos deveriam saber antes de colocar curriculum na rua -e a maioria não tem idéia-, mas depois que passa disso só com interesses específicos. Eu sempre negligenciei a teoria do design de linguagens de programação e consegui realizar trabalhos razoáveis nos últimos 8 anos, agora surgiu o interesse e eu estou estudando e correndo atrás. O básico que eu estudei nos últimos tempos me foi suficiente e agora eu estou voltando para entender conceitos mais avançados.
Se eu tivesse estudado à exaustão estes conceitos em 2001 será que eu teria tão menos material para estudar em 2008?
Luiz_Aguiar
Minha faculdade por exemplo, FATEC - Processamente de Dados, embora tenha tido muita programação, não focava formar programadores/desenvolvedores:
3 semestres de Adm
1 semestre de direito, sim, direito
3 semestres de BD
2 semestres de redes e microinformatica
4 semestres de análise (desde uml à OO e muitos conceitos de arquitetura e metodologias)
4 semestres de matemática (odeio e passei colando rs)
3 semestres de logica
1 semestre de economia (acho pouco)
1 semestre de lingua portuguesa e inglês (tbm acho pouco)
2 semestres de exposição de trabalhos diversos e debates
e mais umas porcarias jogadas que não lembro.
Acho que tudo vai do foco da formação, se o foco é formar desenvolvedores, a grade tem que ser uma, se o foco é outro, não tem porque ter muitas coisas já citadas aqui.
O que mais gostei da minha faculdade foi exatamente sair sem ter a menor visão de ser apenas um digitador, e sim ser um “executivo” de TI, não veio outro termo na cabeça então usei esse tosco mesmo, por isso esta entre aspas rs
luistiagos
esse curso de PD da FATEC não sei o que se relaciona mais uma coisa e certa não tem nada haver com a area da informatica…
Luiz_Aguiar
Seria algo mais digamos assim, gestão de TI… mas com matérias mais técnicas como programação, redes e blablaba. Mas de nome ele forma Tecnologos, que equivale a analiste de sistemas dos outros cursos.
Kenobi
pcalcado:
Essa coisa de matemática e teoria é interessante.
Existe um nível básico que todos deveriam saber antes de colocar curriculum na rua -e a maioria não tem idéia-, mas depois que passa disso só com interesses específicos. Eu sempre negligenciei a teoria do design de linguagens de programação e consegui realizar trabalhos razoáveis nos últimos 8 anos, agora surgiu o interesse e eu estou estudando e correndo atrás. O básico que eu estudei nos últimos tempos me foi suficiente e agora eu estou voltando para entender conceitos mais avançados.
Se eu tivesse estudado à exaustão estes conceitos em 2001 será que eu teria tão menos material para estudar em 2008?
Exatamente o ponto que quis comentar. Muitos de nós começam a “perceber” o valor após muitos anos de estrada e nem todos querem descer a esse nível.
Você pode perfeitamente direcionar sua carreira profissional para um nível de abstração maior, como conhecer bastante o negócio e utilizar a linguagem-frameworks para implentá-la.
Atualmente estou estudando coisas interessantes como Virtual Machines, pois me interesso pelo assunto. Comprei livros a este respeito e estou acompanhando alguns projetos, e tentando estar apto à ajudar em projetos. Mas meu nível de aprendizado (bits e bytes) começou a se intensifcar nos dois últimos anos, após mais de 10 anos de estrada, comecei a querer saber mais sobre funcionamento das coisas “por dentro”.
Acho que esse é o caminho mais natural e o input de querer aprender tem de partir do profissional.
A base tem que existir, concordo com isso, mas alguns cursos bombardeiam o aluno e a taxa de desistência é extremamente elevada.
Muitos também acabam pegando ódio mortal pela matéria e nunca irão voltar a estudar novamente, o que é uma pena…
Emerson_Macedo
pcalcado:
Essa coisa de matemática e teoria é interessante.
Existe um nível básico que todos deveriam saber antes de colocar curriculum na rua -e a maioria não tem idéia-, mas depois que passa disso só com interesses específicos. Eu sempre negligenciei a teoria do design de linguagens de programação e consegui realizar trabalhos razoáveis nos últimos 8 anos, agora surgiu o interesse e eu estou estudando e correndo atrás. O básico que eu estudei nos últimos tempos me foi suficiente e agora eu estou voltando para entender conceitos mais avançados.
Se eu tivesse estudado à exaustão estes conceitos em 2001 será que eu teria tão menos material para estudar em 2008?
Eu concordo com você. E mais, tem algumas coisas que são totalmente desistimulantes. Ex: Você faz uma cadeira de matemática XYZ sem saber onde aquilo serve na computação. Acho que todo mundo já passou por essa situação e fez a famosa pergunta: Pra que isso vai me servir em computação? E ai o professor sequer sabe te responder.
Claro que tem muitas coisas que agente não sabe pra que serve mas tem fundamento. O ponto é que quando você estuda alguma coisa é legal ter a noção da utilização deste conhecimento para te estimular, pois caso contrário se torna tão chato que você acaba largando de mão.
leofernandesmo
Exigir inglês fluente…
(Quase impossível, precisaria reformular o inglês dado nas escolas).
Antes de mais nada além da discussão do que deveria ser dado acho interessante TENTAR mover algumas palhas para isso acontecer.
Discutir isso num fórum fechado é legal, mas colocar isso num degrau acima onde mais pessoas pudessem ver era melhor.
Todo mundo pensa no individuo: “Se eu estou bem empregado, então o resto que se fo…”
No entanto se pensássemos mais no bem coletivo o Brasil todo ganharia.
Acho que é isso…
marcelomartins
Acho que sim. A cada dia somos inundados com coisas novas. Se faça essa mesma pergunta daqui a 7 anos
Cara, matemática não pra ti aplicar em algum lugar. É pra abrir tua cabeça para a lógica dos números. Que basicamente é a lógica. Óbvio que muita coisa tu vai usar, e muita coisa não vai usar nunca. Mas isso não é importante. A questão é ter, dentro da tua cabeça, a compreensão de como a matemática funciona, e no nosso caso, que trabalhamos em TI, isso precisa ser PROFUNDO.
Faça um teste. Pergunte para as pessoas que te rodeiam, e que não trabalham com TI. Assim(usando uma continha aleatória): Quanto é 20% de 25 . Muitas pessoas não tem a menor idéia. O primeiro motívo é que elas irão ter preguiça de pensar no resultado, e ai tu já sabe que não serem para trabalhar TI. O segundo motívo é que não vão saber mesmo. Uma conta simples, mas que não entra na cabeça de muita gente. A primeira vista, é uma ABSURDO, uma conta simples, e um adulto não saber. Mas é a realidade. Quem trabalha com ciencias humanas não se importa com isso. Porque não precisa.
E isso também tem relação com outros cursos. Uma pessoa que faz uma faculdade de, por exemplo, psicologia, também não tem cadeira de VENDAS, e deveria ter.
Emerson_Macedo
Cara, matemática não pra ti aplicar em algum lugar. É pra abrir tua cabeça para a lógica dos números. Que basicamente é a lógica. Óbvio que muita coisa tu vai usar, e muita coisa não vai usar nunca. Mas isso não é importante. A questão é ter, dentro da tua cabeça, a compreensão de como a matemática funciona, e no nosso caso, que trabalhamos em TI, isso precisa ser PROFUNDO.
Acho que você não entendeu o que eu quis dizer. Ex: Algebra relacional nós sabemos que serve para linguagem SQL, etc. Geometria Analítica, Cálculo Vetorial, Equação Diferencial e mais algumas coisas vão te servir em computação gráfica e por ai vai. Hoje eu sei disso mas antigamente nem fazia idéia. Sabendo disso gera uma motivação a mais, pelo menos eu me motivo mais com objetivos do que estudar por estudar. Quanto a ser importante para abrir a mente eu concordo plenamente.
marcelomartins:
Faça um teste. Pergunte para as pessoas que te rodeiam, e que não trabalham com TI. Assim(usando uma continha aleatória): Quanto é 20% de 25 . Muitas pessoas não tem a menor idéia. O primeiro motívo é que elas irão ter preguiça de pensar no resultado, e ai tu já sabe que não serem para trabalhar TI. O segundo motívo é que não vão saber mesmo. Uma conta simples, mas que não entra na cabeça de muita gente. A primeira vista, é uma ABSURDO, uma conta simples, e um adulto não saber. Mas é a realidade. Quem trabalha com ciencias humanas não se importa com isso. Porque não precisa.
E isso também tem relação com outros cursos. Uma pessoa que faz uma faculdade de, por exemplo, psicologia, também não tem cadeira de VENDAS, e deveria ter.
:D
Concordo, quem não gosta de matemática não tem como trabalhar com desenvolvimento de software com qualidade.
Luiz_Aguiar
Qual o embasamento científico pra isso?
Não gostar é uma coisa, não saber é outra, sempre odiei e sempre vou odiar matemática, não vejo pq isso me faz um desenvolvedor pior que outros. Tem gente que gosta muito de certas coisas e nem por isso sabem melhor ou mais, o contrário tbm é verdadeiro.
Emerson_Macedo
Qual o embasamento científico pra isso?
Não gostar é uma coisa, não saber é outra, sempre odiei e sempre vou odiar matemática, não vejo pq isso me faz um desenvolvedor pior que outros. Tem gente que gosta muito de certas coisas e nem por isso sabem melhor ou mais, o contrário tbm é verdadeiro.
É a minha opinião apenas. Eu deveria ter escrito: não sabe matemática. Ficaria mais correto e menos opinião pessoal.
Você há de convir que não gostar de matemática não é algo muito comum em bons programadores. Mas é perfeitamente possível algum que seja bom não gostar de matemática, o que sinceramente eu nunca conheci.
le-silva
Acho que num curso de 4 anos…
1º ano:
Arquitetura de computadores - como os computadores funcionam;
Sistemas operacionais 1 - o básico sobre como os sistemas operacionais funcionam;
Teoria de sistemas de informação - a motivação e aplicação de sistemas de informações nas diversas áreas da sociedade;
Hardware 1 - o básico sobre hardware;
Matemática 1.
2º ano:
Redes de computadores 1 - uma boa visão sobre os vários tipos de redes;
Banco de dados 1 - teoria geral de banco de dados e seus vários tipos (relacional, oo, etc);
Hardware 2 - tópicos avançados;
Linguagens de programação 1 - o básico sobre linguagens de programação (tipos, propósitos) e algoritmos;
Administração de departamentos de TI - como funcionam, de uma maneira geral, os deptos de TI;
Matemática 2.
3º ano:
Direito - tópicos sobre propriedade intelectual, patrimonio digital, etc;
Banco de dados 2 - modelagem e administração de banco de dados relacional;
Linguagens de programação 2 - construção de algoritmos mais complexos em diversas linguagens (sugestão: Java, Ruby, C#, Lisp, C);
Metodologias de desenvolvimento - tópicos básicos e avansados sobre métodos ágeis e tradicionais;
Sistemas operacionais 2 - tópicos mais avançados;
Redes de computadores 2 - implementação de rede com Linux e Windows.
4º ano:
Mercado de TI - estudo bem realista do mercado “atual” de TI pra dar uma visão do que eles vão encarar;
Inteligencia Artificial - uma boa visão sobre IA;
Sistemas corporativos - uma boa visão sobre sistemas corporativos (ERP, CRM, etc);
Arquitetura de software - estudo sobre vários aspectos, propósitos, tecnologias e padrões;
Empreendedorismo em TI.
Isso pensando um curso de Sistemas de Informação, Processamento de Dados, etc.
Se fosse Ciência da Computação, materias que não podem faltar à fundo são as que envolvem teoria de linguagens de programação, compiladores, interpretadores e máquinas virtuais.
Hoje, depois de 4 anos fora do curso de Ciência da Computação, uma matéria que resgatei das cinzas foi compiladores. Era uma matéria que eu adorava, mas depois da facul nunca mais tinha estudado. Agora, mês passado, comprei um livro e voltei a estudar sobre o assunto por conta própria, por puro interesse em ser um desenvolvedor de software melhor.
luistiagos
a coisas bem inuteis na sua grade ai… como direito, metodologias de software e mercado…
primeiro direito e interesante mas inutil em nossa area… 2 metodologias sempre mudam, 3 mercado idem a metodologias… e tbm a conceitos avançados demais pra tecnologia como arquitetura de computadores… pra que diabos um tecnologo que se baseara em CRUDs, ou em redes ou em manutenção tem que saber sobre papiline, arquitetura de processadores, instruções assembly processos de contruçoes de processadores e memorias? aliais ra saber destas coisas ele precisaria no minimo ter antes alguma materia de circuitos digitais… e sistemas operacionais idem… um tecnologo não precisa saber coisas sobre esclonamento, gerenciamento de memoria do SO e threads do SO… isto são coisas avançadas que cabem a CC e não a tecnologia…
peczenyj
Direito é super util, tanto para vc saber o quanto estão te explorando quando para vc saber como proceder quando vc tiver o seu negócio próprio.
luistiagos
Direito é super util, tanto para vc saber o quanto estão te explorando quando para vc saber como proceder quando vc tiver o seu negócio próprio.
concordo mas acho que deveria ser lencionado na materia com enfase em administração de TI
E
edpipole
acho que matematica e logica…
como vcs comentaram acima o problema da matematica e que começãmos a entender para quer serve depois de alguns anos de estrada…
eu lembro que na faculdade eu me perguntava para que saber teoria dos grafos??? fazia, mas de total má vontade…
olha que meu professor era otimo… um dos melhores que já tive, mas eu com 19 anos na epoca não tinha maturidade para entender como aquilo poderia ser util na minha vida profissional…
acho que no final das contas grande parte dos estudantes (era o meu caso) não estavam preparados para um curso de computação…
me formei, mas poderia ter aprendido mais… se eu tive-se a cabeça que tenho hoje, com certeza teria tirado mais proveito…
então… dando minha humilde opinião… matematica e logica…
agora fica a pergunta… será que os cursos de computação são vendidos da forma correta? quem compra sabe o que esta levando para casa?
le-silva
Não acho que está seja uma forma muito util de começar um comentário.
Mas de qualquer forma…
:arrow: Não acho que deva ser lecionado direito o ano inteiro, mas pelo menos um semestre, sim. Tive direito [em CC] e achei bastante útil, porque não tinha noção nenhuma de como a coisa funcionava.
:arrow: Metodologias de desenvolvimento de software é útil, porque suponha que o cara vá ser um desenvolvedor de software, ele precisa saber quais são as opções atuais, bem como as que passaram (e por que passaram).
Ainda que metodologias venham e vão, ele precisa saber “o que é”, “pra que serve”, “o que teve”, “e o que tem”. Se quando ele sair da faculdade (lebrando que esta materia seria lecionada no penultimo ano) a metodologia do momento seja outra, ela já terá um bom conhecimento das que passaram, pra que possa avaliar a atual.
O mesmo acontece com linguagens de programação (ainda que estas possam ficar em evidência por mais tempo).
:arrow: Mercado de TI acho importante pro cara saber “o que é o mercado de TI”, “quais são as possíveis áreas de atuação de um profissional de TI”, “quais são os níchos do mercado de TI”, mesmo sabendo que o mercado é evolutivamente mutável.
Porque, cara, na boa, quando eu fazia CC, tinha gente que chegava na faculdade sem nem saber o que, de fato, um profissional de TI pode fazer. Nem todo mundo vai pra faculdade com conhecimento previo. Nós de TI achamos que é assim, que o cara já vai com uma certa bagagem, que tem que já saber isso e aqui, mas não é a realidade e nem deve ser .
O cara nem sabe que existe programador, DBA, adm de rede, etc, etc, etc. Pra ele é profissional de TI e pronto. É o faz tudo. Arruma mouse, troca cartucho de impressora, faz um programa, instala uma rede, e ponto!
A faculdade tem que dar uma noção do mercado. Até pro cara poder buscar uma especialização posterior [ao terminar a faculdade].
:arrow: Não acho que o cara precise aprender sobre instruções assembly, porque vai estudar arquitetura de computadores. Mas acho tem que saber como os computadores funcionam, sim. Em muitos cursos técnicos de eletrônica e processamento de dados esse tema é abordado.
Lembre-se, eu disse: “Como os computadores funcionam”. Porque tem gente que chega na faculdade e não sabe nada sobre o computador. Nada. O cada não sabe nada. Nem que um dia existiu o ENIAC!
(Circuitos digitais não seria nada mal… rsrsrs)
:arrow: Acho que tecnologo tem que saber sobre sistemas operacionais, sim. Não precisa implementar sei minix da vida, mas precisa aprender sobre como funcionam os sistemas operacionais. Até pra ter uma visão crítica da coisa.
Cara, EU PENSO que tecnologo tem que ter uma visão geral, mas ao mesmo tempo prática da coisa, pra poder sair pro mercado de trabalho pra arranjar trampo [e fazer coisas de qualidade]. Não adianta o cara fazer uma faculdade só pra aprender a fazer CRUD ou configurar rede Linux. Se for pra aprender isso, é melhor o cara fazer um curso prático na escola X ou Y – que tem um monte por ai, cheia qualidade, e bem mais barata e rápida que uma faculdade. No MEU PENSAMENTO o cara tem que ter uma mais mais profunda.