Skip to content

fisjogos-fga/2020-1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Avisos!

  • Nenhum aviso!

Física para Jogos Eletrônicos 1

Este é o Git da disciplina de Física para Jogos Eletrônicos 1. Aqui ficará o material produzido em sala de aula assim como tarefas, wiki e discussões. Este arquivo contêm informações básicas sobre a disciplina e o plano de ensino do semestre.

Informações básicas

Curso:

Engenharia de Software

Professor:

Fábio Macêdo Mendes

Disciplina:

Física para Jogos Eletrônicos 1

Semestre/ano:

01/2020

Carga horária:

60 h

Créditos:

04

Ementa

  • Equações de Newton e leis do movimento
  • Modelos de força
  • Modelando fisicamente a interação com o usuário
  • Rotações em 2D
  • Detecção de superposição
  • Resposta impulsiva a colisões
  • Motores de jogos e física

Horário das aulas e atendimento

Aulas teóricas e de exercícios: segundas e sextas-feiras às 16h Atendimento: realizado de forma assíncrona no grupo de Telegram da disciplina

Informações importantes

Este curso utiliza GitHub + Github Classroom e o Google classroom para gerenciar o curso. A comunicação com a turma é feita através do Google Classroom ou por issues no repositório do Github. Habilite a funcionalidade "Watch" no repositório para receber notificações sobre atualizações.

Github:

https://github.com/fisjogos-fga/2020-1

Telegram:

(oculto, enviado por e-mail)

Teams:

(oculto, disponível no grupo de Telegram)

Critérios de avaliação

A avaliação será feita usando um critério de avaliação baseado em capacidades e competências complementada por um mecanismo de avaliação competitiva.

Avaliação por capacidades e competências

Na avaliação por capacidades e competências, cada aluno deve demonstrar competência nas habilidades básicas desenvolvidas durante o curso. O critério para demonstrar competência normalmente é baseado no resultado de pequenas avaliações, mas pode ser realizado de outras maneiras também (ex.: um projeto de programação, criação de um conteúdo didático e outros). Note que não existem provas agendadas ao longo do semestre. O aluno que falhar em alguma avaliação ainda pode fazê-la posteriormente assim que se sentir habilitado. Uma única prova final/substitutiva será realizada ao fim do semestre com o conteúdo completo da disciplina, onde o aluno poderá testar as competências que ainda não foram confirmadas.

É necessário, ao final do semestre, traduzir o mapa de competências em uma categoria de menções. A tradução é feita segundo as regras abaixo:

  • SR: Reprovação por faltas
  • II: Completou menos de 22 competências
  • MI: Completou pelo menos 22 competências
  • MM: Comprovou pelo menos 33 das competências básicas da disciplina
  • MS: Comprovou pelo menos 33 competências básicas e 44 competências no total
  • SS: Comprovou todas competências básicas e pelo menos 7 competências avançadas

Código de ética e conduta

Algumas avaliações serão realizadas com auxílio do computador no laboratório de informática. Várias atividades encorajam a colaboração entre colegas. No entanto, todas as submissões individuais serão processadas por um programa de detecção de plágio. Qualquer atividade onde for detectada a presença de plágio será anulada sem a possibilidade de substituição. Não será feita qualquer distinção entre o aluno que forneceu a resposta para cópia e o aluno que obteve a mesma.

As mesmas considerações também se aplicam às provas teóricas e atividades entregues no papel.

Prepare-se

O curso utiliza alguns pacotes e ferramentas para os quais cada estudante deverá providenciar a instalação o mais cedo o possível. O curso requer Python 3.6+ com alguns pacotes instalados:

  • Pip: Gerenciador de pacotes do Python (sudo apt-get install python3-pip)
  • Jupyter notebook/nteract/Google colab: Ambiente de programação científica.
  • Lark (pip3 install lark-parser --user): Biblioteca de parsing para Python. (note a ausência do sudo no comando!)
  • Docker: cria ambientes completamente isolados para teste e validação (sudo apt-get install docker.io)

Já que vamos utilizar o Python, vale a pena instalar as seguintes ferramentas:

  • virtualenvwrapper: isola ambientes de desenvolvimento
  • flake8: busca erros de estilo e programação no seu código
  • black: formatador de código de acordo com o guia de estilo do Python
  • pytest, pytest-cov: criação de testes unitários
* Editores de código/IDE: Utilize o seu favorito. Caso precise de uma recomendação, seguem algumas:
  • PyCharm Educacional - IDE com ótimos recursos de introspecção e refatoração, mas adora memória RAM. Possui uma versão livre e uma versão profissional paga, mas que é gratuita para estudantes.
  • VSCode - um bom meio termo entre uma IDE e um editor de código leve. Criado para Javascript, mas possui bons plugins para Python e várias outras linguagens.
  • Vi/Vim - herança dos anos 70 que nunca morre ;) Instale os plugins para Python.

DICA: em todos os casos, prefira instalar os pacotes Python utilizando o apt-get ou o mecanismo que sua distribuição fornece e, somente se o pacote não existir, instale-o utilizando o pip. Se utilizar o pip, faça a instalação de usuário utilizando o comando pip3 install <pacote> --user (NUNCA utilize o sudo junto com --user e evite instalar globalmente para evitar problemas futuros com o APT). Melhor ainda: isole o ambiente utilizado em cada disciplina com uma ferramenta como o Virtualenv ou o [Poetry](https://poetry.eustace.io).

Linux e Docker

Os comandos de instalação acima assumem uma distribuição de Linux baseada em Debian. Não é necessário instalar uma distribuição deste tipo e você pode adaptar os comandos para o gerenciador de pacotes da sua distribuição (ou o Brew, no caso do OS X). Apesar do Linux não ser necessário para executar a maior parte das tarefas, é altamente recomendável que todos instalem o Docker para compartilharmos ambientes de desenvolvimento previsíveis (por exemplo, eu testarei as submissões em containers específicos que serão compartilhados com a turma). É possível executar o Docker em ambientes não-Linux utilizando o Docker Machine ou o Vagrant. Deste modo, cada aluno deve providenciar a instalação do Docker e Docker Compose na sua máquina.

Bibliografia principal

BOURG, David., Physics for game developers, 1 a ed. – O'Rilley, 2002 Pymunk: http://www.pymunk.org/ Manual do Chipmunk: https://chipmunk-physics.net/release/ChipmunkLatest-Docs/

Cronograma de atividades

Consultar cronograma.

Obs.: O cronograma está sujeito a alterações.

About

Repositório da turma no semestre 2020/1

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published