Python- Data Science Study Plan
A 15-Week Curriculum for Academic Affiliations
Course Overview
This course is designed to take students from Python basics through to advanced data science
applications. The curriculum combines theoretical knowledge with practical hands-on
assignments and projects to ensure students gain applicable skills for real-world scenarios.
Learning Objectives
By the end of this course, students will be able to:
● Write and debug Python programs using proper syntax and programming practices
● Manipulate various data structures and implement control flow in Python
● Implement object-oriented programming concepts
● Perform data analysis, statistical measurements, and data visualization
● Work with popular data science libraries (NumPy, Pandas, Matplotlib)
● Extract insights from real-world datasets
● Automate tasks using Python
● Implement data scraping techniques
● Apply Python skills to business and research scenarios
Required Tools and Resources
● Python 3.x
● Jupyter Notebook/Lab
● Integrated Development Environment (PyCharm, VS Code, etc.)
● Libraries: NumPy, Pandas, Matplotlib, Seaborn, SciPy
● Access to datasets for practice
Detailed Course Structure
Week 1: Introduction to Python and Programming Fundamentals
Session 1: Python Basics(1.5 hours)
● Introduction to the Python programming language
● History and advantages of Python for data science
● Setting up the development environment
● Installation and configuration (Python, pip, virtual environments)
● Running Python code (scripts vs interactive mode)
● Basic console commands and file operations
● Introduction to how computers work (binary, memory, processing)
● Libraries, packages, and module system
● Github basics
Session 2: Python Syntax and Fundamentals(1 hour)
● Python syntax rules
● Comments and documentation
● Variables and assignment
● Data types overview (int, float, string, boolean)
● Type casting and conversion
● String operations and formatting
● Boolean logic and operations
● Arithmetic, comparison, and logical operators
● Basic input/output operations
Practical Lab
● Working with Python interpreter
● Writing and running simple Python scripts
● Experimenting with data types and operations
Assignment 1
1. Number Manipulator: Write a program that takes a number as input, performs various
operations (multiply by 3, add 8, divide by 2, subtract 4), and outputs the result.
2. Temperature Converter: Create a program that converts temperatures between Celsius
and Fahrenheit based on user input.
3. Simple Calculator: Build a basic calculator that can perform addition, subtraction,
multiplication, and division operations based on user inputs.
4. String Analyzer: Create a program that takes a string input and outputs the number of
characters, words, and whether it's a palindrome.
5. Budget Calculator: Write a program that accepts income and multiple expense inputs,
then calculates remaining budget and percentage of income spent.
Week 2: Data Structures and Control Flow (1.5 hour)
Session: Data Structures
● Lists: creation, indexing, slicing, methods
● Tuples: immutability, use cases
● Sets: unique elements, set operations
● Dictionaries: key-value pairs, methods
● Choosing the right data structure
● Conditional statements (if-elif-else)
● Logical operators in conditions
● Nested conditional statements
● Conditional expressions (ternary operator)
Practical Lab
● Working with various data structures
● Implementing conditional logic
● Solving problems using appropriate data structures
Assignment 2
1. List Manipulator: Create a program that performs various operations on a list (sorting,
counting elements, finding max/min, removing duplicates).
2. Dictionary Manager: Build a contact management system using dictionaries to store
names, phone numbers, and emails with add, delete, and search functionality.
3. Shopping Cart: Implement a shopping cart program using appropriate data structures
that allows adding items, removing items, and calculating the total price.
4. Grade Categorizer: Write a program that takes student scores as input and categorizes
them into grades (A, B, C, D, F) using conditional statements.
5. Data Structure Converter: Create a program that can convert between different data
structures (list to set, tuple to list, dictionary to list of tuples, etc.).
Week 3: Control Flow - Loops and Arrays (1.5 hour)
Session: Loops and Arrays
● For loops and iteration
● While loops
● Loop control statements (break, continue)
● Nested loops
● Comprehensions (list, dictionary, set)
● Introduction to arrays
● NumPy arrays vs Python lists
● Array operations and manipulations
● Multidimensional arrays
Practical Lab
● Implementing various loop structures
● Working with arrays
● Solving iteration problems
Assignment 3
1. Pattern Printer: Create a program that prints various patterns (pyramid, diamond, etc.)
using nested loops.
2. Number Analyzer: Write a program that analyzes a list of numbers to find prime
numbers, factorial calculations, and Fibonacci sequence positions.
3. Matrix Operations: Implement basic matrix operations (addition, subtraction, transpose)
using nested lists or NumPy arrays.
4. Data Filter: Create a program that filters data from a list based on multiple criteria using
loops and conditional statements.
5. Text Analyzer: Build a program that analyzes text to count word frequency, sentence
length, and character distribution using appropriate loops and data structures.
Week 4: Object-Oriented Programming (1.5 hour)
Session: Object-Oriented Concepts
● Classes and objects
● Attributes and methods
● Constructors and initialization
● Encapsulation
● Inheritance and class hierarchies
● Method overriding
● Polymorphism
● Iterators and generators
● Advanced OOP concepts and best practices
Practical Lab
● Designing and implementing classes
● Working with inheritance
● Creating iterators
Assignment 4
1. Bank Account System: Create a class hierarchy for different types of bank accounts
(savings, checking) with methods for deposit, withdrawal, and interest calculation.
2. Library Management: Implement a simple library system with classes for books,
members, and the library itself, demonstrating inheritance and polymorphism.
3. Shape Calculator: Design a class hierarchy for different shapes (circle, rectangle,
triangle) with methods to calculate area and perimeter, showcasing polymorphism.
4. Custom Iterator: Create a custom iterator class that iterates through a sequence in a
specific pattern (e.g., only even positions, in reverse, or with a step value).
5. E-commerce System: Build a simple e-commerce system with classes for products,
cart, and users, demonstrating how objects interact within a system.
Week 5: File Handling (1.5 hour)
Session: File Operations
● File handling concepts
● Opening and closing files
● Reading from files (read, readline, readlines)
● Writing to files
● Appending to files
● File manipulation techniques
● Error handling with files
● Working with different file formats (txt, csv, json)
● File deletion and management
Practical Lab
● Working with various file operations
● Implementing error handling
● Processing different file formats
Assignment 5
1. Log Analyzer: Create a program that reads a log file, parses its content, and provides
statistics about errors, warnings, and other patterns.
2. CSV Data Processor: Write a program that reads a CSV file, performs calculations on
the data, and writes the results to a new CSV file.
3. JSON Configuration Manager: Implement a program that reads, updates, and writes to
a JSON configuration file, allowing users to modify settings.
4. File Backup System: Create a program that backs up specified files to a designated
directory, including timestamp information.
5. Text File Merger: Build a utility that combines multiple text files into a single file with
options for ordering and formatting the content.
Week 6: Project Development (1.5 hour)
Session: Project Planning and Development
● Software development lifecycle
● Project planning and requirements gathering
● Design principles
● Implementation strategies
● Testing and debugging
● Documentation practices
● Version control basics (Git)
● Project presentation techniques
Practical Lab
● Project planning and initialization
● Implementation of core features
● Testing and refining
Project Guidelines
● Choose a problem domain that interests you
● Define clear objectives and requirements
● Apply concepts learned in previous weeks
● Implement proper documentation
● Test thoroughly
● Prepare a presentation demonstrating functionality
Home Project Options
1. Personal Finance Manager: Create an application that tracks income, expenses, and
savings with visualization of spending patterns.
2. Weather Data Analyzer: Build a system that fetches weather data, analyzes trends, and
provides insights with visualizations.
3. Task Management System: Develop a program for managing tasks, deadlines, and
priorities with persistent storage.
4. Text-based Game: Create an interactive adventure game demonstrating object-oriented
design and file handling.
5. Data Analysis Dashboard: Build a system that analyzes a dataset of your choice and
presents findings through an interactive interface.
Week 7: Introduction to Data Analysis (1.5 hour)
Session: Data Analysis Fundamentals
● Introduction to data analysis
● Types of data (structured, unstructured)
● Data sources and formats
● Data analysis process
● Descriptive vs. inferential analysis
● Exploratory data analysis (EDA)
● Data interpretation techniques
● Introduction to data analysis libraries
● Extracting insights from data
Practical Lab
● Exploring sample datasets
● Basic data analysis techniques
● Insight extraction exercises
Week 8: Statistical Measurements I (1.5 hour)
Session: Basic Statistics for Data Analysis
● Measures of central tendency (mean, median, mode)
● Measures of dispersion (range, variance, standard deviation)
● Data distribution concepts
● Percentiles and quartiles
● Correlation analysis
● Covariance
● Basic probability concepts
● Statistical significance
● Hypothesis testing introduction
Practical Lab
● Calculating statistical measures
● Interpreting statistical results
● Applying statistics to real data
Week 9: Statistical Measurements II and Data Preprocessing(1.5 hour)
Session: Advanced Statistics and Data Preparation
● Regression analysis
● Time series analysis basics
● Statistical tests (t-test, chi-square, ANOVA)
● Data cleaning techniques
● Handling missing values
● Outlier detection and treatment
● Data normalization methods
● Feature scaling techniques
● Dimensionality reduction
● Principal Component Analysis (PCA)
Practical Lab
● Data cleaning exercises
● Implementing normalization
● PCA implementation and interpretation
Week 10: Data Visualization (1.5 hours)
Session: Visualization Techniques
● Principles of data visualization
● Types of charts and their uses:
○ Bar charts and histograms
○ Line charts and time series
○ Scatter plots
○ Pie and donut charts
○ Box plots and violin plots
○ Heatmaps
○ Geographic visualizations
● Interactive visualization concepts
● Choosing the right visualization
● Visual storytelling with data
Practical Lab
● Creating various types of visualizations
● Building effective dashboards
● Interpreting visual insights
Week 11: Data Science Libraries (1.5 hours)
Session: Python Data Science Ecosystem
● NumPy: array operations, mathematical functions
● Pandas: DataFrames, Series, data manipulation
● Matplotlib: customizing plots, subplots, saving figures
● Seaborn: statistical visualization, themes
● SciPy: scientific computing, statistics
● Integration between libraries
● Best practices for data science workflows
● Performance considerations
Practical Lab
● Solving problems using multiple libraries
● Data manipulation with Pandas
● Creating publication-quality visualizations
Week 12: Business and Research Analysis (1.5 hours)
Session: Applied Data Analysis
● Business intelligence concepts
● Key performance indicators (KPIs)
● Business metrics and analysis
● Research methodology
● Hypothesis formulation and testing
● Case Study 1: Business Analysis
○ Revenue optimization
○ Customer segmentation
○ Market trend analysis
● Case Study 2: Research Analysis
○ Experimental design
○ Statistical analysis
○ Research finding interpretation
Practical Lab
● Working through business and research case studies
● Applying appropriate analysis techniques
● Presenting findings professionally
Week 13: SQL and Excel Automation (1.5 hours)
Session: Database Interaction and Spreadsheet Automation
● Introduction to SQL
● Database connections in Python
● Basic SQL queries (SELECT, INSERT, UPDATE, DELETE)
● Pandas and SQL integration
● Excel automation with Python
● Reading and writing Excel files
● Excel data manipulation
● Excel report generation
● Automated data processing workflows
Practical Lab
● Writing SQL queries in Python
● Automating Excel tasks
● Building integrated data workflows
Week 14: Web Scraping and Automation (1.5 hours)
Session: Data Collection and Process Automation
● Web scraping ethics and legality
● HTML basics for scraping
● Web scraping techniques
● Libraries: BeautifulSoup, Scrapy, Requests
● Handling dynamic content
● Data extraction and storage
● General automation concepts
● Task scheduling and triggers
● Email automation
● Report generation automation
● API interactions
Practical Lab
● Web scraping implementation
● Building automation scripts
● Creating integrated automation workflows
Week 15: Capstone Projects (1.5 hours)
Session: Applied Python Data Science Projects
● Real-world problem solving
● Project management for data science
● Data collection strategies
● End-to-end implementation
● Results communication
● Project presentation techniques
Final Project Guidelines
● Select a real-world problem requiring data analysis
● Collect and prepare relevant data
● Apply appropriate analysis techniques
● Create meaningful visualizations
● Extract actionable insights
● Present findings professionally
Sample Project Ideas
1. Market Analysis: Analyze market trends and consumer behavior for a specific industry.
2. Health Data Analysis: Explore health metrics and identify patterns or risk factors.
3. Financial Portfolio Optimization: Analyze financial data to optimize investment
strategies.
4. Social Media Sentiment Analysis: Analyze sentiment patterns across social platforms.
5. Environmental Data Monitoring: Analyze environmental data to identify patterns and
concerns.
Assessment Structure
● Assignments (40%): Weekly programming assignments
● Mid-term Project (20%): Week 6 project
● Participation and Labs (10%): In-class engagement and lab work
● Final Project (30%): Week 15 capstone project
Resources and References
Textbooks
https://docs.python.org/3/
https://stackoverflow.com/questions
● "Python for Data Analysis" by Wes McKinney
● "Python Crash Course" by Eric Matthes
Online Resources
● https://www.w3schools.com/python/
● https://www.tutorialspoint.com/python/index.htm
● https://youtu.be/Ri1Lgdew8Ds?si=hrbo4VHFT_s_fKpt
● https://youtu.be/7wnove7K-ZQ?si=i3Uiq9Ba_2JsiXus
● https://youtu.be/OdtVdjtONb4?si=Csfi9Xgy-rD1c-bI
Additional Tools
● GitHub Classroom for assignment submissions
● Jupyter Notebook for interactive coding
● Google Colab for cloud-based Python environment
● Slack/Discord for class communication and support