Teaching will be carried out through lectures (for a total of 36 hours) during which the contents of the course will be presented, also through practical demonstrations. In addition, the students will have access to learning platform. This platform will allow students to practice and self-evaluate themselves about the contents of the course. The same platform provides a valid tool for the exam preparation.
The course will introduce the concepts of imperative programming, text processing and the basic concepts of computational complexity. The course will introduce the main concepts of programming and the main data structures, as assigbnemnet, iterative cycles, functions, recursions, lists, strings, tuples and dictionaries.
The course will focus also to the main text processing algorithms, and specifically tokenization, text-analysis, data visulaization, part-ofspeech-tagging, ichunking and named-entity-recognition.
The Python language will be used as the main underlying programming language to present the implementations of all algorithms
The reference book is "Pensare in Python: come pensare da informatico", written by Allen B. Downey and published by O’Reilly Media (2019). The book introduces the principles of programming and choose the Python language to teach them. The reason that drives us in this direction is the desire to reduce the training time of programmers, making then apply, since the early algorithms, to a professional language actually used in large software suites.
The following is the complete list of textbook adopted in this course:
[A] Allen B. Downey - Pensare in Python: come pensare da informatico - O’Reilly Media (2019)
[B] Jacob Perkins - Python 3 Text Processing with NLTK 3 Cookbook - Packt Publishing (2014)
[C] Benjamin Bengfort, Tony Ojeda, Rebecca Bilbro - Applied Text Analysis with Python: Enabling Language - Aware Data Products with Machine Learning - O’Reilly Media (2018)