Introduction to Algorithms and Programming Laboratory, A. A.2019-2020, Artificial Intelligence Master Degree in Computer Science and Engineering, University of Bologna.
Professor Simone Martini helds the first part of the course, Professor Maurizio Gabbrielli helds the second part.
These handouts represent any miscellaneous information we need to communicate with you. Usually, these handouts contain logistical instructions, but anything goes!
| # | Handout |
|---|---|
| 5 | Installing Python for Windows |
| 4 | Installing Python for Linux |
| 3 | Installing Python for macOS |
| 2 | Syllabus |
| 1 | Course Information |
These optional reading materials are posted to supplement the course material for those who are very interested in Python. You will not be held responsible for any information presented only through optional readings; however, the material is fascinating and worth looking at. Currently, it's just a list of articles I find interesting - there may be more structure in the future.
| # | Reading | Credit |
|---|---|---|
| 8 | Python Execution Model (warning: long, dense) | - |
| 7 | Python Data Model (warning: long, dense) | - |
| 6 | Thoughts on Code Style | Kenneth Reitz |
| 5 | The Python Interpreter | - |
| 4 | Python in One Easy Lesson | Nick Parlante |
| 3 | PEP 257: Python Docstring Conventions | David Goodger |
| 2 | PEP 8: Python Style Guide | Guido van Rossum |
| 1 | PEP 20: The Zen of Python | Tim Peters |
Labs provide a hands-on opportunity to experiment with the Python concepts presented in lectures. Although students work on these labs during an 90-minute class period, it would take much longer to fully complete a lab. Each lab comes with a number of challenge problems that will take even the experiences programmer nontrivial time. Labs are collaborative and open-ended, frequently asking you to think about how or why Python makes the decisions it does.
Each problem is chosen to reinforce a particular concept, but you are free to skip around at will. You are not expected to submit your solutions to labs, although our reference solutions will be posted afterwards. Think of labs as a chance to solidify your working knowledge of Python - after all, what better way to learn Python than to practice it?
Are you so quick in learning? Do you feel like you already know everything? Check out what Python offers you at Learn X in Y minutes.
| # | Topic + Slides deck | Handout | Solutions |
|---|---|---|---|
| 3 | Data Structures (part II) - Lists | [:arrow_down:] | - |
| 2 | Data Structures | Handout | Solutions |
| 1 | Introducing lab and Python | - | - |