Programação para Juristas

Objectivos

Objetivo geral

  • Conhecer de forma panorâmica os principais aspectos referentes à lógica de programação com base na linguagem Python.

Objetivos específicos:

  • Compreender aspectos técnicos da utilização de um computador para além do nível ¿utilizador básico¿.
  • Compreender os principais aspectos da lógica de programação.
  • Conhecer os comandos básicos utilizados na linguagem Python.
  • Estimular a criatividade em busca de soluções tecnológicas próprias para a área jurídica.

Caracterização geral

Código

37064

Créditos

6

Professor responsável

JOSÉ FONSECA

Horas

Semanais - 4.5

Totais - A disponibilizar brevemente

Idioma de ensino

Português

Pré-requisitos

A disponibilizar brevemente

Bibliografia

A bibliografia a seguir é apenas sugestão, já que os alunos poderão obter informações sobre programação em Python em várias IGNOREes na internet.

  • Python Crash Course: A Hands-On, Project-Based Introduction to Programming  Eric Matthes
  • Head First Python  Paul Barry
  • Learn Python the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code  Zed A. Shaw
  • Python Programming: An Introduction to Computer Science  John Zelle, Michael Smith
  • Python Cookbook: Recipes for Mastering Python 3  David Beazley, Brian K. Jones
  • Introduction to Machine Learning with Python: A Guide for Data Scientists  Andreas Muller
  • Automate the Boring Stuff with Python, 2nd Edition: Practical Programming for Total Beginners  Al Sweigart

Método de ensino

O programa será cumprido por meio de aulas expositivas em PowerPoint sobre os temas do conteúdo programático e por meio da utilização constante de computador ¿ por parte do professor e dos alunos ¿ nas aulas. Ainda que existam aspectos teóricos a serem explicados, o conteúdo será mais bem apreendido por meio de interação prática dos alunos com a linguagem Python.

Método de avaliação

Serão realizados, ao longo do semestre letivo, quatro atividades avaliativas, em datas indicadas no cronograma de atividades (ver adiante). Cada atividade corresponderá a 25% da nota final do aluno: a cada atividade será atribuído o máximo de 20 valores e a nota final do aluno corresponderá ao somatório da nota de cada uma das atividades dividido por quatro (número de atividades).

De maneira sucinta, cada atividade consistirá na criação de um programa em Python a respeito de um tópico a ser indicado pelo professor aos alunos no dia da avaliação. No que diz respeito ao conteúdo, a avaliação será cumulativa, o que se justifica pela própria lógica da cadeira.

Critérios gerais de avaliação:

  1. O programa exigido precisará funcionar sem erros e realizar aquilo que for solicitado (60%  12 valores);
  2. Forma de apresentação dos resultados ao utilizador (10%  2 valores);
  3. Número reduzido de linhas de código (15%  3 valores);
  4. Maneira criativa de estruturar o programa apresentado (15%  3 valores).

Critérios específicos de avaliação:

  1. Cada uma das atividades deverá ser realizada exclusivamente em grupos, com no mínimo 3 e no máximo 4 componentes.
  2. No dia de realização das atividades o grupo poderá utilizar, durante o desenvolvimento do código e conforme sua própria escolha, um único computador, ou cada membro do grupo poderá utilizar seu próprio equipamento de maneira individual.
  3. Após o grupo terminar a criação do código, este deverá ser enviado pela maneira indicada pelo professor. O ficheiro deverá ser enviado no máximo até o horário final da aula (18h no caso da atividade ser realizada em uma quarta-feira ou 15h no caso da atividade ser realizada em uma quinta-feira). Não serão aceitos, em nenhuma hipótese, atrasos no envio; caso o ficheiro seja enviado após o horário anteriormente indicado o mesmo será desconsiderado, com o grupo recebendo automaticamente a nota zero naquela atividade. O professor enviará um e-mail de resposta confirmando o recebimento do ficheiro.
  4. A indicação de autoria do código deverá ser feita no próprio ficheiro em que o código foi redigido. A autoria deverá ser indicada exclusivamente com base no número de aluno, na forma de comentário no código, logo às primeiras linhas.
  5. A nota final será atribuída ao grupo como um todo, não havendo hipótese de avaliação diferenciada para membros do mesmo grupo.
  6. Caso algum aluno não possa estar presente no dia de determinada atividade seu grupo não deverá indicar o número de alunoda pessoa que estiver ausente. Neste caso a nota da próxima atividade valerá o dobro para o aluno ausente, de maneira a compensar a nota da atividade em relação à qual o aluno não obteve nota. Por questões de calendário este critério não se aplica caso o aluno esteja ausente no dia da Atividade 4; neste caso será atribuída ao aluno ausente a nota zero nesta atividade.
  7. O exame final não será obrigatório para todos os alunos. Deverão realizar o exame final, na data indicada no cronograma, os alunos que estiverem em uma das seguintes situações:

7.1) Aqueles que não tenham atingido a nota mínima para aprovação na cadeira;

7.2) Aqueles que tenham atingido a nota mínima para aprovação na cadeira, mas que desejem melhorar a sua nota final.

  1. Caso o aluno se encontre na situação prevista no item 7.1, sua nota final na cadeira corresponderá à nota obtida no exame final, ou seja, a nota obtida como resultado da média das quatro atividades será desconsiderada.
  2. Caso o aluno se encontre na situação prevista no item 7.2, sua nota final na cadeira corresponderá à média entre a nota obtida no exame final e a média das quatro atividades realizadas ao longo do semestre.
  3. No que diz respeito à valoração de nota, o exame final seguirá os mesmos Critérios gerais de avaliação anteriormente apresentados.

Dúvidas poderão ser sanadas junto ao professor diretamente em sala de aula pelo email do professor.

Conteúdo

  • Apresentação básica dos principais componentes de um dispositivo eletrônico.
  • Estruturação da lógica de programação.
  • Aspectos técnicos da linguagem Python.

Cursos

Cursos onde a unidade curricular é leccionada: