Study-Unit Description

Study-Unit Description


CODE CIS5004

 
TITLE Programming in Python and Principles of Data Science

 
UM LEVEL 05 - Postgraduate Modular Diploma or Degree Course

 
MQF LEVEL 7

 
ECTS CREDITS 10

 
DEPARTMENT Computer Information Systems

 
DESCRIPTION Python is the de facto programming language for data science. It is a very powerful open-source language that is used in various fields such as data analysis, natural language processing, machine learning, simulation, finance and scientific applications. Python is a is a very powerful open-source language that is very popular in the fields of data analysis, machine learning, simulation, finance, and scientific applications.
The first part of the study-unit (first 7 lectures) the main concepts of Python programming will be introduced.

The second part of the study-unit (second 7 weeks) introduces students to data science. Data science is a multi-disciplinary field that is concerned with using automated techniques to extract value and knowledge from data. These techniques can be applied in numerous domains, such as biology, physics and economics.

As data becomes more important in different domains and as its volume grows due to new technologies, so will the techniques required to process this data also need to be explored and improved to meet the new challenges posed by this growth.

The study-unit focuses on giving the students the right tools to work with data. This involves an introduction to Python, a programming language that is widely used in data science projects. It will provide the students with the necessary techniques to process, transform and manage data, perform exploratory data analysis to learn more about the data and improve any hypothesis formed from the data, apply the appropriate machine learning techniques and present conclusions reached from the data suitably according to best practices.

Study-unit Aims:

The aims of the study-unit in Part 1 are to:
i) Introduce the main concepts and techniques of Python prgramming;
ii) Introduce OOP concepts in Python;
iii) Explain how to use GPUs with Python;
iv) Give students a detailed coverage of the main Python packages including: Numpy, Keras, Tensflow, PyTorch, NLTK, Matplotlib, Seaborn, Pandas, and Scikit-Learn;
v) Cover text handling, file I/O, and vector, matrix, & tensor arithmetic.

The aims of the study-unit in Part 2 are to:
i) Introduce the best practices, standards, techniques, and concepts for obtaining data;
ii) Use case studies to clean obtained data and use best practices to share the data;
iii) Differentiate between different algorithms that can be applied to explore and learn more about the data;
iv) Evaluate which is the best Machine Learning algorithm to apply depending on the type of data available;
v) Apply visualisation best practises to present interesting conclusions drawn from the data.

Learning Outcomes:

1. Knowledge & Understanding
By the end of the study-unit the student will be able to:

Part 1
1) Demonstrate the ability to install and configure the Python suite (including Anaconda and the various packages required for data science);
2) Formulate complex programs in Python which includes programs that use multi-threading and GPU;
3) Employ the appropriate Python packages for a given task;
4) Organise code appropriately in different modules.

Part 2
1) Have an in depth appreciation of the basic principles of data gathering and management;
2) Outline the research landscape of exploratory data analysis;
3) Formulate the best strategy and evaluate the most suitable technique/s to analyse data;
4) Apply suitable Machine Learning techniques to a data set;
5) Compare different visualisation techniques and methods of presenting data.

2. Skills
By the end of the study-unit the student will be able to:

Part 1
1) Install and configure the Python ecosystem;
2) Design, implement, and deploy Python programs for data science;
3) Design, implement, and deploy Jupyter notebooks and labs;
4) Create visualizations in Matplotlib and Seaborn;
5) Create simple deep learning models using Keras.

Part 2
1) Discuss and critically analyse outcomes from use-cases covering current open problems in the field;
2) Search for state of the art techniques to solve domain specific problems;
3) Present a solution using proper visualisation tools;
4) Analytical skills: Develop analytical skills by applying machine learning techniques to a dataset;
5) Assessment Skills: Use industry standard techniques to evaluate the performance of the algorithm chosen;
6) Communications skills: Use techniques to share data with colleagues and present findings to a non-technical audience effectively.

Main Text/s and any supplementary readings:

Course notes available on VLE.

- Learning Python, 5th Edition Fifth Edition, Mark Lutz (2013), O'Reilly, ISBN-10 : 1449355730, ISBN-13 : 978-1449355739.
- Data Science for Business: What you need to know about data mining and data-analytic thinking, Foster Provost, Tom Fawcett (2013), ISBN 1449361323 (ISBN13: 9781449361327).
- Doing Data Science, Rachel Schutt, Cathy O'Neil (2013), ISBN 1449358659 (ISBN13: 9781449358655).
- Python for Data Analysis, Wes McKinney (2012), ISBN 1449319793 (ISBN13: 9781449319793).

 
STUDY-UNIT TYPE Lecture, Independent Study and Project

 
METHOD OF ASSESSMENT
Assessment Component/s Assessment Due Sept. Asst Session Weighting
Project SEM1 Yes 100%

 
LECTURER/S John M. Abela
Joseph Bonello
Colin Layfield (Co-ord.)

 

 
The University makes every effort to ensure that the published Courses Plans, Programmes of Study and Study-Unit information are complete and up-to-date at the time of publication. The University reserves the right to make changes in case errors are detected after publication.
The availability of optional units may be subject to timetabling constraints.
Units not attracting a sufficient number of registrations may be withdrawn without notice.
It should be noted that all the information in the description above applies to study-units available during the academic year 2023/4. It may be subject to change in subsequent years.

https://www.um.edu.mt/course/studyunit