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 | Thursday 15:00-17:50 | |||||
Prerequisite | None | It is a prerequisite to | None |
|||||||
Lecturer | Emine Yaman | Office Hours / Room / Phone | Monday: 12:00-15:00 Wednesday: 12:00-15:00 Thursday: 10:00-12:00 |
|||||||
eyaman@ius.edu.ba | ||||||||||
Assistant | Nedim Kunovac | Assistant E-mail | nkunovac@ius.edu.ba | |||||||
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 | McKinney, W. (2018). Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython. 2nd ed. O'Reilly Media. VanderPlas, J. (2016). Python Data Science Handbook: Essential Tools for Working with Data. O'Reilly Media. | |||||||||
Additional Literature |
|
|||||||||
Learning Outcomes | After successful completion of the course, the student will be able to: | |||||||||
|
||||||||||
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 course, installing Anaconda and interface, variables, numbers and Boolean values, strings, arithmetic operators, indexing, conditional statements | Chapter 1,2 | ||||||||
Week 2 | Defining functions, conditional statements and functions, built in functions, sequences, lists, tuples, dictionaries, loops | Chapter 3 | ||||||||
Week 3 | Introduction to Numpy, Numpy arrays, array indexing, operations in Numpy | Chapter 4 | ||||||||
Week 4 | Introduction to Pandas, series, data frames, missing data, merging, joining and concatenating, operations, input-output | Chapter 5 | ||||||||
Week 5 | Real life exercices | |||||||||
Week 6 | 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 | Chapter 9 | ||||||||
Week 7 | 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. | Chapter 9 | ||||||||
Week 8 | Midterm Exam | |||||||||
Week 9 | Data Cleaning and Preparation-Understanding data set, checking properties of dataset with main functions, missing values and possible solutions, outliers and possible solutions, visualization of missing values | Chapter 7 | ||||||||
Week 10 | Linear Regression-Training a Linear Regression model, train test split, creating and training the model, model evaluation | Chapter 5 | ||||||||
Week 11 | Logistic Regression-Exploratory data analysis, building a Logistic Regression model, train test split, training and predicting, model evaluation. | Chapter 5 | ||||||||
Week 12 | KNN Algorithm-Standardize the variables, train test split, building KNN, predictions and evaluations, choosing a K value, model evaluation. | Chapter 5 | ||||||||
Week 13 | Decision Trees- Exploratory data analysis, train test split, building a decision tree model, prediction and evaluation, tree visualization. | Chapter 5 | ||||||||
Week 14 | Real life exercices | |||||||||
Week 15 | Presentations of projects |
Assessment Methods and Criteria | Evaluation Tool | Quantity | Weight | Alignment with LOs |
Final Exam | 1 | 35 | 1,2,3,4,5 | |
Semester Evaluation Components | ||||
Midterm | 1 | 30 | 1,2,3,4,5 | |
Homeworks | 5 | 5 | 1,2,3,4,5 | |
Term project and presentation | 1 | 15 | 1,2,3,4,5 | |
Lab assignments | 10 | 15 | 1,2,3,4,5 | |
*** ECTS Credit Calculation *** |
Activity | Hours | Weeks | Student Workload Hours | Activity | Hours | Weeks | Student Workload Hours | |||
Lecture hours | 3 | 14 | 42 | Homeworks | 3 | 5 | 15 | |||
Active labs | 2 | 10 | 20 | Home study | 2 | 14 | 28 | |||
Midterm exam study | 15 | 1 | 15 | Final exam study | 15 | 1 | 15 | |||
Term project/presentation | 15 | 1 | 15 | |||||||
Total Workload Hours = | 150 | |||||||||
*T= Teaching, P= Practice | ECTS Credit = | 6 | ||||||||
Course Academic Quality Assurance: Semester Student Survey | Last Update Date: 18/10/2024 |