Strumenti Utente

Strumenti Sito


mds:pds:start

Programming for Data Science A.Y. 2017/18

This is an introductory course to computer programming and related mathematical/logic background for students without a Bachelor in Computer Science or in Computer Engineering. The objective is to smoothly introduce the student to the programming concepts and tools needed for typical data processing and data analysis tasks. The course consists of lectures and practice in computer labs.

Instructors

Classes

Day of Week Hour Room Type
Monday 11:00 - 13:00 Fib C1 Lectures
Tuesday 9:00 - 11:00 Fib C1 Lectures
Wednesday 16:00 - 18:00 Fib M-Lab Labs
Thursday 11:00 - 13:00 Fib M-Lab Labs

Office hours

  • Prof. Prencipe: Wednesdays h 15:00 - 19:00 or by appointment, Department of Computer Science, room 327/DO.
  • Prof. Ruggieri: Tuesdays h 14:00 - 17:00 or by appointment, Department of Computer Science, room 321/DO.

Text Books

  • [T] Kenneth H. Rosen. Discrete Mathematics and Its Applications. Seventh Edition, MCGraw-Hill, 2012. Supplement material.
  • [P] Pieter Spronck. The Coder’s Apprentice: Learning Programming with Python 3, 2017. Book and supplement material.
  • [C] Brian W. Kernighan, Dennis M. Ritchie. C Programming Language. Second Edition, Prentice Hall, 1988.

Software

  • Python programming: Anaconda distribution of Python 3. Computers at lab rooms include it both on Linux and Windows OS.
  • C programing: either gedit (or equivalent text editor) and gcc, or install VirtualBox (see next item). Gedit and gcc are available on computers at lab room (Linux only).
  • Virtual Machine (VirtualBox): You can use a virtual distribution (.vmdk) with a complete installation of XUbuntu with all tools required by the C programming part of the course, that can be used for instance with the VirtualBox package. Here a small guide (pdf in italian) is available on how to install a virtual machine (VM) with VirtualBox. The VM (.zip) can be downbloaded here link (about 3GB !).

Preliminary program and calendar

Exams

Registration to exams and mid-terms is mandatory: register here

Day Hour Room Type
30.10.2017 10:00 - 12:00 M-Lab First Mid-Term
18.12.2017 11:00 - 13:00 M-Lab Second Mid-Term

Class calendar

Recordings are password protected. Ask the teachers for credentials.

Day Room Topic Learning material Recordings Instructor
1. 18.9 11:00-13:00 C1 Introduction. Propositional logic. [T: 1.1-1.3] 20170918.flv Ruggieri
2. 19.9 9:00-11:00 C1 Exercises. Rules of inference for propositional logic. [T: 1.6] 20170919.flv Ruggieri
3. 20.9 16:00-18:00 M-Lab Algorithms and programming: notions, programming steps, states, expressions and assignment. Introduction to Python. Data types, expressions using numbers, variables. [P: 1-4] 20170920.mp4 Prencipe
4. 21.9 11:00-13:00 M-Lab Exercises and programming practice. [P: 1-4] Esercizi1.pdf Prencipe
5. 25.9 11:00-13:00 C1 Predicate logic. [T: 1.4-1.6] 20170925.flv Ruggieri
6. 26.9 9:00-11:00 C1 Simple functions, input, if-else, if-elif-else, while, for. [P: 4-7] 20170926.mp4 Prencipe
7. 27.9 16:00-18:00 M-Lab Sets. Sets in Python. [T: 2.1-2.2] 20170927.flv Ruggieri
8. 28.9 11:00-13:00 M-Lab Iterations and their use. [P: 7] Esercizi2.pdf Prencipe
9. 2.10 11:00-13:00 C1 Exercises on predicate logic and sets. 20171002.flv Ruggieri
10. 3.10 9:00-11:00 C1 Functions, sequences, cardinality, matrices. [T: 2.3-2.6] 20171003.flv Ruggieri
11. 4.10 16:00-18:00 M-Lab Functions and recursion. [P: 8-9] 20171005.mp4 Prencipe
12. 5.10 11:00-13:00 M-Lab Functions and recursion. [P: 8-9] Esercizi3.pdf Prencipe
13. 9.10 11:00-13:00 C1 Exercises. Divisibility. [T: 4.1] 20171009.flv Ruggieri
14. 10.10 9:00-11:00 C1 Primes. Integer representation. [T: 4.2, 4.3, 4.5] 20171010.flv Ruggieri
15. 11.10 16:00-18:00 M-Lab Strings, tuples, lists, dictionaries, sets. [P: 10-14] 20171011.mp4 Prencipe
16. 12.10 11:00-13:00 M-Lab Exercises on strings, tuples, lists, dictionaries and sets. [P: 10-14] Esercizi4.pdf Prencipe
17. 16.10 11:00-13:00 C1 Exercises on divisibility and integer representation. Induction. [T: 5.1] 20171016.flv Ruggieri
18. 17.10 9:00-11:00 C1 Strong induction. Recursive definitions. Structural induction. [T: 5.2-5.4] 20171017.flv Ruggieri
19. 18.10 16:00-18:00 M-Lab Selection sort and Mergesort, text and binary files, exceptions, bitwise operators. [P: 15-19] 20171018.mp4 Prencipe
20. 19.10 11:00-13:00 M-Lab Exercises on sorting, files, exceptions. [P: 15-19] Esercizi5.pdf Prencipe
21. 23.10 11:00-13:00 C1 Ruggieri
22. 24.10 9:00-11:00 C1 Ruggieri
23. 25.10 16:00-18:00 M-Lab Prencipe
24. 26.10 11:00-13:00 M-Lab Prencipe
mds/pds/start.txt · Ultima modifica: 19/10/2017 alle 14:53 (9 ore fa) da Salvatore Ruggieri