Lehigh University Graduate Course
6-week intensive | online asychronous
This repository contains comprehensive course materials for BUAN 446, a graduate-level Python course designed for first-year data analytics students. The course focuses on practical data analysis skills.
This course implements a structured three-tier approach to AI integration in learning:
- No AI assistance permitted
- Students build foundational skills through direct practice
- DataCamp courses and textbook readings provide guided support
- Ensures mastery of core concepts needed for assessments
- AI permitted for understanding concepts only
- Students use AI to clarify concepts, debug syntax, and explore alternatives
- Students must write their own code and understand their solutions
- Builds critical thinking about when and how to use AI effectively
- Full AI assistance permitted on projects
- Students collaborate with AI to solve complex, real-world problems
- Emphasis on strategic thinking, problem decomposition, and validation
- Prepares students for professional data analyst workflows
Assessment Balance: Projects encourage AI collaboration while midterm and final exams are administered without AI access, ensuring students can demonstrate core competencies independently.
This course uses a structured three-dataset approach to mirror the professional data analyst journey:
- Phase 1: Foundation (Weeks 1-2)
- Dataset:
crestview_students_clean.csv(7 variables, 600 records) - Goal: Master Python syntax and logic without data quality distractions.
- Dataset:
- Phase 2: Reality Check (Week 3)
- Dataset:
crestview_students_messy.csv(8 variables, 605 records) - Goal: Face the messy reality of corporate data. Learn systematic cleaning, standardization, and validation.
- Dataset:
- Phase 3: Analysis & Scale (Weeks 4-6)
- Dataset:
crestview_students_extended.csv(15 variables, 600 records) - Goal: The "Reward Dataset." Use clean, rich data with double the variables to perform sophisticated multi-dimensional analysis with NumPy and Pandas.
- Dataset:
buan446-python-for-data-analysts/
├── chapters/ # Interactive Jupyter notebooks for each chapter
├── assessments/ # Quizzes and exams (Moodle XML + Jupyter notebooks)
├── assignments/ # Weekly assignments and projects
├── data/ # Course datasets (clean and messy versions)
└── README.md
Chapter 1: Python Fundamentals
- Variables, data types, and expressions
- Basic input/output operations
- Introduction to the Crestview student dataset
Chapter 2: Control Flow
- Conditional statements (if/elif/else)
- Iteration with for and while loops
- Loop control mechanisms
Chapter 3: Functions
- Function definition and calling
- Parameters, arguments, and return values
- Scope and modular programming
Chapter 4: Data Structures
- Lists, tuples, sets, and dictionaries
- Data structure operations and methods
- Choosing appropriate structures for tasks
Chapter 5: File I/O and Exception Handling
- Reading and writing text files
- CSV file processing
- Error handling with try/except blocks
Chapter 6: NumPy
- Array creation and vectorized operations
- Boolean indexing and statistical analysis
- Correlation analysis with extended dataset (15 variables)
Chapter 7: Pandas
- DataFrames, groupby, merge, pivot tables
- Multi-dimensional analysis with extended dataset
- Missing data handling and derived columns
Chapter 8: Data Visualization
- Matplotlib fundamentals and Seaborn statistical plots
- Multi-panel dashboards and correlation heatmaps
- Publication-quality figures and chart selection
Chapter 9: Complete Data Analysis Workflow
- End-to-end analysis pipeline
- Capstone project with 15-variable dataset
- Professional deliverables and executive summaries
The course centers on a comprehensive synthetic dataset representing Crestview University students, evolving in complexity as your skills grow:
1. Clean Dataset (crestview_students_clean.csv)
- Focus: Weeks 1-2 (Python Fundamentals)
- 600 student records | 7 variables
- Purpose: Building confidence with core Python syntax.
2. Messy Dataset (crestview_students_messy.csv)
- Focus: Week 3 (Data Cleaning)
- 605 records | 8 variables | 28+ intentional issues
- Purpose: Mastering the "80% of the job" — handles inconsistent formatting, missing values, duplicates, and typos.
3. Extended Dataset (crestview_students_extended.csv)
- Focus: Weeks 4-6 (Advanced Analysis)
- 600 records | 15 variables | Clean & Rich
- Purpose: Unlocks sophisticated analysis (Study Hours, Financial Aid, Extracurriculars, etc.) using NumPy and Pandas.
- Inconsistent college name formatting (abbreviations, capitalization)
- Mixed case in categorical variables
- Missing values in various columns
- Duplicate student records
- Invalid GPA values (>4.0, negative numbers)
- Credits_Attempted stored as strings with formatting issues
- Invalid enrollment dates
- Extra whitespace and formatting inconsistencies
- Week 1: Chapters 1-2 (10 multiple choice questions)
- Week 2: Chapter 3 (10 multiple choice questions)
- Week 3: Chapters 4-5 (10 multiple choice questions)
Part 1: Proctored Component
- Multiple choice and short answer questions
- Covers Chapters 1-5 comprehensively
- Tests fundamental Python skills and concepts
Part 2: Take-Home Project
- Jupyter notebook-based analysis
- Uses clean Crestview student dataset
- Demonstrates ability to apply concepts independently
Week 3: Data Cleaning Project (100+ points)
- Six progressive parts guiding students through data quality challenges
- Inspect, clean, and validate the messy Crestview student dataset
- Requires strategic decision-making and documentation of cleaning choices
By the end of this course, students will be able to:
- Write clean, efficient Python code for data analysis tasks
- Apply appropriate data structures to solve real-world problems
- Read, process, and validate data from various file formats
- Identify and correct data quality issues systematically
- Use AI tools strategically while maintaining independent problem-solving skills
- Document and communicate data analysis processes effectively
- Python: 3.8 or higher
- Required Libraries: pandas, numpy, matplotlib, seaborn
- Development Environment: Jupyter Notebook or JupyterLab
1. Get the Software (One-Time Setup)
- Install Anaconda: This installs Python, Jupyter Notebook, and all the data libraries you need (Pandas, NumPy, etc.) in one click.
- Install GitHub Desktop: This lets you download and update course files without using the command line.
2. Get the Course Files
- Open GitHub Desktop.
- Go to File > Clone Repository.
- Select the URL tab and paste:
https://github.com/ejz218/python-for-data-analysts.git - Local Path: Click "Choose..." and select your
Desktopfolder. - Click Clone.
3. Start Coding
- Open Anaconda Navigator.
- Click Launch under "Jupyter Notebook".
- In the browser tab that opens, click Desktop, then python-for-data-analysts.
- Click on specific chapter notebooks (e.g.,
chapters/Chapter1_Python_Fundamentals.ipynb) to open them.
If you prefer using the terminal (Mac) or Command Prompt/PowerShell (Windows):
Mac / Linux:
# 1. Navigate to Desktop
cd ~/Desktop
# 2. Clone the repository
git clone https://github.com/ejz218/python-for-data-analysts.git
cd python-for-data-analysts
# 3. Create virtual environment
python3 -m venv venv
source venv/bin/activate
# 4. Install packages
pip install jupyter pandas numpy matplotlib seabornWindows:
# 1. Navigate to Desktop
cd $HOME\Desktop
# 2. Clone the repository
git clone https://github.com/ejz218/python-for-data-analysts.git
cd python-for-data-analysts
# 3. Create virtual environment
python -m venv venv
venv\Scripts\activate
# 4. Install packages
pip install jupyter pandas numpy matplotlib seaborn- Start with Chapter 1 and progress sequentially
- Follow the CRAWL → WALK → RUN framework for each topic
- Complete DataCamp courses before attempting chapter exercises
- Practice with the clean dataset before tackling messy data challenges
- Document your learning process and AI interactions
This repository can be adapted for your own Python for Data Analytics courses:
- Modify the case study dataset to fit your institution or domain
- Adjust the AI integration framework to match your pedagogical goals
- Customize assessment difficulty and point values
- Add or remove chapters based on semester length
All student data in this repository is 100% synthetic and generated specifically for educational purposes. No real student information is included. The data is designed to be realistic enough for learning while maintaining complete privacy.
This is an educational repository. If you find errors or have suggestions for improvements:
- Open an issue describing the problem or enhancement
- For significant changes, please discuss in an issue before submitting a pull request
- Follow existing code style and documentation patterns
This course material is provided for educational purposes. Please contact the course instructor before using or adapting materials for other courses.
Course Instructor: Eric Zematis
Institution: Lehigh University
Course: BUAN 446 - Python for Data Analysts
- DataCamp integration for supplementary learning resources
- Lehigh University College of Business for supporting innovative AI-integrated pedagogy
Last Updated: May 2026