/lp1_exercicios

Exercícios da disciplina de Linguagens de Programação I

GNU General Public License v3.0GPL-3.0

Exercícios: CC BY-NC-SA 4.0 Código: GPL v3

Exercícios de Linguagens de Programação I

Este repositório contém uma série de exercícios da disciplina de Linguagens de Programação I da Licenciatura em Aplicações Multimédia e Videojogos da Universidade Lusófona de Humanidades e Tecnologias em Lisboa.

Os alunos podem e devem fazer fork deste repositório, clonar o mesmo para o seu PC e propor resoluções para os exercícios (e mesmo novos exercícios) através de pull requests. A forma de colaboração está descrita em detalhe na secção Colaboração.

Conteúdos

  1. Git
  2. Bases de C#
  3. Programação Orientada a Objectos
  4. Diagramas UML para classes
  5. Design Patterns
  6. Tópicos avançados de C#
  7. MonoGame
  8. Unity

Os alunos podem contribuir com soluções para os exercícios propostos, podendo inclusive propor novos exercícios. Os seguintes passos descrevem uma forma relativamente simples de contribuir para este repositório.

Que ficheiros alterar?

Os exercícios estão na pasta problemas. Cada ficheiro Markdown corresponde aos exercícios de uma parte da matéria. Se o aluno adicionar um exercício, deve seguir a numeração e formatação dos exercícios anteriores. Pode opcionalmente adicionar a autoria do exercício através de um link à sua página do GitHub. Se o exercício for retirado ou adaptado de outra fonte, deve ser colocada uma referência a essa fonte.

As soluções estão na pasta solucoes. Por sua vez, cada sub-pasta contém uma série de ficheiros Markdown com as soluções dos exercícios de determinada parte da matéria. Cada ficheiro corresponde a uma ou mais soluções de apenas um dos exercícios. Se o aluno apresentar uma nova solução, pode opcionalmente assinar a autoria da mesma através de um link à sua página do GitHub.

Em qualquer dos casos, o aluno pode também adicionar o seu nome/link a página do GitHub na secção Colaboradores desta página, mais abaixo.

São ainda aceites pull requests com correções a esta página, às licenças, e por ai fora.

Obter/atualizar repositório local

Primeira colaboração

  1. Cria uma cópia (fork) deste repositório (tipicamente denominado upstream) na tua conta do GitHub (botão Fork no canto superior direito). A cópia do repositório na tua conta é geralmente chamada origin.
  2. Obtém uma cópia local (no teu PC) do repositório origin com o comando git clone https://github.com/OTeuUserName/lp1_exercicios.git (substituir OTeuUserName pelo teu nome de utilizador no GitHub).
  3. Dar conhecimento ao teu repositório local da existência do repositório remoto upstream com o comando git remote add upstream https://github.com/VideojogosLusofona/lp1_exercicios.git.
  1. No teu repositório local, certifica-te que estás no ramo master:
    • $ git checkout master
  2. Descarrega as novidades do repositório upstream e junta-as (merge) ao teu ramo master:
    • $ git fetch upstream
    • $ git merge upstream/master
  3. Carrega (push) as novidades do upstream para o repositório origin:
    • $ git push origin master

Efetuar alterações e solicitar integração

  1. Dentro da pasta dos exercícios, chamada lp1_exercicios, cria um ramo (branch) para inserires as tuas novas propostas:
    • $ git branch meu_ramo
    • $ git checkout meu_ramo
    • O nome meu_ramo pode ser substituído por qualquer outro nome.
    • O primeiro comando cria o ramo, o segundo comando muda o git para esse ramo. Os dois comandos podem ser compactados num só: $ git checkout -b meu_ramo.
  2. Uma vez no novo ramo, faz as alterações/propostas às soluções e/ou aos exercícios. Cada alteração/proposta deve ser especificada com pelo menos um commit:
    • $ git add nome_dos_ficheiros_alterados
    • $ git commit -m "Descrição das alterações efetuadas"
  3. O novo_ramo deve ser carregado (pushed) para o repositório origin (ou seja, para o fork que criaste no GitHub):
    • $ git push -u origin meu_ramo
    • A opção -u é necessária pois nesta fase o teu repositório no GitHub (origin) ainda não conhece o ramo chamado meu_ramo.
  4. Uma vez confirmado que o push foi realizado com sucesso, deve ser solicitado um pull request (pedido de integração) na árvore original dos exercícios (upstream). Para o efeito basta clicar no botão New pull request e solicitar a seguinte integração:
    • Base fork VideojogosLusofona/lp1_exercicios, base master (local onde queres integrar as tuas alterações).
    • Head fork OTeuUserName/lp1_exercicios, compare meu_ramo (as tuas alterações que queres ver integradas).
    • Clica no botão verde Create pull request, e deixa uma pequena descrição da razão do pedido de integração, clicando depois novamente em Create pull request.
  5. Caso o pull request não tenha sido aceite, volta ao ponto 2.
  6. Caso o pull request tenha sido aceite, podes seguir os passos indicados em Colaborações seguintes, de modo a juntares as alterações que propuseste ao teu ramo master. Posteriormente podes eliminar o meu_ramo localmente e remotamente (origin) com os seguintes comandos:
    • $ git branch -d meu_ramo
    • $ git push origin :meu_ramo

Licenças

Estes exercícios são disponibilizados através da licença CC BY-NC-SA 4.0. O código associado aos exercícios é disponibilizado através da licença GPLv3.

Metadados