04-638   Programming for Data Analytics

Location: Africa

Units: 12

Semester Offered: Fall

Course description

The course explores the knowledge and programming skills necessary for solving data analytics problems. 
The topics cover fundamentals of programming such as variables and primitive data types; operations, conditions, and control flow; in-built data structures; functions and modules, third-party packages and installation; files and data including file input, saving, exploring, and plotting data; object orientation with classes and objects; and error and exception handling. The course also explores popular frameworks for the selected programming language. In all topics, emphasis will be put on developing good problem-solving and programming habits.
The programming and problem-solving will involve developing solutions to data analytics problems from problem formulation, data pre-processing; data analysis including exploratory data analysis and analytics pipelines; model development; model evaluation using relevant performance metrics; and model selection including hyperparameter tuning. Under model development, the course will cover models for supervised, unsupervised, reinforcement learning, and deep learning. The course will cover visualizations as both a means for analytics as well as communicating the analytics insights. Furthermore, the course will cover model deployment and automation of analytics processes.
Overall, the course provides students with practical skills in programming, problem-solving, analytics, and analytics communication through programming assignments and reporting.

Learning objectives

The course aims to prepare learners to develop solutions for different types of data analytics problems and to communicate relevant analytics insights to different types of audiences.


Upon successful completion of this course, students should be able to:

  • Explain and apply problem-solving and programming skills to solve analytics problems.
  • Apply programming skills to access, process, understand, and prepare data for analytics.
  • Select and apply appropriate machine learning techniques to develop solutions for different types of analytics problems.
  • Evaluate and select machine learning models based on objective criteria.
  • Disseminate analytics insights to various audiences/stakeholders.

Content details

Programming fundamentals:

  • Variables and primitive data types
  • Operations, conditions, and control flow
  • In-built data structures
  • Functions and modules
  • File input and output
  • Object orientation with classes and objects
  • Error and exception handling
  • Modules and packages
  • Third-party packages and installation
  • Programming with frameworks and design patterns

Applications to analytics problems:

  • Problem formulation
  • Data exploration and analysis: obtaining data, saving data, understanding data, exploratory data analysis, and visualization
  • Data pre-processing, feature extraction, and feature selection
  • Model building: machine learning libraries; supervised learning models – classification and regression; unsupervised learning models - clustering and association analysis; deep learning models; reinforcement learning models
  • Model selection and evaluation: model evaluation metrics, cross-validation, and hyperparameter tuning

Analytics pipelines and model deployment

Communication of insights: analytics reports, visualizations, and dashboards




George Okeyo