MC346 Paradigmas de programação 2s2024

Horário

2a: das 16h as 18h sala

4a: das 16h as 18h

Inicio das aulas

dia 5/Agosto as 16 horas.

Descrição da disciplina

O objetivo da disciplina é apresentar ao aluno linguagens de programação que diferem de forma significativa das linguagens que ele já conhece: Python, C, e Java. Estas linguagens apresentam um conjunto de conceitos (também chamado de paradigmas) que vão expandir as formas com que um programador pode pensar na solução para um problema.

A disciplina abordará as seguintes linguagens de programação, talvez não nesta ordem:

Avaliação

A avaliação sera composta de tarefas que serão feitas em aula em 15 minutos, e projetos que tem alguns dias para serem feitos e serão submetidos via Google Classroom

Haverá pelo menos 7 tarefas. As tarefas serão nas 3a feiras, provalelmente iniciando as 16:15 e terminando em 15 a 30 minutos. As tarefas são programs curtos nas diferentes linguagens discutidas em aula, e devem ser feitas em papel e entregue em aula. Alguns tarefas serão individuais, e algumas em pares. Isso será indicado na tarefa. Cada tarefa recebe as notas 0 se há mais de um erro ou um erro mais serio, 5 se há apenas um erro de menor impacto, e 10 se não há erros.

Haverá pelo menos 7 projetos. Os projetos são programas mais longos nas diferentes linguagens da disciplina. Projetos terão de 3 a 7 dias (dependendo do projeto) para serem submetidos. Não aceitarei projetos atrasados. Projetos serão individuas.

As duas menores notas das tarefas e as duas menores notas dos projetos serão descartadas. A nota final será a média das notas restantes das tarefas e dos projetos.

Não há substitutiva para as tarefas e os projetos não poderão ser entregues atrasados. Se voce faltar na aula quando há uma tarefa, voce tirará 0 na tarefa, mas note que até dois 0 serão descartados para computar a nota final.

Alunos que tiverem feito pelo menos 4 tarefas e 4 projetos tiverem uma nota final entre 2.5 e 4.9 poderão fazer o exame.

O exame será dia 11/12 no horário de aula.

Observações

Qualquer tentativa de fraude nas tarefas implicará em nota final 0 (zero) para todos os envolvidos, sem demais implicações. Exemplos de fraudes são:

Referencias

Haskell

Livro texto: Learn you a Haskell for greater good

Uma lista de recursos para aprender Haskell

Python

Closure

ML

Scala

Lisp

Go

Rust

Julia