There are two ECON 8310 repositories, and you only ever clone one of them.
| Repository | What it holds | What you do with it |
|---|---|---|
forecasting-env — this
one |
The assignments, the datasets, and the folder your work goes into | Clone it. Every homework you write and submit lives here |
forecasting-course |
Slides, labs, assignments, the book and the workbook — the teaching materials | Nothing. You read these on the web, not in a clone |
Course website (slides, labs, assignments, book, workbook): https://www.luozijun.com/forecasting-course/
Your syllabus, the term calendar and lecture recordings are on Canvas, not on the website.
If you are looking for a lecture or a lab, it is on the website. If you are looking for homework, it is here. Everything you need for ECON 8310 homework is in this repository.
Get this repository onto your machine.
git clone https://github.com/DataHurdler/forecasting-env.gitOr open https://github.com/DataHurdler/forecasting-env, click the green Code button, and download the ZIP — then unzip it somewhere you will find again.
Set up Python. You need Python 3.10 or newer and these packages:
jupyter pandas numpy matplotlib statsmodels scikit-learn
prophet pygam xgboost torch pymc arviz
jupyter is not optional — Quarto runs your Python
through a Jupyter kernel, and rendering fails without it even though
nothing in your code imports it.
macOS only, before Week 5:
brew install libomp, once. Without it
import xgboost fails.
Install Quarto from https://quarto.org/docs/get-started/, and an editor — either VS Code (with the Quarto extension) or Positron (Quarto built in). Either works.
Full step-by-step setup, what a .qmd file actually is,
and the four errors you will hit: QUARTO_GUIDE.md. Read that first if
you have not used Quarto before.
Google Colab will not work — it cannot open
.qmd files.
When something breaks, read Troubleshooting — it covers the failures this course actually produces, and it is faster than waiting on a reply.
Every assignment reads from data/processed/. Try
building it yourself first — it is worth seeing where the data
comes from:
python scripts/prep_m5.py # the main dataset
python scripts/prep_fred.py # macro series, Lecture 2
python scripts/prep_electricity.py # hourly demand, Lecture 3prep_m5.py downloads about 48 MB and takes a few
minutes.
If that fails for any reason, you are not stuck. The
finished files are already committed in data/processed/.
Nothing in this course is blocked by a download.
Copy the assignment out of assignments/ into a new
folder:
submissions/hw01_part1_<yourname>/HW01_Part1_ETS.qmd
Use the exact assignment name for the folder prefix —
hw01_part1, hw05_part2, and so on. It is
written at the top of each assignment.
Open the assignment and find Initial Prompt for Your AI
Assistant. Send that block as the first message to whichever AI
assistant you are using. Save it as INITIAL_PROMPT.md in
your folder.
Work through the questions. Fill in the code chunks and write the answers.
Keep a PROMPT_LOG.md in your folder as you go (see
below).
Render it:
quarto render submissions/hw01_part1_<yourname>/HW01_Part1_ETS.qmdpython scripts/check_my_submission.pyNo arguments. It tells you what is missing. The most common
way to lose marks is submitting an .html that is older than
your .qmd — you edited, then forgot to re-render.
This catches that.
Submit on Canvas. Open the assignment and upload the contents of your submission folder:
| File | |
|---|---|
HWxx.html |
the rendered document — self-contained, so this one file carries all your code, output and figures |
HWxx.qmd |
the source |
PROMPT_LOG.md |
every prompt you sent, numbered |
INITIAL_PROMPT.md |
the context prompt you started with |
REPORT.md |
only where the assignment asks for one |
Attach them individually, or zip the folder and upload that. Either is fine.
Upload before the deadline. The Canvas timestamp is submission time.
This repository is your working folder, not your
submission. It is mine, and you do not have write access —
git push will fail, and that is expected, not something you
have broken.
Two things follow:
git pull is useful. If an assignment
is corrected during the term, pulling brings you the fix without
re-downloading anything.Keeping your own copy on GitHub is optional and entirely up to you. If you do it, make the repository private — a fork of a public repository is always public, and a public copy would put your work and your prompt log in front of the whole class.