DCET 0734 - Programação Concorrente
Trabalhos Práticos
Objetivo:
- Desenvolver pequenos programas utilizando programação concorrente, de modo a compreender melhor este tipo de computação
Regras:
- Codificação:
- O arquivo Principal.java deverá conter o método main
- O trabalho deverá compilar com a linha de comando javac Principal.java
- Estrutura de arquivos:
- O diretório com o trabalho deverá ser chamado de pc_trabalhoXX_numeroDeMatricula. Ex. pc_trabalho01_200012345
- Este diretório deverá conter o arquivo Principal.java na sua raiz
- A partir deste diretório organize os arquivos conforme conveniência
- Entrega dos trabalhos via e-mail:
- O subject/assunto deverá ser [pc][trabalhoXX][numeroDeMatricula]. Ex: [pc][trabalho01][200012345]
- Compactar (.zip ou .rar) o diretótio pc_trabalhoXX_numeroDeMatricula (sem os arquivos .class). Ex. pc_trabalho01_200012345.rar
- Anexar o arquivo compactado a um novo email e enviar
Observações:
- Cada trabalho será entregue via email até as 23h59m da data estipulada
- Os prazos NÃO SERÃO prorrogados
- Utilizar editores de texto simples (ASCII puro) para a codificação
- Gerar código através de compiladores padrão (JRE ou GCC/G++ GNU/Linux)
- Em caso de alguma incompatibilidade, os trabalhos deverão estar executando perfeitamente nos sistemas computacionais (leia-se Linux) do laboratório de redes
- Os trabalhos deverão estar em conformidade com as especificações do arcabouço (esqueleto dos métodos) pré-definidos em sala de aula
- Utilize boas técnicas de programação. Sugestões podem ser encontradas aqui ou aqui.
- Se utilizar um padrão de projeto, sugiro (só sugestão mesmo) utilizar o MVC aqui
- Os trabalhos serão desenvolvidos individualmente;
- Não serão admitidos trabalhos iguais:
- Ajuda entre alunos/equipes é permitida e saudável ao processo de aprendizado, a cópia pura e simples não
- Serão DESCONSIDERADOS os trabalhos dos envolvidos em cópia
- Com relação aos nomes:
- XX é o número correspondente ao trabalho desenvolvido
- numeroDeMatricula é o número de matrícula do aluno
INSTRUÇÕES PARA BAIXAR E INSTALAR VERSÃO DO JDK 1.8 com biblioteca do JavaFX incorporada:
Os passos a seguir pressupõem que você esteja utilizando o sistema operacional Linux/Ubuntu e baixou a versão de 64bits. Caso utilize outra pasta ou versão, atualize os nomes correspondentes.
Para o Windows, sugiro instalar o Linux :-)
- PASSO 1: Efetue o download da versão 32bits ou 64bits do Java de acordo com seu SO no link abaixo
https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html (a versão Windows pode ser baixada neste link)
OU
Baixe diretamente a versão 64bits para Linux/Ubuntu aqui
- PASSO 2: Descomprima o arquivo baixado
tar -xvf jdk-8-linux-x64.tar.gz (versão 64 bits)
- PASSO 3: Mova a pasta descompactada para /usr/lib/jvm/
sudo mkdir -p /usr/lib/jvm
sudo mv ~/Downloads/jdk-8u351-linux-x64 /usr/lib/jvm/
- PASSO 4: Execute a instalação
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.8.0/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.8.0/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.8.0/bin/javaws" 1
- PASSO 5: Corrija as permissões
sudo chmod a+x /usr/bin/java
sudo chmod a+x /usr/bin/javac
sudo chmod a+x /usr/bin/javaws
sudo chown -R root:root /usr/lib/jvm/jdk1.8.0
- PASSO 6: Execute a configuração
sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config javaws
OBS: As informações abaixo vão aparecer para cada comando executado. Escolha a opção que será a prioritária (JDK1.8.0)
There are 3 choices for the alternative java (providing /usr/bin/java)
Selection Path Priority Status
------------------------------------------------------------------------------------
0 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 auto mode
1 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 manual mode
* 2 /usr/lib/jvm/jdk1.7.0/bin/java 1 manual mode
3 /usr/lib/jvm/jdk1.8.0/bin/java 1 manual mode
- PASSO 7: Teste se está tudo OK
Exemplo: java -version:
- OBS: Perceba que você ficou com pelo menos 2 versões da linguagem Java instaladas. Para retornar a versão mais atual como padrão, basta executar o PASSO 6 novamente, escolhendo a nova prioridade
Descrição dos Trabalhos
Lista de Exercício:
Título: lista de exercícios com o objetivo de fixar os conceitos vistos na disciplina. Alguns dos conceitos abordados ainda serão vistos nas próximas aulas.
Data da entrega: na aula do dia 14/04/2026
Nota: não vale nota
Descrição: ATENÇÃO! A LISTA DEVE SER ENTREGUE MANUSCRITA PESSOALMENTE NA DATA ESTIPULADA! A lista pode ser encontada aqui.
Trabalho #01:
Título: Interface Gráfica (pode utilizar AWT ou SWING ou JavaFX ou etc)
Data da entrega: até o dia 29/03/2026
Nota: parte da nota da III Unidade
Descrição: conforme explicações e exemplos vistos em aula, implemente uma simulação de trens utilizando recursos de uma GUI (janelas, botões, áreas de texto, menus, figuras, som, etc).Um esboço do trabalho a ser desenvolvido poderá ser encontrado aqui
OBS: SORTEIO da orientação dos trilhos:
202210327 = HORIZONTAL
202511722 = VERTICAL
202511258 = HORIZONTAL
202210840 = VERTICAL
202520556 = HORIZONTAL
202510860 = VERTICAL
202510528 = VERTICAL
202511527 = HORIZONTAL
202210872 = VERTICAL
202410329 = HORIZONTAL
202510533 = HORIZONTAL
202510548 = VERTICAL
202411217 = VERTICAL
202411222 = HORIZONTAL
202510943 = VERTICAL
202511710 = HORIZONTAL
202510517 = VERTICAL
202510819 = HORIZONTAL
202511474 = HORIZONTAL
202511495 = VERTICAL
202511541 = VERTICAL
202510837 = HORIZONTAL
202420527 = HORIZONTAL
202510603 = HORIZONTAL
202510593 = VERTICAL
202510683 = HORIZONTAL
202510523 = VERTICAL
202410861 = VERTICAL
202511095 = HORIZONTAL
202511587 = VERTICAL
202510536 = VERTICAL
202510817 = HORIZONTAL
202410807 = VERTICAL
202510822 = VERTICAL
202210527 = HORIZONTAL
202511102 = HORIZONTAL
202511061 = VERTICAL
202511026 = VERTICAL
201810433 = VERTICAL
202511716 = HORIZONTAL
202110860 = HORIZONTAL
202420500 = VERTICAL
202310484 = VERTICAL
202511101 = HORIZONTAL