Lectures

  • The (theory) lectures, taught from 15:00 to 16:00, follow the plan shown below, that includes their summaries and support materials.

                 1      2     3     4     5     6 
                 7      8     9   10   11   12
                 13  14   15   16   17


Aula_1:   27 sep 2019
  • Introduction.
  • Computing Paradigms - Imperative Programming.
  • Variables and Assignment.
  • Data Types: Arrays and Matrices in Python
slides + codes


Aula_2:   4 oct 2019
  • Abstractions and Functions
  • Algorithms and Execution Control
  • Sequential Execution
  • Conditional Execution - IF instruction
  • Repeated Execution - FOR instruction
slides + codes


Aula_3:   11 oct 2019
  • Iterated Execution - WHILE and DO instructions
  • Algorithms
  • Nested Functions and Recursion
  • Examples
slides + codes


Aula_4:   18 oct 2019
  • Strings and Vectors
  • String Operations
  • Files and File Types
  • Text Files - Read / Write instructions
slides + codes


Aula_5:   25 oct 2019
  • Dictionaries
  • Structure Vectors
  • Read/Write Structured Text Files
  • Access to Internet
slides + codes


Aula_6:   8 nov 2019
  • Search in Lists
  • Sequential and Bipartite Search - Complexity
  • Simple Sorting Algorithms
  • Bubble Sort and Insert Sort - Recursion
slides + codes


Aula_7:   15 nov 2019
  • Efficient Sorting Algorithms
  • Quick Sort, Merge Sort
  • Complexity of Sorting
  • Graphics in Python
slides + codes


Aula_8:   22 nov 2019
  • (Pseudo) Random Numbers
  • Generation of Known Distributions
  • Monte Carlo Simulation
  • Example: TSP.
slides + codes


Aula_9:   29 nov 2019
  • Introduction to Graphs
  • Graph Representations.
  • Simple Algorithms: Test for Connectedness
  • Complexity
slides + codes


Aula_10: 6 dec 2019
  • Polynomial Problems in Graphs
  • Dynamic Programming.
  • Minimum Spanning Tree – Prim’s Algorithm
  • Shortest Paths – Floyd-Warshall’s Algorithm
slides + codes


Aula_11: 13 dec 2019
  • Non-Polynomial Problems in Graphs
  • Optimisation vs,Satisfaction
  • Heuristic Search
  • Example: Hamiltonian Circuits (Traveling Salesperson)
slides + codes


Aula_12:  20 dec 2019
  • Test


Aula_13: 3 jan 2020
• No class


Aula_14: 10 jan 2020
• Overview. Database Modeling - ER Model; Entities, Attributes and keys. Relational Algebra.
slides_ER, slides_RA


Aula_15: 17 jan 2020
• Normalisation: Functional dependencies; Closures and Normal Forms (1st, 2nd, 3rd and BCNF)
• Relational Algebra.
slides_norm


Aula_16: 24 jan 2020
• Database Querying - SQL (DDL e DML). Simple queries and joins.
slides_SQL
• Database Querying - SQL (cont.).
• aggregation functions, subqueries, views, consistency, external keys and triggers.
slides_SQL, slides_triggers


Aula_17: 31 jan 2020
• Support to Project
  
DB_project