Programming II

Teaching Methodologies

The classes of this course unit are of a theoretical-practical nature. The program content is taught through the exposition of concepts, followed by the demonstration of their application using practical examples. Subsequently, students solve practical exercises related to the topics covered.

The exposition of concepts will be supported using presentations to explain the topic in question, combined with the actual implementation of the code corresponding to illustrative examples of each topic. At the end of each example, students are encouraged to propose alternative solutions to the problem.

Since programming is an eminently practical activity, after presenting any topic of the program content, a strong component of practical exercise resolution is fostered, using an exercise book provided to students that covers all the topics of the program.

Independent study outside the classroom is also encouraged through the indication of a set of specific bibliography for each chapter of the program.

Learning Results

This Course Unit plays a central role in the bachelor’s degree in management informatics since basic programming skills are a prerequisite for acquiring knowledge in subsequent course units. Students should acquire the fundamental skills that allow them to:

O1 – Understand the programming paradigms prior to object-oriented programming and the reasons that led to its emergence.

O2 – Comprehend and utilize the fundamentals of object-oriented programming: abstraction, encapsulation, inheritance, and polymorphism.

O3 – Understand the concept of a file, access modes, and writing and reading mechanisms.

O4 – Understand the functioning of graphical interfaces and know how to integrate them into program development.

O5 – Understand the functioning of local databases and connections to external databases. Be able to develop programs that use databases.

O6 – Know and use the existing libraries.

Program

1. Object-Oriented Programming

1.1. Introductory Concepts

1.2. Classes

1.3. Objects

1.4. Inheritance

1.5. Polymorphism

2. Files

2.1. Introductory Concepts

2.2. File Types

2.3. Access Modes

2.4. Reading

2.5. Writing

3. Graphical Interfaces

3.1. Introduction

3.2. Windows

3.3. Controls

4. Databases

4.1. Introduction

4.2. Local Databases

4.3. SQLite

4.4. External Connections

5. Libraries

Internship(s)

NAO

Bibliography

Bibliografia Base:

  • • Programação em Python (2.ª Ed. Atualizada); Ernesto Costa; FCA; ISBN: 978-972-722-940-6, 2024.
  • • Materiais de apoio às aulas.
  • • https://docs.python.org/3/

Bibliografia Complementar:

  • • Introduction to Computation and Programming Using Python, third edition; John V. Guttag; The MIT Press; ISBN: 9780262363440, 2021.
  • • Fluent Python: Clear, Concise, and Effective Programming; Luciano Ramalho 2nd Edition; O’Reilly; ISBN: 978-1492056355; 2022.
  • • Introdução à Algoritmia e Programação com Python; Filipe Portela E Tiago C. Pereira; FCA; ISBN: 978-972-722-931-4, 2023.
  • • https://www.w3schools.com/python/default.asp