-
Presentation
Presentation
In this Curricular Unit (CU), we delve into the essential bases of programming applied to Data Science. We improve skills in creating algorithms and building data structures in Python, enabling manipulation (extraction, transformation, storage) and data analysis, the core of Data Science.Strategically located in the first semester of the master's degree, this UC fosters crucial skills. Develops the capacity for abstraction, logical and structured thinking, in addition to improving algorithmic mastery. More than that, it stimulates creative thinking and the ability to solve problems - fundamental skills in training a data scientist. These constitute essential foundations, preparing students for more advanced modules of the master's degree.
-
Class from course
Class from course
-
Degree | Semesters | ECTS
Degree | Semesters | ECTS
Master Degree | Semestral | 7
-
Year | Nature | Language
Year | Nature | Language
1 | Mandatory | Português
-
Code
Code
ULP6613-25230
-
Prerequisites and corequisites
Prerequisites and corequisites
Not applicable
-
Professional Internship
Professional Internship
Não
-
Syllabus
Syllabus
The curricular unit Program Content (PC) is the following: PC1. Introduction to Programming PC2 Introduction to Python language and its syntax PC3. Introduction to the Jupyter Notebook, Google Collab, and Moodle CodeRunner work environments. PC4 Python syntax. Variables and operators. Simple data types. PC5: Flow control, with decision makers and cycles. PC6: Functions. Modules and packages. PC7: Composed data types: lists, tuples, sets, and dictionaries PC8: Manipulation and management of files (text, JSON, CSV). PC9: Data visualization with matplotlib. PC10: Functional programming. Comprehensions, lambda, map, filter, reduce. PC11: Object-oriented programming. classes.
-
Objectives
Objectives
This Curricular Unit has the following Learning Outcomes (LO): LO1. Fundamental Knowledge in Programming: Solid understanding of programming principles. Proficient familiarity with the Python language. LO2. Problem Solving Skills: Ability to analyze and decompose complex problems into smaller parts, allowing for a clearer understanding and a more controlled approach. Effective abstraction to isolate crucial elements and identify suitable data structures. Logical reasoning, identifying patterns and making informed decisions. LO3. Data Handling Skills: Collect, clean, and transform (ETL) data for analysis. Creation of efficient algorithms to solve real challenges. LO4. Preparation for Advanced Modules: Solid foundation for exploring more complex topics in data analysis. Critical and creative thinking.
-
Teaching methodologies and assessment
Teaching methodologies and assessment
M1: Expository teaching: The presentation of theoretical concepts is done using slides. Short video tutorials developed on the key concepts of the discipline are available on FCCN's Educast channel of the CU. M2: Active teaching: Theoretical concepts are demonstrated using "live coding". M3: Experimental learning: Jupyter notebooks are used for immediate experimentation of the concepts taught. M4: Participatory learning: During classes take place group discussions of weekly exercises and projects. M5: Self-assessment: A platform for quizzes was developed to assess all knowledge, where a submitted solution is automatically validated. M6: Project-oriented learning: Weekly exercises and projects are carried out autonomously with exploratory challenges of complementary aspects. M7: Continuous assessment: weekly forms, quizzes, projects, mini-tests, and frequencies.
-
References
References
Martins, P. (2019). Programação em Python. IST Press. 3ª Ed. Grus, J. (2015). Data science from scratch: first principles with python. O'Reilly Media, Inc.
-
Office Hours
Office Hours
-
Mobility
Mobility
No