Programming and Algorithm II

Base Knowledge

N/A

Teaching Methodologies

The assessment of this course unit, in the form of continuous assessment, is carried out using an individual test, weighted at 40%: with a written component, without consultation, 50%, and an oral component, for explaining the algorithm and justifying the code developed, 50%.

An individual programming assignment, weighted at 60%. The project will be developed during a class (typically lasting 2 hours), with access to AI GEN under rules. The assessment of the programme will take into account the components of ethics (bibliographical references, use of AI, comments and others), style (sequence, abstraction, readability, comments, etc.) and functionality (correctness and efficiency of the programme in all possible test inputs), with a weighting of 50%; individual oral defence of the project, with a weighting of 50%.

 

Exam – 100%

Learning Results

In this curricular unit the learner is expected to acquire knowledge and develop skills to use programming languages in a structured way. Analyze problems, develop and implement algorithmic solutions. Implement algorithms in Python programming language and others (Javascript, C, etc). Know how to edit, compile and run programs in various environments and platforms.

Program

Data science with Python:

Python basics

Python control structures

Processing data from a file

Dates and times

Processing JSON data

Jupyter Notebbok, Github

Introduction to NumPy

Reading data from a file using Pandas, manipulating data with Panda

Extracting rows and columns

Data Aggregation using Pandas

Joining Pandas Dataframes

Wide and Long Data Formats

Visualizing Data using Matplotlib

Grading Methods

Continuing Evaluation

 

Individual project  - 60.0%

Frequency - 40.0%

 

Exam

Exam - 100.0%


    Internship(s)

    NAO

    Bibliography

    Python Data Science Handbook

    https://jakevdp.github.io/PythonDataScienceHandbook/index.html  

     

    Python for Computational Science and Engineering

    https://github.com/fangohr/introduction-to-python-for-computational-science-and-engineering/blob/master/Readme.md

     

    “The Little Book of Algorithms”

    http://bit.do/LBOA

     

    Beginner’s Guide to Jupyter Notebooks for Data Science

    https://morioh.com/p/a41ec25edc0a  

     

    What is GitHub?

    https://docs.google.com/document/d/1v3IQrC_0pFxsRBXsvCEzKBDAmYjzuSJCvXhkg8ewDn0/edit#

     

    Harvard University: cs50.dev