Giter Site home page Giter Site logo

lp2_exercicios's Introduction

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

Exercícios de Linguagens de Programação II

Este repositório contém uma série de exercícios da disciplina de Linguagens de Programação II da Licenciatura em 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 em projetos com assets binários
  2. Revisão de C# e UML
  3. Estruturas de Dados / Coleções
  4. C# avançado e design patterns

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/lp2_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/lp2_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 lp2_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/lp2_exercicios, base master (local onde queres integrar as tuas alterações).
    • Head fork OTeuUserName/lp2_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

lp2_exercicios's People

Contributors

fakenmc avatar nunofachada avatar snigy24 avatar rui-martins avatar insoel avatar nunocarrico98 avatar flaviojosefo avatar aurceramartins avatar leandroswr avatar joavd avatar diogo-martins99 avatar pedrosantosobral avatar joanafmmarques avatar ineesgoncalvees avatar pedrooliveira2007 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.