Giter VIP home page Giter VIP logo

opendevufcg / tamburetei Goto Github PK

View Code? Open in Web Editor NEW
235.0 3.0 169.0 373.88 MB

Fazendo de tamburete as cadeiras de CC@UFCG.

Home Page: https://tamburetei.opendevufcg.org/

License: MIT License

Python 28.47% Java 15.33% Jupyter Notebook 35.32% TeX 5.84% JavaScript 5.55% CSS 1.45% C++ 2.11% C 0.20% SCSS 1.23% Haskell 4.12% Prolog 0.39%
cc ufcg study opensource computacao hacktoberfest hacktoberfest-accepted

tamburetei's Introduction

Tamburetei chat on Discord

Tamburetei Logo

Tamburetei vai te ajudar a fazer de tamburete aquela cadeira de CC. Direcionado ao curso de Ciência da Computação da UFCG, esse repositório é um trabalho colaborativo contendo dicas, links úteis e leites das disciplinas do curso. A ideia é que veteranos ajudem os novatos e ninguém mais passe sufoco em nenhuma cadeira. :)

Como contribuir

Leia o Guia do Primeiro PR ou se você jé é experiente no mundo open source CONTRIBUTING.md!

É normal uma disciplina mude de metodologia ao longo do tempo. Se você notou alguma informação defasada, abra uma issue alertando-nos sobre o fato e, quem sabe, contribua para resolvermos o problema.

Como funciona?

Cada disciplina do curso vai possuir seu próprio diretório, nele estarão os seguintes conteúdos:

Arquivo Finalidade
resumos/ Esse diretório se destina a resumos sobre assuntos específicos da disciplina. Devem ser bem divididos e fáceis de entender.
implementacoes/ Esse diretório (que existe apenas para disciplinas em que seja pertinente) se destina a implementações úteis para aqueles que estejam cursando a disciplina. Devem ser fáceis de entender e bem documentadas.
dificuldadesComuns.md Contém a descrição das dificuldades mais comuns da disciplina e relatos de alunos que já a cursaram.
extras.md Caso necessário, outros tópicos devem ser inseridos nesse arquivo.
leites/ Diretório com os leites dos períodos passados, separados por período (em seções do README.md ou em pastas). Preferencialmente, contém apenas provas e listas de exercícios.
linksUteis.md Contém links de qualquer tipo de material que possa ser útil para estudar os assuntos da disciplina.
visaoGeralEDicas.md Esse arquivo contém três seções: Ementa, uma lista dos tópicos formalmente abordados na disciplina, Visão Geral, uma breve descrição da disciplina e de sua importância para a carreira do cientista da computação, e Dicas, uma lista de dicas úteis para aqueles que irão começar a cursar a disciplina.

Para facilitar a criação dessa estrutura, você pode utilizar um script que disponibilizamos. Para usá-lo, basta ter Python instalado em sua máquina. Dito isso, navegue até a pasta scripts em seu terminal:

cd scripts

E, em seguida, execute o comando:

./create_folder_structure

Agora basta informar o nome da disciplina e a nova pasta será criada!

Regras

  • Respeite o código de conduta.
  • Proibido falar mal dos professores. Evite, ao máximo, comentar opiniões pessoais de qualquer natureza sobre professores.
  • Proibido publicar soluções de atividades avaliativas das disciplinas que se repetem todos os períodos, tais como os roteiros de LEDA e os laboratórios de LP2.

Disciplinas

1° Período 2° Período 3° Período 4° Período 5° Período 6° Período 7° Período 8° Período 9° Período
FMCC I FMCC II Álgebra
Linear
Introdução à Probabilidade Estatística
aplicada
Metodologia
Cientifica
ATAL Projeto em Computação I Projeto em Computação II
Programação I Programação II Estrutura de Dados OAC SO Programação Concorrente Compiladores Pré-TCC TCC
Laboratório de Programação I Laboratório de Programação II Laboratório de Estrutura de Dados LOAC Redes Inteligência Artificial Optativa Geral Optativa Geral Optativa Específica
Introdução à Computação Cálculo Diferencial e Integral I Cálculo Diferencial e Integral II Banco de Dados I Teoria da Computação Optativa Específica Optativa Específica Optativa Específica Optativa Específica
Optativa Geral Optativa Geral Lógica para Computação Psoft Engenharia de Software Optativa Específica Optativa Específica Optativa Específica Optativa Específica
Teoria dos grafos PLP Análise de Sistemas Optativa Específica

Optativas Gerais

Optativas Específicas

Tambureteiros

tamburetei's People

Contributors

alvesmatheus avatar caio-galvao avatar dfquaresma avatar emys-alb avatar fanny avatar felipesqra avatar gabrielfelipeg avatar gabrielfernans avatar issilva5 avatar joserenan avatar juanbarros2 avatar juliobguedes avatar leandraos avatar lucasecdb avatar lucasmedeiros avatar mariaeduardadeazevedo avatar matheusarauj avatar monuelo avatar pedroespindula avatar pedrosqra avatar raissonsouto avatar renatodh avatar ricardoadley avatar rochasofia avatar rodrigoec avatar tarsojabbes avatar thalytabdn avatar thayannevls avatar viniciusbds avatar vinifarias avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

tamburetei's Issues

Relatar aplicações de fmcc1

Relatar em visaoGeralEDicas aplicações da cadeira de FMCC1 no curso e na vida real de cientista da computação, mostrando a importância da cadeira.

Implementações em Alloy de Lógica para Computação

A quantidade de material sobre Alloy disponível na internet é pequena, então ter acesso a projetos antigos ajuda muito quem está tendo seu primeiro contato com a linguagem. Como as especificações são renovadas a cada período, esse acesso não acarretará em casos de cópia.

A ideia é, basicamente, caçar implementações de projetos em Alloy (não só da disciplina) e linkar os repositórios encontrados para facilitar a busca de material.

Adicionar tutorial de Entrada e Saída de dados em prog1

É preciso fazer um tutorial ensinando o básico de entrada e saída de dados, já que é um assunto ensinado em Programação 1.

O que deveria ser abordado:

raw_input(), input(), print() e etc...

Este tutorial deve ser feito em Python Notebooks, e colocado na pasta tutoriais/

Criar pasta resumos

Acho que os alunos podem upar seus resumos sobre algum assunto da cadeira, e isso poderia ficar separado. O que acham?

Teria só que adicionar resumos/ no readme

Criar Contributing.md

Até agora, as informações de contribuição estão no README. Isto não é ruim, porque se tornam visíveis. Mas o que acham de adicionar o CONTRIBUTING.md? Não é mais adequado para as diretrizes de contribuição?

Adicionar implementações úteis de Projeto de Software

Fui monitor de Projeto de Software período passado e uma dificuldade que percebi no pessoal se deve à falta de exemplos bons e simples de implementação com tecnologias frontend, como React, Angular e Vue. Eu poderia contribuir com alguns de React. Alguns exemplos legais:

  • Lista de tarefas
  • App de notas
  • Blog simples
  • Mini loja virtual, com carrinho e pesquisa de produtos
  • Formulários de registro e login de usuários

Dúvidas:

  1. Acham pertinente esta issue ?
  2. Se sim, teriam alguns exemplos que poderiam ser adicionados ou retirados ?
  3. As implementações devem ser obrigatoriamente em português ?

Completar cadeiras de p1 para semana do fera

Precisamos nos preparar pra semana do fera e listar algumas coisas que precisamos fazer com urgência até lá

  • FMCC1
    • Coletar informações sobre FMCCI
    • Visão Geral e Dicas
      • Ementa
      • Visão geral
      • Dicas
    • Extras
    • Links úteis
    • Dificuldades comuns
  • IC
    • Coletar informações sobre IC
    • Visão Geral e Dicas
      • Ementa
      • Visão geral
      • Dicas
    • Extras
    • Links úteis
    • Dificuldades comuns

Slides são materiais permitidos?

Apesar de ser uma ótima fonte de conteúdo, ter slides aqui pode levar os alunos do período vigente a acessar um material desatualizado. Além disso, os próprios professores disponibilizam seus slides em planilhas/drives/canvas/sites.

Assim sendo, é válido tornar slides um material proibido no Tamburetei?

Criar um README.md para cada pasta

Para cada disciplina, ter um README.md que fosse tipo um sumário do que se tem

  • prog1

  • EDA

  • LEDA

  • logica

  • calculo1

  • prog2

  • probabilidade

  • psoft

O formato CamelCase está bom?

Queria perguntar enquanto ainda há tempo kkkk se o formato CamelCase pros arquivos está bom, ou se mudaria para underscore

CamelCase: visaoGeralEDicas.md

underscore: visao_geral_e_dicas.md

Interface Web

Talvez pudesse haver uma aplicação web para visualização e navegação mais amigável deste repositório. Algo desse tipo:

image

Algumas vantagens/sugestões seriam:

  • stack overflow para cada disciplina (com melhores respostas e tudo mais)
  • interface amigável para feras
  • multimídia

Adicionar exemplos com aplicações de conceitos de Introdução à Probabilidade

Adicionar exemplos (preferencialmente em R ou Python) que, a partir de alguma base de dados, apliquem conceitos vistos em Introdução à Probabilidades, tais como:

  • Cálculo de média, mediana e moda
  • Dispersão dos dados
  • Correlação de variáveis
  • Cálculo de probabilidade condicional

Também é interessante que haja interpretação dos resultados e dos dados, conforme trabalhado na disciplina.

Adicionar resoluções de exercícios de Lógica para Computação

Uma das dificuldades enfrentadas por alunos da disciplina é encontrar exemplos de resoluções de questões que possam ajudá-los a exercitar para as provas. Alunos que estejam cursando a disciplina e estejam dispostos a disponibilizar suas soluções podem fazê-lo da forma que preferirem (imagens, PDFs, arquivos LaTeX, etc).

Como incentivar feras a contribuirem aqui

Eu queria fazer um ambiente fácil e simples para os feras que nunca tiveram contato com GITHUB possam contribuir e terem a primeira experiência, talvez a issue #21 possa ajudar muito nisso. Agora como fazer eles chegarem até aqui?

Adicionar leites de calculo2

Eu tenho alguns leites de cálculo 2 em .pdf (são de 17.2) que peguei com o professor antes de acabar a disciplina. É pertinente?

Se precisar adicionar mais arquivos/links com dificuldadesComuns.md,extras.md, linksUteis.md e visaoGeralEDicas.md antes de adicionar os leites, eu posso fazer, apesar de que eu não acho que seja a melhor pessoa pra fazer isso.

Implementações de Prog2

Os conceitos que eu acho que poderiam ser mostrados:

  • Exemplo básico de herança
  • Exemplo do padrão Strategy
  • Exemplo de Composição
  • Exemplo de Comparable
  • Exemplos dos tipos de polimorfismo
  • Exemplos usando funcionalidades novas do Java8
  • Exemplos de equals, toString e hashCode
  • Exemplos de testes com Junit

Claro que um pode se misturar com o outro

Cálculo de complexidade de algoritmos em EDA

Discutindo em #5 , @JuanBarros2 falou que uma das maiores dificuldades em EDA é o cálculo de complexidade e também acho que é o que tem menos material online. Alguém tem uma ideia de como a gente possa incluir aqui exemplos de cálculo de complexidade de algoritmos de uma maneira amigável e simples?

Criar script que gera uma disciplina nova

Contribuidores tem dificuldade em entender os padrões de pastas e que é preciso ter os arquivos padrões em cada disciplina. Pra isso seria bom criar um script que aceite como argumento o nome da disciplina e crie todos os arquivos que são necessários.

O ideal é que o script seja em python ou sh.

Definir melhor restrição de upload de arquivos

Github manda um warning depois que o repositório atinge 1GB, é bom nos mantermos longe desse limite. Então, é preciso definir melhor as restrições para upar arquivos PDFs ou parecidos aqui no repositório, penso em talvez:

  • Provas é permitido upar
  • Arquivos a partir de tamanho X, devem ser upados em um local diferente, e referenciados pelo link

Isso teria que ficar no CONTRIBUTING.md

Incluir materiais de probabilidade

Com a mudança de grade, a ementa de probabilidade mudou, tornando os leites de probabilidade obsoletos, seria bacana incluir esse novo material.

Adicionar resumos de OAC

OAC é uma disciplina muito carregada em termos de quantidade de conteúdo, então seria bom que tivéssemos resumos e provas antigas disponíveis.

Relatar aplicações de cálculo 2

Escrever em visão geral de cálculo 2 como o assunto ensinado se aplica no curso e na vida real de cientista de computação, relatando a importância da cadeira.

Adicionar resumos de Projeto de Software

Adicionar resumos sobre os tópicos abordados durante a disciplina, dando prioridade a explicações amigáveis para pessoas com pouca ou nenhuma experiência com web. Algumas sugestões de tópicos:

  • Padrões de Projeto
  • HTML
  • CSS
  • JavaScript

Materias e links úteis de Prog2

Eu queria algumas ferramentas que auxiliem a fazer diagramas de classes e também aquele plugin do eclipse que gera automaticamente a partir do seu código

Como indicar o último período de referência

Tipo, ao editar as coisas em programação 1, quis indicar que eu paguei a cadeira em 17.2 e estou usando as informações que eu tinha na época e que talvez possam ter mudado. Queria saber como a gente poderia incluir esse campo de período de referência pra guardar o da pessoa mais recente 🤔

Quais seriam as dificuldades mais comuns em Programação 1?

Acho que uma das maiores dificuldades é aprender a ser autodidata e também ver que estudar para programação é muito diferente de outras disciplinas. Apesar que eu não sei dizer o que mais pode ajudar a superar essas dificuldades.

Sugestões?

Refatorar códigos em python para seguir o PEP8

As documentações das implementações de prog1 não estão seguindo o padrão PEP8.

Incluir também um guia das melhores práticas em Python no README.md da pasta prog1. Eu particularmente amo esse, por ser resumido e simples. Nunca vi um assim em português, talvez possamos traduzir depois.

#3

Site estático simples

Implementar um site estático que permita navegar nas disciplinas facilmente, usaremos Gatsby para isso, e ficará disponível https://tamburetei.opendevufcg.org

Também é bom que os arquivos de configurações não fiquem soltos no repositórios, pois pode acabar confundindo e deixando poluído, verei uma solução para isso.

Relatar aplicação em visão geral de IC

Escrever em visão geral de Introdução a Computação como o assunto ensinado se aplica no curso e na vida real de cientista de computação, relatando a importância da cadeira.

Implementações de eda

Deve ser feito em python ou java, para facilitar quem está pagando a cadeira e não viu muitas linguagens ainda. Pode pegar só um e ajudar

  • Bubble sort
  • Insertion sort
  • Quick sort
  • Merge sort
  • Count sort
  • Busca binária
  • Pilha
  • Fila
  • LinkedList
  • Árvore BST

Sugestões de mais algoritmos são aceitos 😄

Implementações de Prog1

Como a cadeira P1 é paga com python, todas as implementações tem que ser em python

Algumas que pensei:

  • Bubble sort
  • Insertion sort
  • Selection sort
  • Split
  • Reverso
  • Algum exemplo bom de uso de If & else de sua escolha
  • Achar o maior número de uma lista
  • Fatorial com recursão
  • Somar diagonal principal de uma matriz
  • Exemplo usual de dicionário
  • Exemplo explicado das estruturas de repetição, For, While, Do while...

Se tiverem mais sugestões, a vontade.

Referencie essa issue na sua PR para nos mantermos atualizados do progresso

Adicionar materiais sobre uso do Linux

Acho que seria interessante adicionar alguns materiais sobre o Linux, seus comandos, o funcionamento de sua estrutura de arquivos etc. Quando você é novato e está acostumado com o Windows, tudo isso é muito confuso. Vale até também indicar umas distros que são mais parecidas com o Windows para que o choque não seja tão grande.

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.