Programação Aplicada para Ciências de Dados / Applied Programming for Data Science

Docente responsável:
Lucio Studer Ferreira

Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes):
Devido à evolução dinâmica e tendências na área da programação esta disciplina poderá ter variações no futuro, mas tem por objetivos na sua generalidade estimular no aluno:
OA1. Conhecimentos e aptidões avançadas e específicos em programação para ciência de dados usando vários módulos de programação, e.g. Python.
OA2. O aluno deverá adquirir em relação à componente técnica, na conclusão do curso, as competências em saber manipular os diferentes módulos de programação na aplicação de tópicos específicos em data science: manipulação matemática, e.g. vetores, matrizes, etc.(e.g. numpy), processamento estatístico (e.g. Pandas, Stats), Visualização estática e iterativa de dados (e.g. matplotlib, Plotly), Processamento de linguagem natural (e.g. re, NLTK) e outras a definir no programa curricular.

Intended learning outcomes (knowledge, skills and competences to be developed by the students):

Given the constant programming languages evolution and trends specific to data science, this curricular unit may have to change in the future. However, has in its generalization the following learning goals:
LG1. The student must develop advanced specific knowledge and skills on programming languages for data science and its associated libraries or modules, e.g. Python.
LG2: The student has to achieve the technical competences on manipulating and analyzing data with specific libraries or modules from the programming language to be lectured, e.g. python modules such as: math modules (e.g. numpy), statistical analysis (e.g. pandas, stats), Static and iterative data visualization (e.g. matplotlib, plotly), Natural Language Processing (e.g. re, NLTK) among others to be defined by the curricular program.

Conteúdos programáticos:
O programa da unidade curricular é:
CP1. Boas práticas de programação em equipe.
CP2. Definição de ambientes de trabalho em python, jupyter notebooks.
CP3. Programação matemática avançada com numpy.
CP4. Estrutura de dados, estatística e inferência com pandas e stats.
CP5. Visualização de dados estática e iterativa com matplotlib e plotly.
CP6. Processamento de linguagem natural com re e NLTK.
CP7. Referências a outros módulos importantes em ciência de dados, e.g. sklearn, tensorflow, keras e outras.

Syllabus:
The Syllabus is:
PC1. Good programming practices working in team.
PC2. Setting python environments and jupyter notebooks.
PC3. Advanced math programming with numpy.
PC4. Data structures, statistics and inference with pandas and stats,
PC5. Static and iterative data visualization with matplotlib and plotly.
PC6. Natural Language Processing with re and NLTK.
PC7. Reference to other important modules in data science, e.g. sklearn, tensorflow, keras among others.

Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:

OA1- todos os CP
OA2- todos os CP

Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes:

LG1 – all PC
LG2 – All PC

Metodologias de ensino (avaliação incluída):
A metodologia de ensino (ME) e avaliação:
ME1: Expositiva/ Experimental/ Ativa: apresentação teórica breve de acordo com o plano curricular e resolução de problemas em grupo no laboratório informático e projeto de grupo final (40%).
ME2: Auto-estudo: trabalho individual do aluno demonstrado na resolução de trabalhos a atribuir semanalmente (60%).
Notas importantes da avaliação:
– Classificação mínima obrigatória de 8 em cada componente.
– As componentes de avaliação são obrigatórias.
– Os grupos do projeto podem ser entre 2 a 3 elementos.

Teaching methodologies (including students’ assessment):
Teaching methodologies (TM) including assessment:
TM1: Expositional / Experimental/ Active: Brief theoretical exposition according to the syllabus, practical problem solving at informatics laboratory and group final project (40%).
TM2: Self-study: individual work on a weekly basis working problems (60%).
Important assessment notes:
– Mandatory Minimum score of 8 in each component.
– The components of evaluation are mandatory, regardless of the period when the examination is made. – The Final Project, groups can be from 2 to 3 members.

Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
ME1 – todos os OA
ME2 – todos os OA

Evidence of the coherence between the teaching methodologies and the intended learning outcomes:
TM1 – all LG
TM2 – all LG

Bibliografia de consulta/existência obrigatória:
Grus, J. (2015). Data science from scratch: first principles with python. ” O’Reilly Media, Inc.”. Zinoviev, D. (2018). Complex Network Analysis in Python. Edited by Adaobi Obi Tulton. Pragmatic Bookshelf.
Belorkar, A., Guntuku S.C., Hora, S. and Kumar, A. (2020). Interactive Data Visualization with Python. 2nd edition. Packt Publishing. Birmingham UK.

 

Universidade Lusófona


ECATI Escola de Comunicação, Arquitetura, Artes e Tecnologias da Informação

Departamento de Engenharia Informática e Sistemas de Informação
Edifício F, sala F.1.3
Direção — 217 515 500 (ext: 683)
Serviço de Apoio Tecnico-Admistrativo (SATA) — 17 515 500 (ext: 764)


Lisboa
Avenida do Campo Grande,
376 1749-024 Lisboa, Portugal
Tel.: 217 515 500 | email: info.cul@ulusofona.pt
Porto
Rua Augusto Rosa,
Nº 24, 4000-098 Porto - Portugal
Tel.: 222 073 230 | email: info.cup@ulusofona.pt

Gestão de conteúdos por Lucio Studer Ferreira © 2022 COFAC.