Mudanças entre as edições de "Introdução a Programação"

De CInWiki
Ir para: navegação, pesquisa
 
(18 revisões intermediárias por 11 usuários não estão sendo mostradas)
Linha 1: Linha 1:
 +
{{CourseBox
 +
| name = Introdução a Programação
 +
| ccProfessor = [[Sérgio Soares]]<br>[[Ricardo Massa]]
 +
| ccWebsite = https://cin.ufpe.br/~if669
 +
| ccSemester = 1
 +
| ccCode = IF669
 +
| ccClass = I1<br>II
 +
| ccRoom = G3<br>G4
 +
| ccDateTime = Seg - 8h às 10h<br>Qua - 10h às 12h<br>Qua - 13h às 15h<br>Sex - 8h às 10h
 +
| ccBucket = 1FNy5GEYXhS1Z-HJqir6GNZQuccYv7fNk
 +
| ecProfessor = [[Alexandre Mota]]
 +
| ecSemester = 1
 +
| ecCode = IF669
 +
| ecClass = E1
 +
| ecRoom = G1<br>D004
 +
| ecDateTime = Seg - 8h às 10h<br>Qua - 10h às 12h<br>Qua - 13h às 15h<br>Sex - 8h às 10h
 +
| ecBucket = 1FNy5GEYXhS1Z-HJqir6GNZQuccYv7fNk
 +
}}
 +
 
A disciplina de Introdução a Programação expõe conceitos e técnicas fundamentais de programação, com enfoque em linguagens orientadas a objetos e utilizando a linguagem Java. O curso é ministrado por dois professores, e a turma é dividida em duas, com as aulas ocorrendo nos laboratórios de graduação. A equipe de monitores é vasta e geralmente há um monitor para cada dupla formada para o projeto.
 
A disciplina de Introdução a Programação expõe conceitos e técnicas fundamentais de programação, com enfoque em linguagens orientadas a objetos e utilizando a linguagem Java. O curso é ministrado por dois professores, e a turma é dividida em duas, com as aulas ocorrendo nos laboratórios de graduação. A equipe de monitores é vasta e geralmente há um monitor para cada dupla formada para o projeto.
Você pode acessar o site da disciplina [http://cin.ufpe.br/~if669/ aqui].
 
  
 
__TOC__
 
__TOC__
Linha 18: Linha 36:
 
* desenvolver, documentar e avaliar uma aplicação de médio porte em Java
 
* desenvolver, documentar e avaliar uma aplicação de médio porte em Java
 
* discutir princípios de engenharia e qualidade de software.
 
* discutir princípios de engenharia e qualidade de software.
 +
 +
== Organização ==
 +
A organização é feita de forma que tanto o conteúdo prático quanto o teórico são levados em conta. A avaliação é feita por meio de duas provas e uma mini-prova, que são escritas, além de quatro listas de programação e um projeto.
  
 
== Tópicos Abordados ==
 
== Tópicos Abordados ==
 
Serão abordados aspectos de [http://pt.wikipedia.org/wiki/Qualidade_de_software qualidade de software], conceitos de [http://pt.wikipedia.org/wiki/Objeto_(inform%C3%A1tica) objetos], [http://pt.wikipedia.org/wiki/Classe_(programa%C3%A7%C3%A3o) classe], [http://pt.wikipedia.org/wiki/M%C3%A9todo_(programa%C3%A7%C3%A3o) método] e [http://pt.wikipedia.org/wiki/Atributo_(programa%C3%A7%C3%A3o) atributo], [http://en.wikipedia.org/wiki/Information_hiding information hiding], [http://en.wikipedia.org/wiki/Static_method#Static_methods métodos] e [http://en.wikipedia.org/wiki/Static_variable#Static_Variables_as_Class_Variables variáveis] estáticas, criação e remoção de objetos, [http://pt.wikipedia.org/wiki/Construtor construtores], referências, [http://en.wikipedia.org/wiki/Aliasing_(computing) aliasing], mecanismos de passagem de [http://pt.wikipedia.org/wiki/Par%C3%A2metro_(ci%C3%AAncia_da_computa%C3%A7%C3%A3o) parâmetros], [http://en.wikipedia.org/wiki/Function_overloading overloading], pacotes, [http://pt.wikipedia.org/wiki/Heran%C3%A7a_(inform%C3%A1tica) herança], subtipos, [http://pt.wikipedia.org/wiki/Polimorfismo polimorfismo], [http://pt.wikipedia.org/wiki/Liga%C3%A7%C3%A3o_din%C3%A2mica dynamic binding], [http://pt.wikipedia.org/wiki/Classe_(programa%C3%A7%C3%A3o)#Classes_abstratas_e_concretas classes abstratas], [http://pt.wikipedia.org/wiki/Interface_(ci%C3%AAncia_da_computa%C3%A7%C3%A3o) interface] e mecanismos para tratamento de exceções. O ambiente de desenvolvimento utilizado pelos alunos é o [http://pt.wikipedia.org/wiki/Eclipse_(software) Eclipse].
 
Serão abordados aspectos de [http://pt.wikipedia.org/wiki/Qualidade_de_software qualidade de software], conceitos de [http://pt.wikipedia.org/wiki/Objeto_(inform%C3%A1tica) objetos], [http://pt.wikipedia.org/wiki/Classe_(programa%C3%A7%C3%A3o) classe], [http://pt.wikipedia.org/wiki/M%C3%A9todo_(programa%C3%A7%C3%A3o) método] e [http://pt.wikipedia.org/wiki/Atributo_(programa%C3%A7%C3%A3o) atributo], [http://en.wikipedia.org/wiki/Information_hiding information hiding], [http://en.wikipedia.org/wiki/Static_method#Static_methods métodos] e [http://en.wikipedia.org/wiki/Static_variable#Static_Variables_as_Class_Variables variáveis] estáticas, criação e remoção de objetos, [http://pt.wikipedia.org/wiki/Construtor construtores], referências, [http://en.wikipedia.org/wiki/Aliasing_(computing) aliasing], mecanismos de passagem de [http://pt.wikipedia.org/wiki/Par%C3%A2metro_(ci%C3%AAncia_da_computa%C3%A7%C3%A3o) parâmetros], [http://en.wikipedia.org/wiki/Function_overloading overloading], pacotes, [http://pt.wikipedia.org/wiki/Heran%C3%A7a_(inform%C3%A1tica) herança], subtipos, [http://pt.wikipedia.org/wiki/Polimorfismo polimorfismo], [http://pt.wikipedia.org/wiki/Liga%C3%A7%C3%A3o_din%C3%A2mica dynamic binding], [http://pt.wikipedia.org/wiki/Classe_(programa%C3%A7%C3%A3o)#Classes_abstratas_e_concretas classes abstratas], [http://pt.wikipedia.org/wiki/Interface_(ci%C3%AAncia_da_computa%C3%A7%C3%A3o) interface] e mecanismos para tratamento de exceções. O ambiente de desenvolvimento utilizado pelos alunos é o [http://pt.wikipedia.org/wiki/Eclipse_(software) Eclipse].
 
== Média das Turmas ==
 
{| class="wikitable"
 
|-
 
! Turma
 
! EE1
 
! EE2
 
! EE3
 
! Média
 
|-
 
| 2009.1
 
| 6.8
 
| 7.28
 
| -
 
| 7.05
 
|-
 
| 2011.1
 
| 6.3
 
| 6.61
 
| -
 
| 7.33
 
|-
 
| 2012.1
 
| 8.04
 
| 8.26
 
| -
 
| 8.45
 
|}
 

Edição atual tal como às 21h35min de 19 de fevereiro de 2018

Erro em Lua: Não é possível criar o processo: proc_open(/dev/null): failed to open stream: Operation not permitted

A disciplina de Introdução a Programação expõe conceitos e técnicas fundamentais de programação, com enfoque em linguagens orientadas a objetos e utilizando a linguagem Java. O curso é ministrado por dois professores, e a turma é dividida em duas, com as aulas ocorrendo nos laboratórios de graduação. A equipe de monitores é vasta e geralmente há um monitor para cada dupla formada para o projeto.

Professores

Os dois professores que ministram a disciplina são Sérgio Soares e Ricardo Massa.

  • Sérgio Soares

Concluiu o doutorado em Ciência da Computação pela Universidade Federal de Pernambuco em 2004. Atualmente é Professor Adjunto do Centro de Informática da Universidade Federal de Pernambuco (CIn/UFPE). Orienta trabalhos de doutorado, mestrado, especialização, iniciação científica e de conclusão de curso na área de Computação. Coordena projetos de pesquisa financiados por CNPq, FACEPE, FINEP e Petrobras. É coordenador executivo do INES - Instituto Nacional de Ciência e Tecnologia para Engenharia de Software. Atua na área de Ciência da Computação, com ênfase em Engenharia de Software, atuando principalmente nos seguintes temas: Desenvolvimento de Software Orientado a Aspectos, Linhas de Produto de Software, Orientação a objetos, Testes de Software e Engenharia de Software Experimental.

  • Ricardo Massa

É professor ajunto do Centro de Informática da Universidade Federal de Pernambuco (CIn/UFPE), onde também é vice-coordenador do Programa de Pós-graduação em Ciência da Computação.

Objetivos

O curso visa motivar, discutir, exercitar, e consolidar o uso de técnicas de programação que tenham um impacto considerável sobre qualidade de software e produtividade no desenvolvimento. Em particular, pretende-se alcançar os seguintes objetivos:

  • discutir conceitos de programação orientada a objetos, ilustrando como os mesmos são representados na linguagem de programação Java
  • discutir como programas em Java podem ser adequadamente escritos, estruturados e documentados
  • explorar o ambiente de suporte a Java, incluindo ferramentas e bibliotecas de classes
  • desenvolver, documentar e avaliar uma aplicação de médio porte em Java
  • discutir princípios de engenharia e qualidade de software.

Organização

A organização é feita de forma que tanto o conteúdo prático quanto o teórico são levados em conta. A avaliação é feita por meio de duas provas e uma mini-prova, que são escritas, além de quatro listas de programação e um projeto.

Tópicos Abordados

Serão abordados aspectos de qualidade de software, conceitos de objetos, classe, método e atributo, information hiding, métodos e variáveis estáticas, criação e remoção de objetos, construtores, referências, aliasing, mecanismos de passagem de parâmetros, overloading, pacotes, herança, subtipos, polimorfismo, dynamic binding, classes abstratas, interface e mecanismos para tratamento de exceções. O ambiente de desenvolvimento utilizado pelos alunos é o Eclipse.