Ensino
Linguagens de Programação
Objetivos da Disciplina
  • Proporcionar uma visão geral sobre os conceitos definidos em várias linguagens de programação que empregam os paradigmas de programação imperativo e orientado a objetos. 
  • Possibilitar que o aluno tenha contato com três das mais difundidas linguagens de programação que se classificam nestes paradigmas (C, C++ e Java). 
  • Capacitar o aluno para que ele possa analisar e escolher linguagens de programação.
Conteúdo
  1. Introdução 
  2. Valores e Tipos de Dados 
  3. Variáveis 
  4. Comandos e Expressões 
  5. Abstrações de Controle e Dados 
  6. Sistemas de Tipos 
  7. Tratamento de Exceções 
  8. Eventos 
  9. Concorrência 
  10. Conclusão
Material Didático
  • Livros de linguagens
Kerningham, B.W. e Ritchie, D.M. " A Linguagem de Programação C".

Eckel, B. "Thinking in C++ Vol. I & II".

Eckel, B.  "Thinking in Java".

  • Apostilas
Varejão, F.M., Garcia, B.B. "Linguagens de Programação". Capitulos 1, 2, 3, 4, 5 , 6 e 7 já disponiveis.
Primeira Lista de Exercícios

Material adicional OO.

Apostilas de C, C++, Java

                             Segunda Lista de Exercícios

                             Transparências de Java 1, 2 e 3

Atendimento

Solicitar atendimento, com antecedência, através do e-mail fvarejao@yahoo.com.br. Após a solicitação, o horário de atendimento será marcado pelo professor dentro de uma semana a partir da data de solicitação, de acordo com a disponibilidade de horário de ambos.

Avaliação

A avaliação do curso será realizada através de 2 provas e 3 trabalhos de implementação em C, C++ e Java. Provas e trabalhos de implementação serão individuais.

As avaliações dos trabalhos e do seminário são relativas, isto é, o melhor trabalho obtém a melhor nota e os demais trabalhos têm nota proporcional à nota do melhor trabalho. Trabalhos atrasados não serão aceitos e terão nota ZERO. Trabalhos copiados terão nota ZERO.

A seguir, apresenta-se os pesos de cada avaliação na média parcial:

    1. Primeira Prova (25%) 
    2. Segunda Prova (30%) 
    3. Trabalhos de Implementação (45%)
Trabalhos de Implementação

Escolheu-se C, C++ e Java para se fazer os trabalhos deste curso porque, além de serem linguagens amplamente utilizadas no mercado e na comunidade acadêmica, elas apresentam várias semelhanças entre si. Por outro lado, cada uma destas linguagens pertence a um paradigma diferenciado de linguagem de programação. C é uma linguagem puramente imperativa. Java é uma linguagem puramente orientada a objetos. C++ é uma linguagem híbrida, isto é, ela tanto possui conceitos que poderiam classificá-la como imperativa quanto orientada a objetos.

Para poder adquirir um entendimento profundo sobre uma Linguagem de Programação é essencial que se façam muitos programas complexos naquela linguagem. Contudo, por limitações de tempo, não será possível fazer mais do que um trabalho nestas três linguagens de programação.

Os trabalhos de implementacao deverão ser implementados usando os compiladores gcc (C), g++ (C++) e Java 1.2 (ou superior) para ambiente linux ou dos. No ambiente Linux, o gcc e o g++ já estão disponíveis, mas é necessario fazer o download do Java. No ambiente DOS e necessário fazer o download do gcc e do g++, bem como de Java.

O código fonte dos trabalhos de implementação devem ser entregues em disquete e impressos. A avaliação levará em conta a correção do programa e a qualidade da programação. O código fonte deverá ser necessariamente compilado nos compiladores acima mencionados. Programas que não compilam não serão nem avaliados. Programas que não executam conforme a especificação terão nota significativamente reduzida. Programas copiados terão nota ZERO.  Adicionalmente, podem ser feitas entrevistas com alunos selecionados para demonstrarem como fizeram o trabalho.

Enunciado dos Trabalhos

Arquivos de Teste

Cronograma


Evento
Data
1 - Entrega de Trabalho de C
 07/08
2 - Primeira Prova
 16/08
3 - Entrega do Trabalho de C++
 
4 - Entrega de Trabalho de Java
 
5 - Segunda Prova
 


Observações

  1. Os trabalhos DEVEM ser entregues na sala de aula na data de entrega. 
  2. Todos os trabalhos de implementação devem ser realizados com ANTECEDÊNCIA. 
  3. Não deixem para estudar a matéria na semana da prova. 
  4. Não copiem ou façam os trabalhos individuais em grupo.
Resultados das Avaliações