Ementa: O objetivo da disciplina de Linguagens de Programação é apresentá-las, comparando os vários paradigmas, e promovendo o desenvolvimento da maestria em uma linguagem multiparadigmática, além de fundamentos de outras linguagens relevantes para o ecossistema de um matemático aplicado ou cientista de dados. Também serão apresentados os processos de versionamento e teste, característicos do desenvolvimento de software.
Why Python? 1, 2, 3, 4
PLs history
PLs timeline
PLs paradigms
What (not) to do to learn programming?
"Hello World" in 50 different programming languages
Um tutorial de Python
Truques com Python
Visualização da execução de código
Estruturas de Dados
Formatação de strings / output no Python
Objetos mutáveis e imutáveis
iterators e generators
Domine o basico de D em uma hora!
Atualizando o editor padrão do Git bash (para usuários Windows):
git config --global core.editor "nano.exe"
- Tutoriais de Git ref1, ref2, ref3, ref4, ref5, ref6, ref7, ref8, ref9, ref10
cheat sheet - Ambiente Interativo
- Git Cheat Sheet
======= Git references
Configurações:
- Configurando o upstream localmente
- Sincronizando um fork de repositório com o upstream
- Desfazendo um commit
- Procurando coisas no repositório
- Resolvendo conflitos no Git
Tutorial
Diferenças de Implementação
Project Euler
Brilliant
URI Online Judge
Exercícios em Python
Rosetta Code
Exercism
Exemplo de Banco de Dados
Making CLI Tools with Python
- Para as tarefas mais curtas na linguagem Python, Incluido os Quizzes, utilizaremos o Repl.it. Link para convite de inscrição
- Para projetos mais complexos usaremos Google Classroom, para publicação das tarefas e as entregas serão feitas via Github.
- Ambiente de Programação Matemática: Cocalc. Inclui Sage, Python, R, Shell linux, Jupyter, etc.
Historia do movimento opensource e do sistema operacional Linux
Documentario sobre a origem da cultura hacker.