First cycle
degree courses
Second cycle
degree courses
Single cycle
degree courses
School of Science
DATA SCIENCE
Course unit
FUNDAMENTALS OF INFORMATION SYSTEMS
SCP7078720, A.A. 2017/18

Information concerning the students who enrolled in A.Y. 2017/18

Information on the course unit
Degree course Second cycle degree in
DATA SCIENCE
SC2377, Degree course structure A.Y. 2017/18, A.Y. 2017/18
N0
bring this page
with you
Number of ECTS credits allocated 12.0
Type of assessment Mark
Course unit English denomination FUNDAMENTALS OF INFORMATION SYSTEMS
Website of the academic structure http://datascience.scienze.unipd.it/2017/laurea_magistrale
Department of reference Department of Mathematics
Mandatory attendance No
Language of instruction English
Branch PADOVA
Single Course unit The Course unit can be attended under the option Single Course unit attendance
Optional Course unit The Course unit can be chosen as Optional Course unit

Lecturers
Teacher in charge GABRIELE TOLOMEI INF/01
Other lecturers ARMIR BUJARI INF/01
FABIO PINELLI

ECTS: details
Type Scientific-Disciplinary Sector Credits allocated
Core courses INF/01 Computer Science 6.0
Core courses ING-INF/05 Data Processing Systems 6.0

Mode of delivery (when and how)
Period First semester
Year 1st Year
Teaching method frontal

Organisation of didactics
Type of hours Credits Hours of
teaching
Hours of
Individual study
Shifts
Lecture 12.0 96 204.0 No turn

Calendar
Start of activities 02/10/2017
End of activities 19/01/2018

Examination board
Board From To Members of the board
1 Fundamentals of Information Systems - 2017/2018 01/10/2017 30/09/2018 TOLOMEI GABRIELE (Presidente)
BUJARI ARMIR (Membro Effettivo)
BRESOLIN DAVIDE (Supplente)
CONTI MAURO (Supplente)
PINELLI FABIO (Supplente)

Syllabus
Prerequisites: The student should have basic knowledge of programming and algorithms.
Target skills and knowledge: This class teaches the concepts, methods, and technologies at the basis of storage, networking, and processing of data and big data. Concerning storage, the basics of relational databases are introduced, followed by a review of non-relational solutions typically adopted for big data. Basics of systems for storage of streams of data are presented as well. The part concerning networking provides an introduction to fundamental concepts in the design and implementation of computer communication networks, their protocols, and applications. Topics covered in this part include: layered network architecture, data link protocols, network and transport protocols and applications. Examples will be drawn from the Internet TCP/IP protocol suite. After that, advanced and emerging networking paradigms aimed at addressing QoS and engineering flexibility of current infrastructure networks are introduced. Topics covered range from software defined networking to cloud provisioning schemes and datacenters. The programming part focuses on programming for data scientists using Python, starting from the description of its interactive computational environment, and continuing with storage, data manipulation, and visualization.
Examination methods: The student is expected to pass a written and an oral exam.
Assessment criteria: The written and the oral exams will be evaluated on the basis of the following criteria: i) student’s knowledge of the concepts, methods, and technologies at the basis of the topics covered in the course; ii) student’s capacity for synthesis, clarity, and abstraction.
Course unit contents: The course will cover the topics listed below:
- Databases
Introduction to relational databases: data model; relational algebra; SQL; DBMS;
NoSQL technologies: characteristics of NoSQL databases; aggregate data models: key value stores, document databases, column family stores, graph databases, others; distribution models: sharding, replication (master-slave,peer-to-peer).
Streams of Data: architecture(s); data modeling; query processing and optimization.
Networking
Networking Fundamentals: Network architectures (OSI Model); TCP and UDP Transport layer protocols; IP Addressing and Routing; Link Layer Forwarding; DNS and DHCP.
Advanced Networking: Virtual LAN (VLAN) and Virtual eXtensible Lan (VXLAN), Software Defined Networking: control, data plane and virtualization; concepts on Cloud Computing: service and deployment models: data centers architectures, topologies, addressing, routing, traffic characteristics; Case Study: The Web of Things (IoT standards and protocols).
- Programming
Programming for Data Scientist using Python: computational environment (IPython and Jupyter); storage and manipulation (NumPy and Pandas); data visualization (Matplotlib).
Planned learning activities and teaching methods: The course consists of lectures.
Additional notes about suggested reading: Slides presented during the lectures are made ​​available to students as reference material.
Textbooks (and optional supplementary readings)