CS316

Introduction to AI & Data Science

Welcome to the official course page for CS316 at Prince Sultan University. This course provides a robust foundation in Data Science, integrating theoretical knowledge with practical skills in Python programming for data science applications.

Explore the course

Course Information

Course Description

This course provides a robust foundation in Data Science, integrating theoretical knowledge with practical skills, leveraging Python programming for data science applications. It starts with an introduction to Python basics and progresses through advanced libraries like NumPy, Pandas, Matplotlib, and Seaborn. This structure allows for the practical application of theoretical concepts in real-world scenarios. The course introduces Statistical Learning as the groundwork for both supervised and unsupervised predictive modeling, leading into more complex areas of machine learning and deep learning. Key topics include convex optimization and the concept of entropy in data science, emphasizing how mathematical principles underpin these areas. Students will develop problem-solving skills in data science by combining mathematics with programming, enhancing their intuition about data science applications. Furthermore, the course covers essential techniques for training predictive models, such as using gradient descent to build training loops, and methods for inference and performance evaluation of predictive models. It also delves into fundamental machine learning models, including linear regression, logistic regression, k-means, and KNNs. Each lecture is supplemented with hands-on labs, quizzes on the Learning Management System (LMS), Python notebooks, and mathematical exercises, ensuring a comprehensive understanding of each topic. The course culminates in a capstone project where students apply their accumulated knowledge to solve a significant Data Science problem. The course also emphasizes the ethical considerations, societal impact, and professional responsibilities involved in Data Science, fostering a sense of continuous learning and professional development.



Course Main Objective

The primary objective of this course is to develop students' proficiency in Data Science by deeply understanding its mathematical underpinnings and computational techniques, enabling them to expertly apply Python-based tools in complex data analysis and modeling tasks, while also critically evaluating the ethical and societal dimensions of their technical solutions.



Course Learning Outcomes (CLOs)

  • CLO1: Apply the fundamentals of Python programming for AI and data science and visualization.
  • CLO2: Demonstrate a thorough knowledge of AI, Statistical Learning, and fundamental Machine Learning models to build supervised and unsupervised predictive models.
  • CLO3: Develop predictive models using convex optimization techniques and evaluate their performance.
  • CLO4: Execute a team capstone project applying theoretical knowledge to solve a significant AI and Data Science problem.
  • CLO5: Reflect on the ethical implications, safety, societal impact, and professional responsibilities involved in AI and Data Science.

Weight of Assessments

  • 40%
    Final Exam
  • 20%
    Major Exam
  • 15%
    Project
  • 10%
    Assignments
  • 10%
    Quizzes
  • 5%
    Attendance and Participation

Instructors

The CS316 course is led by a team of experienced instructors and assistants dedicated to providing a comprehensive learning experience

Lead Instructor

Co-Instructors

Course Outline

Week Lecture Lecture Notes Slides Lab
Week 1 Intro: Syllabus Overview
Lecture 1: Introduction to AI and Data Science Video
Lecture 2: AI, Machine Learning and Deep Learning Video
Lecture 3: From Machine Learning to Deep Learning Video
Week 2 Lecture 4: Data Categories in Data Science Video
Lecture 5: Introduction to Python Programming Language (Install, Libraries, Concepts) Video
Lecture 6: Introduction to Python Programming Language (Virtual Envs and Wheel, PyPi, Package Management) Video
Lecture 7: Demo Python Programming Language (Basic Syntax) Video
Week 3 Lecture 8: Functional Programming and Lambda Expressions Video
Lecture 9: Functional Programming Tools | Filter/Map/Reduce Video
Lecture 10: Python Built-in Data Structures Video
Public Lecture
Week 4 Lecture 11: Object Oriented Programming in Python Video
Lecture 12: Pandas Data Structure | Overview, Creation, Access and Load from Data Sources
Lecture 13: Mastering Data Analytics with Pandas: A Practical Guide using Student Grades Use Case
Lecture 14: Practical Time Series Analysis for Weather Data Using Pandas Video
Week 5 Lecture 15: Integrating Linear Algebra with #NumPy: Practical Foundations for Data Science Video
Lecture 16: Integrating Linear Algebra with #NumPy: Practical Foundations for Data Science Video
Lecture 17: [CS316] Integrating Linear Algebra with NumPy: Determinants, Rank, and Solving Linear Systems Video
Lecture 18: CCIS Seminar
Week 6 Lecture 19: Eigenvalues and Eigenvectors PCA Case Study Video
Lecture 20: Hands-on Session: Create a Feature Matrix
Lecture 21: Projection in Space and Its Application in PCA Video
Lecture 22: Hands-on Session: Heart Disease Dataset (Medical) using PCA
Week 7 Lecture 23: Singular Value Decomposition and Book Recommendation System Video
Lecture 24: Hands-on Session: MCQs and Short Answers
Lecture 25: Hands-on Session: Pandas Data Analytics - Data Cleaning and EDA
Lecture 26: Hands-on Session: Pandas Data Analytics - Data Visualization and Interpretations
Week 8 Lecture 27: Major Exam Practice
Lecture 28: Major Exam Practice
Lecture 29: Major Exam Practice
Lecture 30: Major Exam Practice
Week 9 Lecture 31: Practice Major Exam
Lecture 32: Official Major Exam
Lecture 33: Web Scraping
Lecture 34: Web Scraping
Week 10 Lecture 35: Statistical Learning - Lecture 1- Fundamental Statistical Theorems (Bayes Theorem) Video
Lecture 36: Web Scraping Hands-on
Lecture 37: Web Scraping Hands-on
Lecture 38: Ethics for Data Science and AI
Week 11 Lecture 39: Statistical Learning - Lecture 2- Fundamental Statistical Theorems (LLN and CLT) Video
Lecture 40: Foundation of Predictive Modeling in Data Science 01 - Losses and Risks Video
Lecture 41: Foundation of Predictive Modeling in Data Science 02 - Generalization Risk Video
Lecture 42: Practical Session on Predictive Modeling Concepts and Risk Minimization
Week 12 Lecture 43: Supervised vs. Unsupervised Learning
Lecture 44: Dataset Distribution | Bias vs Variance Overfitting vs. Underfitting Video
Lecture 45: Convex Optimization and Gradient Descent Concepts + Demo
Lecture 46: Hands-on Lab on Gradient Descent - Build a Predictive Model Training Loop from Scratch Video
Week 13 Lecture 47: Introduction to Classification Video
Lecture 48: Evaluation of Classification Models
Lecture 49: Hands-on on Classification Video
Lecture 50: Hands-on on Classification Evaluation (Classification Report + ROC-AUC) Video
Week 14 Classification Models
Week 15 Unsupervised Learning Techniques (Clustering, Feature Reduction)
Week 16 Ethical Considerations of AI and Data Science

ExamGPT: https://examgpt.riotu-lab.org

LMS: https://lms.psu.edu.sa

Learning Resources

Students are advised to refer to the following textbooks for a comprehensive understanding of the course content.

Required Textbooks


Textbook Image

Data Science and Machine Learning: Mathematical and Statistical Methods 1st Edition

Authors: Dirk P. Kroese, Zdravko Botev, Thomas Taimre and Radislav Vaisman

Textbook Image

An Introduction to Statistical Learning: with Applications in Python 1st Edition

Authors: Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani and Jonathan Taylor

Additional Information

Plagiarism and Academic Dishonesty

“Plagiarism can be defined as unintentionally or deliberately using another person’s writing or ideas as though they are one’s own. Plagiarism includes, but is not limited to, copying another individual’s work and taking credit for it, paraphrasing information from a source without proper documentation, and mixing one’s own words with those of another author without attribution. In addition, buying a paper or project, or downloading a paper from the Internet, and submitting them as your own are also plagiarism. The penalty for academic dishonesty will bring course expulsion and failure, or even suspension” (Academic Integrity and Syllabus Acknowledgement Form).



Attendance Policies

The University attendance policy will be strictly followed. Students are expected to attend all class sessions and be in class on-time. Missing a class session is a student’s responsibility. Missed classes will not be repeated. A total of 23 absences may lead to denial grade DN.



Major Exam Policies

The university rules for exams will be followed. There will be no repeat exams – a student staying absent in a major exam or a quiz will result in zero marks.



Assignment/Project Policies

Late submissions will result in deduction of marks. One mark deducted for each day after the deadline; submission will not be accepted after three days from the deadline.


It is the student’s responsibility to periodically check the course website/Moodle for course content, projects assignments, updates and notifications.

Contact Information

Email Us At

riotu@psu.edu.sa

Reach Out To Us

+966 11 494 8851

RIOTU Lab

Prince Sultan University, Building 101, Riyadh, Saudi Arabia