Programming II
Keywords |
Classification |
Keyword |
OFICIAL |
Computer Science |
Instance: 2021/2022 - 2S
Cycles of Study/Courses
Teaching Staff - Responsibilities
Teaching language
Suitable for English-speaking students
Objectives
The purpose of this course is to develop the ability of using a programing language to develop complex programs and automatize practical tasks of data exploration, and to offer an introduction to data extraction, processing, and visualization.
Learning outcomes and competences
The student is able to:
- Using the basic Python data structures with confidence.
- Program with the adequate level of abstraction and encapsulation.
- Produce correct, well-structured, and well-documented code.
- Extract and process data from diverse sources and in different formats.
- Use external libraries for the visualization of numerical and geospacial data.
Note: all coding in this course is to be done in Python.
Working method
Presencial
Pre-requirements (prior knowledge) and co-requirements (common knowledge)
Some basic familiarity with the Python language and its development environment is preferential, as present in the program of the
Programming I Curricular Unit.
Program
Review of Python. Basic Python data types. Data types for collections: lists, queues, stacks, tuples, dictionaries and sets. Definition of new data types: class, objects, and methods. Structuring of code using modules.
Three basic programming principles: encapsulation, abstraction and separation of concerns.
Introduction to data extraction and processing. Reading of textual data in different formats and conversion to Python data structures. Programatic manipulation and treatment of data.
Introduction to data visualization. The use of external libraries. Visualization of numeric and geospacial data.
Mandatory literature
Allen Downey;
How to think like a computer scientist. ISBN: 0-9716775-0-6
Complementary Bibliography
Daniel Y. Chen; Pandas for Everyone, Addison-Wesley
Teaching methods and learning activities
- Lectures, with examples of problem solving.
- Practical sessions in the laboratory.
- Homework.
Software
Pycharm Community Edition 2020
keywords
Physical sciences > Computer science > Programming
Evaluation Type
Distributed evaluation without final exam
Assessment Components
designation |
Weight (%) |
Trabalho prático ou de projeto |
70,00 |
Prova oral |
30,00 |
Total: |
100,00 |
Amount of time allocated to each course unit
designation |
Time (hours) |
Estudo autónomo |
106,00 |
Frequência das aulas |
56,00 |
Total: |
162,00 |
Eligibility for exams
All enroled students are considered to have attended the course.
Calculation formula of final grade
Grading will the done via a practical project (70%), to be developed during the practical sessons and including additional homework tasks. An oral defense if the practical project is also planned (30%).
The final grade will be the sum of the grades of the practical project and the oral defense.
Classification improvement
The practical project may be improved and re-submitted during appeal season, and in that case new functionality will be required.