AID201 Programming for Data Science

Referencing Curricula Print this page

Course Code Course Title Weekly Hours* ECTS Weekly Class Schedule
T P
AID201 Programming for Data Science 3 2 6
Prerequisite None It is a prerequisite to

None

Lecturer Office Hours / Room / Phone

Currently not available

E-mail
Assistant Assistant E-mail
Course Objectives The objectives of this course are:
1. To introduce the concepts and applications of data science and Python
2. To teach the basics of Python programming and data structures
3. To teach how to use various Python libraries and tools for data science
4. To teach how to perform data analysis, visualization, machine learning, and deep learning tasks with Python
5. - To teach how to apply Python skills to real-world data science projects and challenges
Textbook 1. VanderPlas, J. (2016). Python Data Science Handbook: Essential Tools for Working with Data. O'Reilly Media. 2. Grus, J. (2019). Data Science from Scratch: First Principles with Python. 2nd ed. O'Reilly Media. 3. Klosterman, S. (2019). Data Science Projects with Python: A Case Study Approach to Gaining Valuable Insights from Real Data with Machine Learning. Packt Publishing. 4. McKinney, W. (2018). Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython. 2nd ed. O'Reilly Media. 5. Mueller, J.P. and Massaron, L. (2019). Python for Data Science For Dummies. 2nd ed. Wiley.
Additional Literature
Learning Outcomes After successful  completion of the course, the student will be able to:
  1. understand the definition and scope of data science and Python
  2. write clear and efficient Python code for data science
  3. use various Python libraries and tools for data science
  4. perform data analysis, visualization, machine learning, and deep learning tasks with Python
  5. apply Python skills to real-world data science projects and challenges
Teaching Methods There will be a 1 hour of theory and explaining the background of the topic, then we will continue with the programming and practice
Teaching Method Delivery Face-to-face Teaching Method Delivery Notes
WEEK TOPIC REFERENCE
Week 1 Introduction to Data Science and Python | - Understand the definition and scope of data science - Learn the basics of Python programming and syntax - Install and use Anaconda and Jupyter Notebook
Week 2 Data Structures and Control Flow in Python | - Learn how to use variables, data types, operators, and expressions in Python - Learn how to use lists, tuples, dictionaries, and sets to store and manipulate data in Python - Learn how to use conditional statements, loops, and functions to control the flow of execution in Python
Week 3 NumPy and SciPy | - Learn how to use NumPy arrays and operations to perform numerical computations in Python - Learn how to use SciPy modules and functions to perform scientific computations in Python - Learn how to use linear algebra, statistics, optimization, and integration tools from NumPy and SciPy
Week 4 Pandas and Data Wrangling | - Learn how to use Pandas Series and DataFrame objects to store and manipulate tabular data in Python - Learn how to use Pandas methods and functions to perform data wrangling tasks such as indexing, slicing, filtering, sorting, grouping, aggregating, merging, and reshaping data - Learn how to handle missing values, outliers, duplicates, and inconsistent data using Pandas
Week 5 Matplotlib and Data Visualization | - Learn how to use Matplotlib pyplot module and object-oriented interface to create and customize various types of plots in Python - Learn how to use Matplotlib features such as axes, labels, titles, legends, annotations, colors, styles, grids, subplots, and interactive plots - Learn how to use Matplotlib to visualize different kinds of data such as histograms, bar charts, pie charts, line charts, scatter plots, box plots, etc
Week 6 Seaborn and Advanced Data Visualization | - Learn how to use Seaborn library to create high-level statistical data visualization in Python - Learn how to use Seaborn features such as themes, palettes, facets, grids, distributions, regressions, categorical plots, etc. - Learn how to use Seaborn to visualize different kinds of data such as correlations, distributions, relationships, comparisons, etc.
Week 7 Midterm Exam | - Review the topics covered in the first six weeks of the course - Apply the knowledge and skills learned in the course to solve various data science problems using Python
- Demonstrate the ability to write clear and efficient Python code for data analysis and visualization
Week 8 Introduction to Machine Learning with Scikit-Learn | - Understand the definition and types of machine learning - Learn the basic steps of a machine learning project such as data preparation, model selection, model training, model evaluation, and model deployment - Learn how to use Scikit-Learn library to perform machine learning tasks in Python
Week 9 Supervised Learning: Regression | - Understand the concept and applications of regression analysis - Learn how to use Scikit-Learn to perform linear regression, polynomial regression, ridge regression, lasso regression, and elastic net regression in Python - Learn how to evaluate and compare different regression models using metrics such as mean squared error, root mean squared error, R-squared, and adjusted R-squared
Week 10 Supervised Learning: Classification | - Understand the concept and applications of classification analysis - Learn how to use Scikit-Learn to perform logistic regression, k-nearest neighbors, decision trees, random forests, support vector machines, and naive Bayes classification in Python - Learn how to evaluate and compare different classification models using metrics such as accuracy, precision, recall, f1-score, confusion matrix, ROC curve, and AUC score
Week 11 Unsupervised Learning: Clustering and Dimensionality Reduction | - Understand the concept and applications of clustering and dimensionality reduction techniques - Learn how to use Scikit-Learn to perform k-means clustering, hierarchical clustering, DBSCAN clustering, principal component analysis, and t-SNE in Python - Learn how to evaluate and visualize different clustering and dimensionality reduction results using metrics such as silhouette score, inertia, and scatter plots
Week 12 Machine Learning Model Selection and Evaluation | - Understand the concept and importance of model selection and evaluation in machine learning - Learn how to use Scikit-Learn to perform cross-validation, grid search, random search, and pipeline in Python - Learn how to use Scikit-Learn to perform model validation, model comparison, model selection, and model improvement in Python
Week 13 Introduction to Deep Learning with TensorFlow and Keras | - Understand the definition and types of deep learning - Learn the basic concepts and components of artificial neural networks such as neurons, layers, weights, biases, activations, loss functions, optimizers, etc. - Learn how to use TensorFlow and Keras libraries to build and train various types of neural networks in Python
Week 14 Deep Learning Applications: Computer Vision and Natural Language Processing | - Understand the applications and challenges of computer vision and natural language processing using deep learning - Learn how to use TensorFlow and Keras to perform image classification, object detection, face recognition, text classification, sentiment analysis, text generation, etc. in Python - Learn how to use TensorFlow and Keras to implement some of the popular deep learning models such as convolutional neural networks (
Week 15 Final Exam | - Review the topics covered in the second half of the course - Apply the knowledge and skills learned in the course to solve various data science problems using Python - Demonstrate the ability to write clear and efficient Python code for data analysis, visualization, machine learning, and deep learning
Assessment Methods and Criteria Evaluation Tool Quantity Weight Alignment with LOs
Final Exam 1 35
Semester Evaluation Components
Midterm 1 35
Quizzes 2 10
Term project and presentation 1 10
Lab assignments 10 10
***     ECTS Credit Calculation     ***
 Activity Hours Weeks Student Workload Hours Activity Hours Weeks Student Workload Hours
Lecture hours 3 14 42 Assignments 3 7 21
Active labs 2 14 28 Home study 1 14 14
In-term exam study 10 1 10 Final exam study 11 1 11
Term project/presentation 2 12 24
        Total Workload Hours = 150
*T= Teaching, P= Practice ECTS Credit = 6
Course Academic Quality Assurance: Semester Student Survey Last Update Date: 01/09/2023
QR Code for https://ecampus.ius.edu.ba/syllabus/aid201-programming-data-science

Print this page