Tecnologias de Informação e Programação

Base Knowledge

Not applicable.

Teaching Methodologies

Lectures (1.5 hours/week).

Lectures promote active participation through questions, discussion of the topics, and progressively structured challenges, culminating in an integrative Industrial Engineering and Management problem to be submitted through the online academic platform. Students are encouraged to use computers during lectures to experiment with and follow the concepts being introduced. Short demonstrations are followed by guided practice in the practical sessions.


Practical sessions (2 hours/week).

Students apply the knowledge acquired in lectures by completing laboratory worksheets. The practical sessions are aligned with the lecture sequence so that students apply previously introduced concepts immediately. Exercises of increasing complexity are proposed; some are partially worked through after students have implemented and debugged them in pairs. Frequent formative feedback is provided.

Students are advised to attend theoretical sessions regularly, as this is essential to academic success and a sound understanding of the course content.

 

Learning Results

Objectives:

· Algorithmically decompose problems in Industrial Engineering and Management and represent them using pseudocode.

· Develop the skills required to use Microsoft Excel efficiently to organise, analyse, model, and visualise data.

· Implement, test, and document introductory Python programs.

· Process and analyse tabular data using basic pandas functionality.

· Apply one method of integrating Python with Excel and distinguish it from the alternatives.

· Use generative-AI tools responsibly, including language-model-based assistants such to support algorithm design and programming.

· Integrate Excel, Python, and algorithmic problem-solving to solve a simple industrial problem and explain the solution developed.

General Competences:

· Apply computational thinking to the structured analysis and solution of problems.

· Design algorithms and convert them into working programs.

· Use variables, expressions, formulas, data structures, and functions to build calculation models.

· Develop simple, modular, and reusable Python programs.

· Use Excel to organise, process, analyse, and present data.

· Select the most appropriate tool for each problem: Excel formulas, Python in Excel, external automation, or custom functions.

· Use AI tools to support learning and problem-solving, critically evaluating the correctness of their outputs.

· Test and debug the solutions developed.

· Acquire and apply new technological knowledge autonomously.


Specific Competences:

· Identify the inputs, outputs, constraints, and steps required to solve a problem.

· Represent solutions using structured natural language and pseudocode.

· Use data types, variables, operators, expressions, conditional structures, loops, lists, tables, and functions.

· Implement and run simple Python programs, applying basic principles of modularisation, reusability, and code readability.

· Build calculation models in Excel using formulas, functions, references, named ranges, tables, filters, data validation, charts, and PivotTables.

· Use Python in Excel to transform, analyse, and visualise data, including through structures such as DataFrames.

· Use Python libraries to read, transform, and create Excel files.

· Develop custom functions and automation solutions in Python using an appropriate Excel integration technology.

· Understand the role of VBA macros in maintaining and integrating existing Excel solutions.

· Critically analyse AI-generated code, identifying errors, limitations, assumptions, and possible improvements.

· Document the use of AI, including the prompts submitted, the suggestions accepted or rejected, the changes made, and the tests performed.

· Develop solutions to Industrial Engineering and Management problems.

 

Program

Concepts:

Algorithms and computational thinking – Stages in computational problem-solving; decomposition, abstraction, inputs, outputs, and constraints. Algorithms, pseudocode, and flowcharts. Constants, variables, data types, operators, and expressions. Sequence, selection, and iteration. Arrays and lists. Functions and procedures; parameters and arguments; modularisation and variable scope. Testing algorithms. Basic computer architecture and an overview of programming languages.

Generative AI applied to problem-solving – How language models work and their limitations, at a level appropriate to an introductory course unit. Constructing prompts that specify context, objective, constraints, output format, and validation criteria. Using generative-AI assistants for conceptual clarification, problem decomposition, pseudocode critique, test-case generation, and the explanation and debugging of formulas and programs.

Python programming – Development environment and program structure. Data types, operators, expressions, input and output, decisions, loops, lists, tuples, dictionaries, and sets. Functions, modules, documentation, exceptions, and testing. Introduction to NumPy, pandas, and visualisation libraries, with an emphasis on tabular data.

Python and Excel: integration, automation, extension, visualisation, and data import. External automation: reading and writing Excel files with relevant libraries. Extending Excel with Python scripts and custom functions using an appropriate integration technology.

VBA and interoperability with legacy solutions – Recording and reading macros. Simple procedures; fundamental Excel objects, properties, methods, and events. Comparison of VBA, Python in Excel, and modern extensions. Macro security and criteria for maintaining or migrating a solution.

Application:

Spreadsheet processing – Microsoft Excel environment; workbooks, worksheets, and cells; formulas and functions; relative and absolute references; named ranges; conditional formatting; sorting and filtering; data validation and protection; charts and PivotTables.

Introduction to Python programming – Setting up the development environment and running Python programs; conditional structures, loops, and functions; pandas and data visualisation.

Python-Excel integration – Python formulas (=PY()), xl(), DataFrames, visualisations, and data import; reading and writing workbooks with Python libraries; custom functions using the selected integration technology.

Curricular Unit Teachers

Ana Cristina Costa Oliveira Alves

Grading Methods

Periodic assessment, completed during the examination period and applicable to all assessment periods, consists of the following components:

  • First individual computer-based practical test on Advanced Excel - 5 (five) marks.
  • Second individual computer-based practical test on Advanced Excel and Programming - 5 (five) marks.
  • Written theoretical-practical examination - 10 (ten) marks. A minimum of 25% is required in this component (i.e., 2.5 marks out of 10). Failure to achieve this minimum results in failure of the course unit.

Students may consult only a reference sheet provided in advance.

Students may replace 2 of the 10 examination marks with an integrative Industrial Engineering and Management problem introduced in theoretical sessions and submitted online. It requires pseudocode, testing, responsible and documented use of generative AI, and implementation in a programming language. Only students attending at least two thirds of theoretical sessions may submit it, receive feedback, and give an individual end-of-semester presentation. The final mark is the more favourable of: (a) examination marked out of 8 plus integrative problem marked out of 2; or (b) examination marked out of 10. If submitted, the problem counts towards the minimum required for this component.

Students unable to attend theoretical sessions for a reason recognised by institutional regulations (e.g., working-student status), a timetable clash (**), or Erasmus mobility may submit and defend the problem if they contact the lecturer during the first weeks of the semester.

(**) For timetable clashes, this exception does not apply to students enrolled in the first year for the first time, as their timetables are arranged to avoid clashes.

Students who are unable to attend one or more practical tests in the normal assessment period for duly justified reasons must contact the course unit lecturer to agree a new test date, which may coincide with the examination in the normal assessment period. Supporting evidence and the absence justification must be submitted to the Programme Coordinator.

Complementary oral assessments may be used as an additional assessment instrument whenever necessary to clarify doubts or investigate suspected fraud or plagiarism.


    Internship(s)

    NAO

    Bibliography

    Main:

    – Costa, E. (2021). Programação em Python: fundamentos e resolução de problemas. FCA Editora. ISBN 9789727228164 [1A-1-457 (ISEC)]

    – Almeida, P. T. (2021). Excel avançado. 4ª edição. Edições Sílabo. ISBN 9789895611911 [1A-3-260 (ISEC)]

    – Zumstein, F. (2021). Python for Excel – The Book, A Modern Environment for Automation and Data Analysis. O’Reilly Media. ISBN: 9781492081005 [1A-4-213 (ISEC)]

     

    Secondary:

    – Carvalho, A. (2019). Automatização em Excel: 69 exercícios. FCA Editora. ISBN 9789727228720 [1A-3-257 (ISEC), 1A-3-258 (ISEC), 1A-3-259 (ISEC)]

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

    – McFedries, P. (2022). Microsoft Excel Formulas and Functions (Office 2021 and Microsoft 365). Microsoft Press. ISBN: 9780137559404.

    – Free online resources made available by Microsoft