Skip to content

A repository with leetcode from the programming basics course at the Federal University of Fluminense.

Notifications You must be signed in to change notification settings

brawlingthebits/uff-programming-fundamentals

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Repositório de Questões de Fundamentos de Programação - CEDERJ/UFF

Este repositório contém uma coleção de questões de provas antigas da disciplina de Fundamentos de Programação do curso de Tecnologia em Sistemas de Computação do CEDERJ, oferecido em parceria com a Universidade Federal Fluminense (UFF). O objetivo é fornecer um recurso valioso para estudantes atuais e futuros, permitindo que pratiquem e se familiarizem com o estilo e conteúdo das avaliações.

Sobre o CEDERJ e a UFF

O CEDERJ (Centro de Educação Superior a Distância do Estado do Rio de Janeiro) atua como um mediador entre a Universidade Federal Fluminense (UFF) e os alunos. Esta parceria permite que a UFF ofereça cursos de graduação a distância, como o de Tecnologia em Sistemas de Computação, ampliando o acesso ao ensino superior de qualidade no estado do Rio de Janeiro.

Sobre a Disciplina

Fundamentos de Programação é uma disciplina ministrada no segundo período letivo do curso. Ela tem como pré-requisito a disciplina Projeto e Desenvolvimento de Algoritmos. O principal objetivo é ensinar uma linguagem de programação, especificamente Python, capacitando o aluno a implementar, executar e testar diferentes soluções para problemas computacionais.

Objetivos da Disciplina

  • Objetivo Geral: Capacitar o aluno no uso de uma linguagem de programação procedimental para implementar, executar e testar soluções para problemas.
  • Objetivo Específico: Ensinar programação utilizando a linguagem Python.

Ementa

A disciplina abrange os seguintes tópicos:

  1. Introdução
  2. O Ambiente de Desenvolvimento de Programas
  3. Variáveis, Tipos e Comandos Básicos
  4. Estruturas de Controle: Sequência, Seleção e Repetição
  5. Subprogramação: Funções, Passagem de Parâmetros e Recursividade
  6. Representação de Dados: Listas, Vetores e Matrizes, Strings e Tuplas, Arquivos, Conjuntos, Dicionários
  7. Noções de Complexidade de Algoritmo

Estrutura do Repositório

O repositório está organizado da seguinte forma:

  • AD1s: Questões da Avaliação a Distância 1
  • AD2s: Questões da Avaliação a Distância 2
  • AP1s: Questões da Avaliação Presencial 1
  • AP2s: Questões da Avaliação Presencial 2
  • AP3s: Questões da Avaliação Presencial 3

Dentro de cada pasta, você encontrará subpastas organizadas por semestre (por exemplo, 2024-1, 2023-2, etc.).

Resoluções dos Tutores

Em muitas pastas, você encontrará uma subpasta chamada "katas dos tutores". Estas contêm resoluções das questões fornecidas pelos tutores da disciplina.

Por que "Kata"?

O termo "kata" é usado neste contexto para se referir aos exercícios de programação. Originário das artes marciais, um kata é uma sequência de movimentos que são praticados repetidamente para aperfeiçoar a técnica. Na programação, katas são exercícios curtos e focados que ajudam a desenvolver habilidades específicas através da prática repetida.

Contribuições

Contribuições são bem-vindas! Se você tiver questões adicionais, resoluções alternativas ou melhorias para as existentes, sinta-se à vontade para abrir um pull request.

Aviso Legal

Este repositório é mantido por estudantes e não é oficialmente afiliado ao CEDERJ, à UFF ou à disciplina de Fundamentos de Programação. As questões e resoluções são compartilhadas para fins educacionais.

Bônus - Plataformas e Recursos Recomendados para Prática Adicional

Plataformas de Desafios de Programação

  1. Code Wars (https://www.codewars.com/):

    • Oferece uma ampla variedade de desafios de programação em diferentes níveis de dificuldade.
    • Suporta múltiplas linguagens de programação, incluindo Python.
    • Permite que você veja as soluções de outros usuários após completar um desafio, o que é ótimo para aprender diferentes abordagens.
  2. Bee Crowd (https://www.beecrowd.com.br/):

    • Anteriormente conhecido como URI Online Judge, mencionado no guia da disciplina.
    • Fornece uma grande coleção de problemas de programação, muitos dos quais são usados em competições de programação.
    • Oferece um ambiente de julgamento online para testar suas soluções.

Recursos para Projetos Práticos

  1. App Ideas (https://github.com/florinpop17/app-ideas):

    • Uma coleção de ideias de aplicativos para todos os níveis de experiência em programação.
    • Ótimo para praticar construindo aplicações completas e adquirir experiência em desenvolvimento de projetos.
  2. Project Based Learning (https://github.com/practical-tutorials/project-based-learning):

    • Uma lista curada de tutoriais de programação em que você aprende construindo aplicações.
    • Abrange várias linguagens e tecnologias, permitindo que você aplique seus conhecimentos de Python em contextos mais amplos.
  3. Build Your Own X (https://github.com/codecrafters-io/build-your-own-x):

    • Tutoriais passo a passo para construir suas próprias versões de tecnologias populares.
    • Excelente para entender como as coisas funcionam "por baixo dos panos" e aprofundar seus conhecimentos técnicos.

About

A repository with leetcode from the programming basics course at the Federal University of Fluminense.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages