comp-think / 2020-2021

The GitHub repository containing all the material related to the Computational Thinking and Programming course of the Digital Humanities and Digital Knowledge degree at the University of Bologna (a.a. 2020/2021).
14 stars 9 forks source link

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:

  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
  12. [13/11/20, the] Recursion
  13. [16/11/19, lab] 4th Lesson
  14. [20/11/20, the] Divide and conquer algorithms
  15. [23/11/20, the] Dynamic programming algorithms
  16. [25/11/20, lab] 5th Lesson
  17. [27/11/20, the] Organising information: trees
  18. [30/11/20, lab] 6th Lesson
  19. [02/12/20, the] Backtracking algorithms
  20. [04/12/20, lab] 7th Lesson
  21. [09/12/20, the] Organising information: graphs
  22. [11/11/20, lab] 8th Lesson
  23. [14/12/20, the] Project: specification
  24. [16/12/20, the] Greedy algorithms
  25. [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

Links