Tecnologias de Informação e Programação

Teaching Methodologies

Theoretical classes/Lectures (1.5 hours/week).
Theoretical classes/Lectures tend to be expository, but they promote active student participation by asking questions during the discussion of the topics covered and setting challenges for students to submit their solutions via the online academic platform. Students are encouraged to use computers during theoretical classes as well, in order to allow for greater experimentation and monitoring of their learning of all the concepts covered.
– Practical classes (2 hours/week).
In practical classes, the knowledge acquired in theoretical classes is applied through the completion of worksheets. Practical classes will be synchronised so that students can apply the concepts previously learnt in a theoretical class in a laboratory setting.

Students are advised to attend theoretical classes regularly, as this is essential for academic success and a proper understanding of the subject matter. Practical classes are not intended to replace what was taught in theoretical classes, i.e., the introduction of previously presented concepts.

Learning Results

Goals: Provide students with base concepts on Information Technologies; Introduce algorithmics and programming concepts to implement autonomous and reusable procedures for solving simple engineering problems; Transmit the knowledge necessary for the effective use of productivity applications used in the engineering context, in particular the spreadsheet processing.
Generic skills: Acquire algorithmics and programming concepts; develop the variables and formulas necessary to build calculation models.
Specific Skills: Self-learning algorithmics and programming practice to carry out the programming exercises and challenges; in the specific case of spreadsheet processing, using their basic functionalities to build calculation models and develop new functionalities through the programming of macros to solve engineering problems.

Program

Theory: Algorithms – Steps in the computational resolution of a problem; Construction of algorithms in pseudocode; Elementary concepts, constants, variables, operators and arithmetic expressions; Matrices; Data input and output. Modularisation; Decision and repetition structures; Algorithm testing. Computers – architecture and operation. Programming languages and different paradigms. Introduction to programming in Python – Concepts of algorithms previously covered developed in this language. Relevant libraries. Error handling.
Practice: Spreadsheet processing – MS Excel environment; Workbooks, spreadsheets and cells; Formulas and functions; Relative and absolute references; Name management; Conditional formatting; Data sorting and filtering; Data validation and protection. Introduction to Python programming – Preparing the development environment and running programmes in Python; Integration with Excel; Manipulating Excel objects in Python.

Curricular Unit Teachers

Ana Cristina Costa Oliveira Alves

Grading Methods

Periodic Assessment
  • - Exam - 50.0%
  • - Practical tests (2*25%) - 50.0%

Internship(s)

NAO

Bibliography

– Almeida, P. T. (2021). Excel avançado. 4ª edição. Edições Sílabo. ISBN 978-989-561-191-1

– Carvalho, A. (2019). Automatização em Excel: 69 exercícios. FCA Editora. ISBN 978-972-722-872-0

– McFedries, Paul (2022). Microsoft Excel Formulas and Functions (Office 2021 and Microsoft 365). Microsoft Press. ISBN: 978-0-13- 755940-4.

– Costa, E. (2021). Programação em Python: fundamentos e resolução de problemas. FCA Editora. ISBN 978-972-722-816-4

– Lemonde, Carlos (2024). Python com Excel – Automação e Análise de Dados. Lisboa: FCA. ISBN: 9789727229369

– Zumstein, F. (2021). Python for Excel – The Book, A Modern Environment for Automation and Data Analysis. O’Reilly Media. ISBN: 978-149-208-100-5