Linguagens de programação nas faculdades

44 respostas
M

Estou construindo um projeto de pesquisa e gostaria de saber o pessoal daqui quais as linguagens de programação ensinadas
nas faculdades publicas aqui do estado, principalmente UNICAMP, USP, UNESP, FATEC?
Alguém que tenha cursado ou está cursando o ensino superior eu gostaria de saber quais limguagens de programação você tiveram?

Muito obrigado;

44 Respostas

A

Depende do curso e da matéria.
Na FATEC que eu estudo, tem python, java e c.
Uma coisa é certa, Estrutura de Dados necessariamente tem que ser passada em C, se for passada em java ou outra coisa, curso é lixo.

Abraços!

E

na faculdade que me formei, me ensinaram C, Java e Pascal. É tipo pacote básico hj em dia.

A

Por quê??

Z

Eu estudo na FATEC e tive Java e C++

J

Ciência da computação na unicamp não possui(pelo menos possuía) uma disciplina focada em uma linguagem de programação. Você escolhia uma linguagem a gosto e a utilizava para resolver os problemas e estudos do curso.

A Instituição que me formei ensinava c, mas a maioria dos problemas eu resolvi com Object Pascal e lazarus na época. Não tinha enfoque digamos assim, uma disciplina. Você usava a que gostasse. Acho que é o correto.

N

Bem legal desse jeito…

V

Meu Deus… a gente ouve cada uma…

J

Meu Deus… a gente ouve cada uma…

Eu também não entendi essa, mas não quis comentar. Pelo menos podia ter explicado porque seria lixo não implementar algoritmos de estrutura em uma linguagem que não fosse c.

A

Meu Deus… a gente ouve cada uma…

Eu também não entendi essa, mas não quis comentar. Pelo menos podia ter explicado porque seria lixo não implementar algoritmos de estrutura em uma linguagem que não fosse c.

Pois é… pensei o mesmo.

Dependendo do professor pode até ser um lixo mesmo…

Odeio quando pego códigos em Java que foram desenvolvidos como se estivessem programando em C. Vontade de cortar as mãos dos caras que fazem isso… Por isso sempre penso que deveriam aprender a programar OO primeiro…

J

Meu Deus… a gente ouve cada uma…

Eu também não entendi essa, mas não quis comentar. Pelo menos podia ter explicado porque seria lixo não implementar algoritmos de estrutura em uma linguagem que não fosse c.

Pois é… pensei o mesmo.

Dependendo do professor pode até ser um lixo mesmo…

Odeio quando pego códigos em Java que foram desenvolvidos como se estivessem programando em C. Vontade de cortar as mãos dos caras que fazem isso… Por isso sempre penso que deveriam aprender a programar OO primeiro…

Desculpe ae, mas esse papo de OO também não tem nada haver. Linguagem serve para expressar algoritmos, seja ela qual for.

M

Talvez ele entendeu o termo de linguagem estruturada para fazer estrutura de dados. ¬¬
Cada uma ein.

Vou ter estrutura de dados esse ano na faculdade, quero ver como vai ser.

V

Nenhuma matéria presta com um mau professor.

Eu sou professor e defendo uma postura um tanto incômoda no meio. A de que um professor é responsável por uns 60% da motivação da turma. E que, se uma turma inteira vai mal, a culpa é provavelmente dele, ou da escola.

Eu realmente não acredito que até os alunos CDFs possam ir mal numa matéria, sem que isso seja culpa do professor (ou da ementa).

L

tbm acho que estrutura de dados tem que ser em C… pois em java ja tem todas ou quase todas prontas na api… e mesmo se não usar a api, com java é bem mais facil pois não se esquenta a cabeça com ponteiros e gerenciamento de memoria… para quem ta aprendendo é bom fazer a coisa na unha… depois quando ja souber da coisa dai é outra historia… acho q em qualquer facul deveriam ensinar C como base…

A

Somente penso que haveria um ganho ao aprender estrutura de dados em uma liguagem Orientada a Objetos, não em uma linguagem estruturada…

Pelo menos na grade da universidade que me formei nos dois primeiros anos não vi nada de OO, isso é tempo suficiente para pegar vários vicios e dificultar o aprendizado de OO durante a transição para uma linguagem como Java. Muitos tem dificuldade em pensar OO depois de programar em C.

Já o inverso, começar aprendendo estrutura de dados em Java para depois ir para uma linguagem estruturada ou homogenea, acho que não haveriam perdas. Pelo menos o sujeito já iria se familiarizando com alguns conceitos de OO…

Enfim, eu preferiria ter aprendido estrutura de dados em Java, desde que o professor manjasse de Java, claro.

J

Estrutura de dados tem e pode ser implementada em qualquer linguagem. Quem não sabe implementar uma pilha, fila ou árvore tem que voltar para escola.
Todo framework de qualquer linguagem tem essas estruturas prontas, mas mesmo assim, você precisa saber como implementar, porque é essencial na vida de quem trabalha com software.

M

Na USP foi basicamente Java e C. acho legal estrutura de dados ser numa linguagem mais baixo nível, requer que a pessoa aprenda de verdade como funcionam as estruturas. Mas lá nós temos primeiro Programação OO e depois Estrutura de dados, no máximo os dois rolando juntos.

J

Mas a representação de uma estrutura é simples, por isso a necessidade de linguagem de baixo ou alto nível não se aplica. A fila, pilha e árvore são as mesmas em qualquer linguagem. Afinal é o algoritmo que manda.

M

é, pode até ser. é que como essa é uma matéria de "entrada" da faculdade, eu acho que os alunos ainda não tem o feeling necessário pra fazer isso em java.

vou dar um exemplo :

class Pilha{
	
	private Object[] valores;
	private int indice;
	
	public Pilha(int tamanho){
		valores  = new Object[tamanho];
                indice = 0;
	}
	
	public void push(Object objeto){
		valores[indice] = objeto;
		indice++;
	}
	
	public Object pop(){
		Object retorno = valores[indice -1];
		indice--; // só pra ficar mais didático
		return retorno;
	}
}

Deveria ter alguns controles de erros, pilha cheia, mas pro exemplo já basta.

Pra maioria dos alunos de primeiro ano, sem noção de controle de memória, vai achar que esse algoritmo ta certo. Mas não está.

O método pop não libera a referencia do objeto quando tira o elemento da pilha. deveria ser assim:

public Object pop(){
		Object retorno = valores[indice -1];
                valores[indice -1] = null; //liberando a referencia do objeto 
		indice--; 
		return retorno;
	}

ai é que eu vejo o problema. Mas no final, se o professor for bom, tanto faz. :roll:

A

Na minha faculdade a gente so implementava os algoritimos, estrutura de dados entre outros, em C.

Mas ninguem explicou praticamente nada sobre a linguagem, so o basico do basico para a galera poder implementar os algoritimos. Não chegaram a explicar nem o que é um diretriz de pré-processador. Acho que o mais avançado que eu aprendi na faculdade foi utilizar um ponteiro de ponteiro.

Para se ter uma idéia do nivel da minha facu, eu:

- não tive aula de construção de compiladores no laboratorio, apenas teorica.
   - não tive aula de OO, apenas teorica, muito menos design patterns. 
   - não tive aula de SO no laboratorio, ou seja se dependese da facu eu nunca tinha escrito uma thread na vida.
   - dizem por ai que haskell é uma linguagem academica, na minha facu, ninguem nunca comentou sobre haskell ou qualquer outra linguagem funcional.
   - não ensinaram algoritmos classicos na facudade, nem se quer ensinaram a implementar um farol com threads.

Ou seja a minha “facu” não é muito parametro, as vezes eu olho o que alguns colegas estão tendo em suas facus e fico impressionado com o que eu deixei de ter na minha !

Tenho um amigo que fez facu nessa uni (não é a minha faculdade) e a grade deles conseguia ser ainda pior do que a minha.

Outro dia esta estudando sobre definição do paradigma funcional, e encontrei bons slides de algumas faculdades federais do Brasil, e pensei, ahhh se eu tivesse tido isto na minha facu :frowning:

J

ovelha:
Na minha faculdade a gente so implementava os algoritimos, estrutura de dados entre outros, em C.

Mas ninguem explicou praticamente nada sobre a linguagem, so o basico do basico para a galera poder implementar os algoritimos. Não chegaram a explicar nem o que é um diretriz de pré-processador. Acho que o mais avançado que eu aprendi na faculdade foi utilizar um ponteiro de ponteiro.

Para se ter uma idéia do nivel da minha facu, eu:

- não tive aula de construção de compiladores no laboratorio, apenas teorica.
   - não tive aula de OO, apenas teorica, muito menos design patterns. 
   - não tive aula de SO no laboratorio, ou seja se dependese da facu eu nunca tinha escrito uma thread na vida.
   - dizem por ai que haskell é uma linguagem academica, na minha facu, ninguem nunca comentou sobre haskell ou qualquer outra linguagem funcional.
   - não ensinaram algoritmos classicos na facudade, nem se quer ensinaram a implementar um farol com threads.

Ou seja a minha “facu” não é muito parametro, as vezes eu olho o que alguns colegas estão tendo em suas facus e fico impressionado com o que eu deixei de ter na minha !

Tenho um amigo que fez facu nessa uni (não é a minha faculdade) e a grade deles conseguia ser ainda pior do que a minha.

Outro dia esta estudando sobre definição do paradigma funcional, e encontrei bons slides de algumas faculdades federais do Brasil, e pensei, ahhh se eu tivesse tido isto na minha facu :(

O que você cursou, ou está cursando?

A

Eu fiz Engenharia da Computação.

M

Concordo com o ViniGodoy, professor bom mantem os alunos motivados.

J

ovelha:
Eu fiz Engenharia da Computação.

  • não tive aula de construção de compiladores no laboratorio, apenas teorica.
  • não tive aula de OO, apenas teorica, muito menos design patterns.
  • não tive aula de SO no laboratorio, ou seja se dependese da facu eu nunca tinha escrito uma thread na vida.
  • dizem por ai que haskell é uma linguagem academica, na minha facu, ninguem nunca comentou sobre haskell ou qualquer outra linguagem funcional.
  • não ensinaram algoritmos classicos na facudade, nem se quer ensinaram a implementar um farol com threads.

- dizem por ai que haskell é uma linguagem academica, na minha facu, ninguem nunca comentou sobre haskell ou qualquer outra linguagem funcional.
- não tive aula de OO, apenas teorica, muito menos design patterns.

Você fez um curso de engenharia e queria aprender isso nele??
Fala sério.
Se você queria ser programador, porque não fez si?

O que eu vejo aqui é que boa parte do pessoal não têm idéia do foco dos cursos que escolhem.

S

Eu fiz curso técnico e achei melhor que Faculdade oO :shock:

A

Desculpa a minha ignorancia, mestre das faculdades hahahahahahahahha

J

Não desculpo não, engenheiro. O seu trabalho é criar hardware e dispositivos computacionais. Design patterns é pra quem deve criar sistemas de informação
rsrsrs

A

Isso não tem haver com OO e programação funcional? Fala Sério…

A

Meu deus vc não tem idéia do que diz mesmo sobre engenharia da computação, deprimente.

V

Que faculdade você fez? Estranho não conter SO ou compiladores na grade. Isso é meio básico.

A

Eu estudei na Metodista.

Eu não falei que não tive aula, falei que minhas aulas foram apenas teoricas, em comparação com outras faculdade de amigos que eu tenho contato, ambos tiveram tanto aulas teoricas como praticas no laboratorio, isso que eu “reclamei” aqui.

V

Ah tá. Bom, na minha facul foram teóricas também.

E o caso de OO, o problema foi falta de lab também? Ou nem aula teórica disso você teve?

A

OO eu não tive nem teorica :frowning:

Na verdade em OO o maximo que eu tive foi uma alusão a existencia do paradigma na aula de paradigmas de linguagens de programação.

Vc acha certo essas matérias serem apenas teoricas? E eu estou chorando d+?

J

ovelha:
OO eu não tive nem teorica :frowning:

Na verdade em OO o maximo que eu tive foi uma alusão a existencia do paradigma na aula de paradigmas de linguagens de programação.

Vc acha certo essas matérias serem apenas teoricas? E eu estou chorando d+?

Você está chorando demais.

O que eu digo que engenharia da computação não tem nada haver com programação de alto nível. Essa grade é muito esquisita.

Sistemas computacionais não diz respeito a sistemas de informação, e sim a dispositivos de exigem processamento. O foco de engenharia da computação, é elétrica e software de baixo nível, porque ela é fusão de ciência da computação com engenharia elétrica.

É por isso que eu estou te dizendo que OO não é problema seu, nem compiladores ou linguagens de programação.

Apesar que ninguém te impede de aprender isso. Eu apenas citei porque vejo que as grades dos cursos são muito confusas mesmo.

A

So para constar, vou postar aqui uma grade curricular de um curso de Engenharia da Computação que eu achei na net.

Notem que as materias por mim comentadas existem no curso, inclusive nesta grande, a maioria delas possui aula pratica.

Inclusive existe uma matéria chamada Linguagens de Programação.

S

Na FATEC, pelo menos no primeiro semestre, teve PASCAL e VBA (você não leu errado). Agora no segundo semestre é C e COBOL.
Já na FIAP, o primeiro ano inteiro foi de C.

J

ovelha:
So para constar, vou postar aqui uma grade curricular de um curso de Engenharia da Computação que eu achei na net.

Notem que as materias por mim comentadas existem no curso, inclusive nesta grande, a maioria delas possui aula pratica.

Inclusive existe uma matéria chamada Linguagens de Programação.

Você acha bonita essa matéria aqui?
Ciências do Ambiente

Agora procura saber qual o intuito dela.

Eu moro em Sta Rita do Sapucaí e conheço o inatel, mas não concordo com o ano de linguagens de programação, que já é pouco. (Na minha opinião precisava apenas de um semestre)

A

Fala sério que vc é de Santa Rita do Sapucai! Eu vou ai no carnaval, no bloco do urso.

Eu conheço prq a minha familia toda é de Borda da Mata, fica a uns 50k dai. Conheço bastante gente que se formou na escola tecnica dai.

M

Pessoal ta meio perdido entre formação e carreira, mas concordo que Engenharia da computação é pra desenvolvimento de dispositivos e não pra ficar programando, lógico que o engenheiro deve ter uma base disso, mas acho que o foco é outro, talvez eletronica digital, micro eletrônica, importante saber como funciona um software pra saber como ele se adaptará ao seu dispositivo, mas até ai programar é coisa de programador e não de engenheiro.

A

Meu Deus… a gente ouve cada uma…

Vini, não tem graça estrutura de dados em Java. O aluno vê superficialmente.
O que o aluno vai aprender? Como ele vai saber manipular ponteiros, como ele vai saber fazer alocação de memória? Como ele vai entender o fluxo de uma lista ligada ou duplamente ligada de uma forma profunda em Java? Grafos?

J

andre_mbm:
Vini, não tem graça estrutura de dados em Java. O aluno vê superficialmente.
O que o aluno vai aprender? Como ele vai saber manipular ponteiros, como ele vai saber fazer alocação de memória? Como ele vai entender o fluxo de uma lista ligada ou duplamente ligada de uma forma profunda em Java? Grafos?

André, pra isso servem as referências aos objetos. Elas podem muito bem substituir os ponteiros de linguagens com C,C++ e Pascal. É só não usar as estruturas prontas da linguagem. Eu só não gosto de que se ensine Java para estruturas de dados, porque mesmo pra um programa simples em Java rodar, o aluno tem que saber o básico de OO, e quase sempre a turma ainda não viu isso, acho que isso acaba tirando a atenção do objetivo de se aprender estruturas de dados.

Na minha faculdade (de SI), nós praticamente víamos uma linguagem nova a cada semestre (é, cada professor tinha a sua preferida). Em lógica de programação trabalhamos o Portugol (lembram?) e vimos uma pincelada de Haskel. Estrutura de dados foi com Pascal. Linguagem estruturada foi com C, Linguagem estruturada pra Web foi PHP e Linguagem OO e Linguagem OO pra Web foi Java, em Projeto de Banco de dados o professor deixou livre e eu usei VB .NET (tava de saco cheio de linguagens C-like).

V

andre_mbm:
Vini, não tem graça estrutura de dados em Java. O aluno vê superficialmente.
O que o aluno vai aprender? Como ele vai saber manipular ponteiros, como ele vai saber fazer alocação de memória? Como ele vai entender o fluxo de uma lista ligada ou duplamente ligada de uma forma profunda em Java? Grafos?

E quem disse que tem que manipular ponteiros para saber estrutura de dados? As referências mais do que atendem o que é necessário. A lista ligada existe em java, sem aquela parafernalha toda de malloc e calloc. Se quer uma linguagem de mais baixo nível, que force o aluno a dar “deletes”, use então o C++. Também é OO, usa uma sintaxe muitíssimo mais amigável e deixa o aluno “ver” que está apagando coisas, com um delete bem camarada.

Aliás, OO é legal porque deixa as estruturas bem destacadas. Modela-se o nó, pode-se fazer a distinção da estrutura nó e do seu valor, etc.

Grafos por si só já é uma matéria espinhosa. Os algoritmos para percorrer grafos são complexos, e não tem porque torna-los ainda mais penosos com uma gerência de memória de baixo nível.

Acho que tem é a confusão aí. Alocar e desalocar memória é uma coisa, estruturas de dados é outra completamente diferente. Em Java e C# é possível estudar estruturas de dados numa profundidade tão adequada quanto em linguagens de mais alto nível, sem aquela parafernalha toda de ponteiros, ou de um ambiente onde as IDEs são primitivas e o depurador ajuda muito pouco.

J

ovelha:
Fala sério que vc é de Santa Rita do Sapucai! Eu vou ai no carnaval, no bloco do urso.

Eu conheço prq a minha familia toda é de Borda da Mata, fica a uns 50k dai. Conheço bastante gente que se formou na escola tecnica dai.


Huahua…sou sim. O bloco esse ano vai dar mais de 6000 pessoas.

J
andre_mbm:
ViniGodoy:
andre_mbm:
Uma coisa é certa, Estrutura de Dados necessariamente tem que ser passada em C, se for passada em java ou outra coisa, curso é lixo.

Meu Deus... a gente ouve cada uma...

Vini, não tem graça estrutura de dados em Java. O aluno vê superficialmente.
O que o aluno vai aprender? Como ele vai saber manipular ponteiros, como ele vai saber fazer alocação de memória? Como ele vai entender o fluxo de uma lista ligada ou duplamente ligada de uma forma profunda em Java? Grafos?

Questão de ponteiros e gerência de memória não tem nada haver com algoritmos, e sim com performance. Um algoritmo pode ser muito bem implementado em qualquer linguagem, assim como qualquer estrutura de dados.

Em trabalho de processamento de imagens, eu usava pascal com delphi, e meu professor o pascal com lazarus, meus filtros processavam a imagem mais rápidos que os filtros dele, porque eu usava ponteiros, mas os algoritmos eram os mesmos.

var byteArray:TByteArray;


for j:=0 to bitmap.height()-1
begin

byteArray:=bitmap.ScanLine(j);
.........

ou

for j:=0 to bitmap.height() -1
begin
  for i:=0 to bitmap.width()-1
  begin
     bitmap.getPixels(y,j);

Uma simples questão de performance, mas não alterou o algoritmo de mapeamento da imagem.

Quem estiver interessado em processamento de imagens com pascal, esse site me ajudou muito na universidade:

http://www.efg2.com/Lab/

A

Bom tive
algoritmos em C
programação 1 em C
programação 2 em JAVA
programação 3 em .NET

achei muito produtivo, tenho sorte de não conhecer cobol ou delphi…

Criado 1 de fevereiro de 2010
Ultima resposta 3 de fev. de 2010
Respostas 44
Participantes 17