Skip to content

Latest commit

 

History

History
228 lines (208 loc) · 18.2 KB

README.md

File metadata and controls

228 lines (208 loc) · 18.2 KB

Computational Thinking and Programming

This space contains all the material related to the Computational Thinking and Programming course of the Digital Humanities and Digital Knowledge degree at the University of Bologna.

Academic year 2020/2021

Table of content

Book and notes

The official book of the course, Computational Thinking and Programming book, is available online in PDF format. The suggested accompanying book for Python coding, How To Code in Python by Lisa Tagliaferri, is also freely available online in PDF and EPUB formats.

All the lecture notes and additional material of the laboratory are available at https://comp-think.github.io/2020-2021/laboratory/.

Material

Keys:

  • the = theoretical lecture
  • lab = laboratory session
  1. [14/10/20, the] Introduction to the course
  2. [14/10/20, the] Introduction to Computational Thinking
    • book chapter: PDF
    • slides: HTML
    • exercises: 1, 2, 3
    • solutions: 1, 2, 3

  3. [16/10/20, the] Algorithms
    • book chapter: PDF
    • slides: HTML
    • exercises: 1, 2, 3
    • solutions 1, 2, 3

  4. [19/10/20, the] Computability
  5. [21/10/20, the] Programming languages
    • book chapter: PDF
    • slides: HTML
    • from How To Code in Python:
      • Chapter "Understanding Data Types": introductory paragraphs and sections "Background", "Numbers", "Floating-Point Numbers", "Booleans", "Strings"
      • Chapter "How To Use Variables": introductory paragraphs and sections "Understadning Variables", "Naming Variables: Rules and Style", "Reassigning Variables", "Multiple Assignment"
      • Chapter "Understanding Boolean Logic": all content
      • Chapter "How To Write Conditional Statements": all content
      • Chapter "How To Define Functions": introductory paragraphs and sections "Defining a Function", "Working with Parameters", "Returning a Value"
    • Python: first_algorithm_empty.py, first_algorithm_no_assignments.py, first_algorithm.py
    • exercises: 1, 2, 3
    • solutions 1, 2, 3

  6. [23/10/20, lab] 1st Lesson
  7. [26/10/20, the] Organising information: ordered structures
  8. [28/10/20, lab] 2nd Lesson
  9. [30/10/20, the] Brute-force algorithms
  10. [09/11/20, the] Organising information: unordered structures
  11. [11/11/20, lab] 3rd Lesson
  1. [13/11/20, the] Recursion
  2. [16/11/19, lab] 4th Lesson
  1. [20/11/20, the] Divide and conquer algorithms
  2. [23/11/20, the] Dynamic programming algorithms
  3. [25/11/20, lab] 5th Lesson
  1. [27/11/20, the] Organising information: trees
  2. [30/11/20, lab] 6th Lesson
  1. [02/12/20, the] Backtracking algorithms
  2. [04/12/20, lab] 7th Lesson
  1. [09/12/20, the] Organising information: graphs
  2. [11/11/20, lab] 8th Lesson
  3. [14/12/20, the] Project: specification
  4. [16/12/20, the] Greedy algorithms
  5. [16/12/20, the] Ask a thesis

Schedule

DateTimeTitle
14/10/209:30-11:30Introduction to Computational Thinking
16/10/2012:30-14:30Algorithms
19/10/209:30-11:30Computability
21/10/209:30-11:30Programming Languages
23/10/2012:30-14:30Laboratory
26/10/209:30-11:30Organising information: ordered structures
28/10/209:30-11:30Laboratory
30/10/2012:30-14:30Brute-force algorithms
09/11/209:30-11:30Organising information: unordered structures
11/11/209:30-11:30Laboratory
13/11/2012:30-14:30Recursion
16/11/209:30-11:30Laboratory
20/11/2012:30-14:30Divide and conquer algorithms
23/11/209:30-11:30Dynamic programming algorithms
25/11/209:30-11:30Laboratory
27/11/2012:30-14:30Organising information: trees
30/11/209:30-11:30Laboratory
02/12/209:30-11:30Backtracking algorithms
04/12/2012:30-14:30Laboratory
09/12/209:30-11:30Organising information: graphs
11/12/2012:30-14:30Laboratory
14/12/209:30-11:30Project: specification
16/12/209:30-11:30Greedy algorithms

Exam sessions

  • 29 January 2021
  • 15 March 2021
  • 17 May 2021
  • 14 June 2021
  • 7 July 2021
  • 20 September 2021

Links