Allegheny College | Department of Computer Science
A comprehensive, interactive course website for Data Science (CMPSC 301) featuring JupyterLite integration, interactive Python/R demonstrations, and a colorful, student-friendly design.
- 🎨 Colorful Design: Vibrant UI inspired by the course logo (cyan, coral, deep blue)
- 🚀 JupyterLite Integration: Full Python environment running in the browser
- 🎮 Interactive Playground: 5 comprehensive data science demonstrations:
- Data Visualization Masterclass
- Machine Learning: Predicting the Future
- Text Analytics & Sentiment Analysis
- Statistical Analysis: Finding Patterns
- Data Wrangling: Cleaning Messy Data
- 📚 Course Materials: Weekly schedule with slides, assignments, and resources
- 📥 Project Files Hub: Downloadable datasets, starter code, and tutorials
- 📱 Responsive Design: Works beautifully on desktop, tablet, and mobile
Visit the deployed site at: https://YOUR-USERNAME.github.io/YOUR-REPO/
-
Clone the repository:
git clone https://github.com/YOUR-USERNAME/YOUR-REPO.git cd YOUR-REPO -
Install Quarto:
- Download from quarto.org
- Follow installation instructions for your OS
-
Install Python dependencies (for JupyterLite):
pip install -r live/requirements.txt
The pins in that file must stay together — see JUPYTERLITE_SETUP.md §3.
-
Render the site:
quarto render
-
Build JupyterLite:
cd live jupyter lite build --output-dir ../docs/live -
Preview locally:
quarto preview
or open
docs/index.htmlin your browser
.
├── _quarto.yml # Main Quarto configuration
├── styles.css # Custom CSS (logo-inspired colors)
├── logo.png # Course logo
├── index.qmd # Home page (syllabus)
├── README.md # This file
│
├── playground/ # Interactive demonstrations
│ ├── 00_playground.qmd # Playground landing page
│ ├── 01_visualization.qmd
│ ├── 02_machine_learning.qmd
│ ├── 03_text_analysis.qmd
│ ├── 04_statistical_analysis.qmd
│ └── 05_data_wrangling.qmd
│
├── materials/ # Course materials
│ ├── 0_materials.qmd # Weekly schedule
│ ├── 1_project_files.qmd # Downloads hub
│ └── files/ # Datasets and resources
│
├── live/ # JupyterLite setup
│ ├── jupyter-lite.json
│ ├── jupyter_lite_config.json
│ ├── content/
│ │ └── welcome.ipynb # Welcome notebook
│ └── README.md
│
├── docs/ # Built site (output)
│ ├── index.html
│ ├── live/ # JupyterLite deployment
│ └── ...
│
└── .github/
└── workflows/
└── deploy.yml # GitHub Actions for deployment
The site uses colors extracted from the course logo:
- Bright Cyan:
#40C9D9- Primary navigation and accents - Deep Blue:
#2563C7- Headings and text - Coral Pink:
#FF6B6B- Highlights and calls-to-action - Turquoise:
#4DD4E5- Secondary accents - Salmon Coral:
#FF7B7C- Interactive elements
Edit styles.css and update the CSS variables in :root:
:root {
--bright-cyan: #40C9D9;
--deep-blue: #2563C7;
--coral-pink: #FF6B6B;
/* ... */
}- Create a new
.qmdfile - Add it to
_quarto.ymlnavigation:navbar: left: - href: your-page.qmd text: Your Page
- Create a new
.qmdfile inplayground/ - Add frontmatter with title, description, and categories
- It will automatically appear in the playground listing
Packages are installed by students at runtime, in the browser — there is no build-time package list. In a Python notebook:
import micropip
await micropip.install("your-package-here")In an R notebook:
install.packages("your-package-here")See live/README.md for details.
The repository includes a GitHub Actions workflow that automatically builds and deploys the site when you push to the main branch.
Setup steps:
- Go to your repository settings
- Navigate to Pages section
- Under Source, select GitHub Actions
- Push to
mainbranch - the site will build automatically!
If you prefer manual deployment:
-
Build the site locally:
quarto render cd live && jupyter lite build --output-dir ../docs/live
-
Commit and push the
docs/folder:git add docs/ git commit -m "Deploy site" git push -
Configure GitHub Pages to use the
docs/folder
- Data Visualization: Creating beautiful charts with Matplotlib, Seaborn, and Plotly
- Machine Learning: Building predictive models for house prices
- Text Analytics: Sentiment analysis of product reviews
- Statistical Analysis: Hypothesis testing and confidence intervals with student data
- Data Wrangling: Cleaning and transforming messy real-world data
- Weekly schedule with topics, slides, and assignments
- Downloadable resources: Datasets, starter code, tutorials
- Project guidelines: Midterm and final project requirements
This is a course website template. To adapt it for your course:
- Fork the repository
- Update course information in
index.qmd - Customize colors in
styles.css - Add your own materials to
materials/ - Modify or add playground demonstrations
- Update README.md and remove example content
This course website is open source. Feel free to use and adapt it for your own courses!
- Technical Issues: Open an issue on GitHub
- Course Questions: Contact the instructor via email or Discord
- JupyterLite Problems: See live/README.md, or JUPYTERLITE_SETUP.md for the full build/troubleshooting guide
- Quarto: quarto.org
- JupyterLite: jupyterlite.readthedocs.io
- Design Inspiration: Course logo colors and modern web design principles
- Data Science Libraries: NumPy, Pandas, Matplotlib, Seaborn, Plotly, Scikit-learn
Built with ❤️ for Data Science Education
Last updated: August 2026
