Skip to content

Disciplina de Laboratório de Programação I, UFSM, 2º semestre, 2024

Notifications You must be signed in to change notification settings

BenhurUFSM/l124b

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

l124b

Disciplina de Laboratório de Programação I, 2° semestre de 2024 ELC1065 DLSC/CT/UFSM
professor: Benhur Stein (benhur+l124b@inf.ufsm.br)
terças e quintas, 14h30
sala 334, prédio 7 (principal do CT)
aluno monitor: Enzo Silveira (enzo.silveira2@gmail.com)

Desenvolvimento da disciplina

Os canais de comunicação entre o professor e os alunos são:

O e-mail pode ser usado para o envio de perguntas, exercícios, reclamações, sugestões, críticas e o que mais for, durante todo o período em que durar a disciplina.

Esta página concentrará os assuntos vistos em aula, a descrição de exercícios e trabalhos, avaliações, etc. Ela será atualizada durante todo o semestre. Ela é o canal oficial de informações sobre a disciplina. Todos os alunos devem olhar o que está aqui periodicamente (recomendo habilitar notificações no github).

O objetivo da disciplina, aprender a programar computadores, envolve conceitos que podem levar um tempo razoável para serem adquiridos. A disciplina é bastante prática, e exige que os alunos se dediquem bastante e desenvolvam trabalhos práticos. É necessário dedicar um bom tempo à disciplina, além do tempo em aula. Use os canais de comunicação com o professor para sanar dúvidas. Compartilhe dúvidas e dicas com os colegas (mas não copie trabalhos).

Não deixe as dúvidas acumularem.

Para realizar as práticas, é necessário acesso a um computador e a um ambiente de desenvolvimento de programas, com (pelo menos) um editor de textos e um compilador da linguagem 'C'. A universidade dispõe de laboratórios com computadores para acesso aos alunos, com todo o software necessário instalado; consulte o NCC.

Existem ambientes de programação gratuitos online, como replit e onlineGDB. Os exercícios e trabalhos iniciais da disciplina podem ser desenvolvidos nesses ambientes, mas geralmente é menos confortável que usar ferramentas instaladas localmente.

Os trabalhos serão avaliados em um ambiente linux, usando o compilador gcc. Os programas entregues pelos alunos devem compilar e executar corretamente nesse ambiente. Recomendo que tenha um ambiente linux no seu computador.

A principal forma de avaliação dos alunos será através do desenvolvimento de pequenos programas de computador, a serem enviados para o professor. O trabalho final do semestre será um pouco mais complexo. A descrição desses trabalhos, bem como a forma e data de entrega dos mesmos será disponibilizada nesta página.

Os trabalhos entregues não serão imediatamente pontuados, mas comentados de forma individual ou coletiva. Espera-se que esses comentários sejam aproveitados para gerar novas e melhores versões dos programas, como forma de aprendizagem. Os programas podem ser alterados e reenviados ao professor, caso restem dúvidas.

A avaliação será realizada no final do semestre. Para isso, cada aluno deverá entregar a versão final de um subconjunto dos trabalhos (a ser definido), juntamente com uma auto-avaliação descrevendo o seu desenvolvimento durante o semestre, contendo uma sugestão de nota. Cada aluno será entrevistado individualmente pelo professor. A nota final será então calculada, considerando:

  • o estado de cada trabalho na data definida de entrega
  • a versão final dos trabalhos
  • a auto-avaliação
  • a entrevista.

Para quem não alcançar a nota suficiente (7), haverá uma prova escrita de recuperação (chamada exame).

Aulas

Os assuntos vistos em aula serão listados aqui.

N data assunto
1 10set apresentação, interrompida para recepção aos calouros
2 12set introdução
3 17set primeiro programa C
4 19set primeiro programa C, cont.(e/s de números, funções, exercícios)
5 24set exercícios da a4
6 26set printf, scanf; float
1out vade retro vīrus
7 3out seleção com if
8 8out seleção com switch
9 10out repetição com while
10 15out repetição com for
11 17out exercícios de repetição
12 22out vetores
13 24out vetores como argumento; strings
14 29out implementação do t1
15 31out entrada de strings; exercício
16 5nov t2
17 7nov referências
18 12nov registros (struct)
19 14nov t2; complementos
20 19nov arquivos
21 21nov alocação dinâmica de memória
22 26nov JAI
23 28nov JAI
24 3dez
25 5dez
26 10dez
27 12dez
17dez sexta-feira
19dez exame

Os principais conceitos que serão tratados na disciplina são:

  • tipos básicos de dados (char, int, bool, float, etc)
  • variáveis
  • entrada e saída no terminal (scanf, printf)
  • seleção (if, switch)
  • laços (for, while, do-while)
  • funções (modularização, passagem de parâmetros por valor e referência)
  • vetores, strings, matrizes
  • registros
  • arquivos
  • alocação dinâmica de memória

Exercícios, trabalhos

A descrição dos trabalhos a entregar será colocada abaixo.

N prazo descrição
t1 25out figuras | planilha | implementação vista em aula
t2 18nov n rainhas | planilha
t3 4dez n rainhas gráfico | planilha
t4 números | planilha
final 11dez entrega final

Notas

As datas para a conversa final e as notas estão na tabela. A tabela vai sendo preenchida conforme eu processe os recebimentos das entregas finais. As notas aparecerão após o processamento das conversas. Quem não tiver nota 7, o exame é dia 19, no horário e local habituais das aulas. O exame é uma prova escrita, em papel, sem uso de computadores, sobre todo o conteúdo da disciplina.

Extras

Dicas do monitor para instalar o allegro.

Ementa

Ver no ementário.

Material Auxiliar

Apostila de C da UFPR

Apostila de programação da UFPR

Capítulos iniciais do livro "Introdução a Estruturas de Dados - Com Técnicas de Programação em C - Waldemar Celes". Esse livro está disponível no minha biblioteca, acessível aos alunos da UFSM.

Ajude o robozinho a iluminar o mundo (ajuda no desenvolvimento de lógica de programação, fundamental para o conteúdo da disciplina) lightbot.

Ajude o passarinho a detonar o porco (semelhante ao anterior) code.org

Os grupos PET geralmente oferecem tópicos de apoio a disciplinas iniciais de programação.

About

Disciplina de Laboratório de Programação I, UFSM, 2º semestre, 2024

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages