From 9d56d5740b41007fccbbbde50babf139ad69e772 Mon Sep 17 00:00:00 2001 From: Christopher Paciorek Date: Thu, 12 Oct 2023 16:33:17 -0700 Subject: [PATCH] Built site for gh-pages --- .nojekyll | 2 +- about.html | 16 +- calendar.html | 16 +- index.html | 34 +-- macros.html | 16 +- search.json | 47 +++-- sitemap.xml | 24 ++- syllabus.html | 16 +- unit1.html | 235 +++++++++++++++++++-- unit2.html | 494 +++++++++++++++++++++++++++++++++++++++++++ unit3.html | 567 ++++++++++++++++++++++++++++++++++++++++++++++++++ unit3.pdf | Bin 0 -> 17403 bytes 12 files changed, 1407 insertions(+), 60 deletions(-) create mode 100644 unit2.html create mode 100644 unit3.html create mode 100644 unit3.pdf diff --git a/.nojekyll b/.nojekyll index eae8457..781e6b3 100644 --- a/.nojekyll +++ b/.nojekyll @@ -1 +1 @@ -da158a0f \ No newline at end of file +2c65db0e \ No newline at end of file diff --git a/about.html b/about.html index ca45f88..00b9989 100644 --- a/about.html +++ b/about.html @@ -90,6 +90,9 @@ +
+ + + diff --git a/calendar.html b/calendar.html index cd9ed28..1377261 100644 --- a/calendar.html +++ b/calendar.html @@ -90,6 +90,9 @@ +
+ + + diff --git a/index.html b/index.html index 9c02c24..4cd6520 100644 --- a/index.html +++ b/index.html @@ -123,6 +123,9 @@ +
+ + + @@ -209,10 +221,10 @@

Data 100: Principles and Techniques of Data Science

- -

@@ -227,12 +239,6 @@

Data 100: Principles and Techniques of Data Science

-

Styling text (not sure why closer to letters than in DS100).

-
-
-Test 1 -
-

Schedule

Note: DS100 uses templating to fill out the schedule. Here we use Quarto’s EJS templating.

@@ -249,7 +255,7 @@

Week 1

Lecture 1 Introduction
-
Note 1
+
Note 1
@@ -291,17 +297,17 @@

A manual schedule

Aug 24: - Introduction +Lecture 1 Introduction Note 1, Note 2, Recording - Lecture Participation 1 +Lecture Participation 1 Lecture Participation 1 Aug 25: -Lab 1 Prereq coding +Lab 1 Prereq coding diff --git a/macros.html b/macros.html index 94ec1e7..81f208f 100644 --- a/macros.html +++ b/macros.html @@ -92,6 +92,9 @@ +
+ + + diff --git a/search.json b/search.json index 5e6f71e..89da94e 100644 --- a/search.json +++ b/search.json @@ -14,11 +14,18 @@ "text": "\\[\n\\newcommand{\\trans}{^\\mathsf{T}}\n\\newcommand{\\eps}{\\epsilon}\n\\]" }, { - "objectID": "unit1.html", - "href": "unit1.html", - "title": "Unit 1: Intro", + "objectID": "index.html", + "href": "index.html", + "title": "Data 100: Principles and Techniques of Data Science", "section": "", - "text": "An example of adding a styled div via html.\n\nThis content can be styled via the border class.\n\nAn example of an evaluated Python code chunk.\n\nimport numpy as np\nnp.mean(np.random.normal(size=100))\n\n0.029715716344917712\n\n\n\\[\n\\theta = \\int_0^\\infty f(x,\\theta)d\\theta\n\\]\nUse a \\(\\LaTeX\\) macro.\n\\[\nA = X \\trans Y\n\\]" + "text": "Note: DS100/fa23 has a div with templating for the instructors." + }, + { + "objectID": "index.html#schedule", + "href": "index.html#schedule", + "title": "Data 100: Principles and Techniques of Data Science", + "section": "Schedule", + "text": "Schedule\nNote: DS100 uses templating to fill out the schedule. Here we use Quarto’s EJS templating.\nWe’d like to be able to define custom html classes for the buttons below (presumably in CSS style file)\n\nA templated schedule\nThe templating is basically working in terms of filling in values in the schedule.ejs file based on a schedule.yml file. I’m not sure how to apply the style for the module class (see styles.css) to mimic the styling in the DS100 page.\n\nWeek 1\n\n\n Aug 24:\n \n \n Lecture 1 Introduction\n \n Note 1\n \n\n \n Lecture participation 1 Lecture Participation 1\n\n Aug 25:\n \n Lab 1 Prerequisite Coding (due Aug 29)\n\n \n Homework 1A Plotting and Permutation Test (due Aug 31)\n\n \n Homework 1B Prerequisite Math (due Aug 31)\n\n \n \nWeek 2\n\n\n Aug 29:\n \n Lecture 1 Pandas 1\n\n \n Lecture participation 1 Lecture Participation 2\n\n \n \n\nNo matching items\n\n\n\n\nA manual schedule\nWeek 1\n\n\n\nAug 24:\nLecture 1 Introduction\nNote 1, Note 2, Recording\n\n\n\nLecture Participation 1 Lecture Participation 1\n\n\n\nAug 25:\nLab 1 Prereq coding" }, { "objectID": "syllabus.html", @@ -35,18 +42,32 @@ "text": "About Data 100\nCombining data, computation, and inferential thinking, data science is redefining how people and organizations solve challenging problems and understand their world. This intermediate level class bridges between Data 8 and upper division computer science and statistics courses as well as methods courses in other fields. In this class, we explore key areas of data science including question formulation, data collection and cleaning, visualization, statistical inference, predictive modeling, and decision making.​ Through a strong emphasis on data centric computing, quantitative critical thinking, and exploratory data analysis, this class covers key principles and techniques of data science. These include languages for transforming, querying and analyzing data; algorithms for machine learning methods including regression, classification and clustering; principles behind creating informative data visualizations; statistical concepts of measurement error and prediction; and techniques for scalable data processing.\n\nGoals\n\nPrepare students for advanced Berkeley courses in data-management, machine learning, and statistics, by providing the necessary foundation and context.\nEnable students to start careers as data scientists by providing experience working with real-world data, tools, and techniques.\nEmpower students to apply computational and inferential thinking to address real-world problems.\n\n\n\nPrerequisites\nWhile we are working to make this class widely accessible, we currently require the following (or equivalent) prerequisites. Prerequisites will be enforced in Data 100. It is your responsibility to know the material in the prerequisites." }, { - "objectID": "index.html", - "href": "index.html", - "title": "Data 100: Principles and Techniques of Data Science", + "objectID": "unit2.html", + "href": "unit2.html", + "title": "Unit 2: next", "section": "", - "text": "Note: DS100/fa23 has a div with templating for the instructors.\nStyling text (not sure why closer to letters than in DS100)." + "text": "This is an example of using an ipynb file as source rather than qmd. It follows instructions from https://github.com/DS-100/course-notes/README.md." }, { - "objectID": "index.html#schedule", - "href": "index.html#schedule", - "title": "Data 100: Principles and Techniques of Data Science", - "section": "Schedule", - "text": "Schedule\nNote: DS100 uses templating to fill out the schedule. Here we use Quarto’s EJS templating.\nWe’d like to be able to define custom html classes for the buttons below (presumably in CSS style file)\n\nA templated schedule\nThe templating is basically working in terms of filling in values in the schedule.ejs file based on a schedule.yml file. I’m not sure how to apply the style for the module class (see styles.css) to mimic the styling in the DS100 page.\n\nWeek 1\n\n\n Aug 24:\n \n \n Lecture 1 Introduction\n \n Note 1\n \n\n \n Lecture participation 1 Lecture Participation 1\n\n Aug 25:\n \n Lab 1 Prerequisite Coding (due Aug 29)\n\n \n Homework 1A Plotting and Permutation Test (due Aug 31)\n\n \n Homework 1B Prerequisite Math (due Aug 31)\n\n \n \nWeek 2\n\n\n Aug 29:\n \n Lecture 1 Pandas 1\n\n \n Lecture participation 1 Lecture Participation 2\n\n \n \n\nNo matching items\n\n\n\n\nA manual schedule\nWeek 1\n\n\n\nAug 24:\nLecture 1 Introduction\nNote 1, Note 2, Recording\n\n\n\nLecture Participation 1 Lecture Participation 1\n\n\n\nAug 25:\nLab 1 Prereq coding" + "objectID": "unit2.html#title", + "href": "unit2.html#title", + "title": "Unit 2: next", + "section": "Title", + "text": "Title\nHere is some \\(\\LaTeX\\). \\[\n\\theta = 7\n\\]\nHere is some code. Note that to get code output shown, the underlying notebook must have executed the code.\n\n\nCode\na=7\nprint(a)\n\n\n7\n\n\n\n\n\n\n\n\nTip with Title\n\n\n\nThis is an example of a callout with a title." + }, + { + "objectID": "unit1.html", + "href": "unit1.html", + "title": "Unit 1: Intro", + "section": "", + "text": "$$\n\\newcommand{\\trans}{^\\mathsf{T}} \n\\newcommand{\\eps}{\\epsilon}\n$$\n\n\n\nThis is an example of using qmd as the source document.\nAn example of an evaluated Python code chunk.\n\n\nCode\nimport numpy as np\nnp.mean(np.random.normal(size=100))\n\n\n-0.06841232200621428\n\n\n\\[\n\\theta = \\int_0^\\infty f(x,\\theta)d\\theta\n\\]\nUse a \\(\\LaTeX\\) macro. (Note: need to look back at this as having include-before-body in the yaml causes extra space at top of page.)\n\\[\nA = X \\trans Y\n\\]\nAn example of adding a styled div via html.\n\nThis content can be styled via the border class.\n\n\n\n\n\n\n\nTip with Title\n\n\n\nThis is an example of a callout with a title.\n\n\nHere’s a tabset\n\nRPython\n\n\nfizz_buzz <- function(fbnums = 1:50) {\n output <- dplyr::case_when(\n fbnums %% 15 == 0 ~ \"FizzBuzz\",\n fbnums %% 3 == 0 ~ \"Fizz\",\n fbnums %% 5 == 0 ~ \"Buzz\",\n TRUE ~ as.character(fbnums)\n )\n print(output)\n}\n\nfizz_buzz(3)\n\n\n\n\nCode\ndef fizz_buzz(num):\n if num % 15 == 0:\n print(\"FizzBuzz\")\n elif num % 5 == 0:\n print(\"Buzz\")\n elif num % 3 == 0:\n print(\"Fizz\")\n else:\n print(num)\n \nfizz_buzz(3)\n\n\nFizz" + }, + { + "objectID": "unit3.html", + "href": "unit3.html", + "title": "Unit 3: more", + "section": "", + "text": "$$\n\\newcommand{\\trans}{^\\mathsf{T}} \n\\newcommand{\\eps}{\\epsilon}\n$$\n\n\n\nThis is an example of using qmd as the source document with pdf as one target. I’ve taken out the qmd stuff that doesn’t seem to render to pdf.\nAn example of an evaluated Python code chunk.\n\n\nCode\nimport numpy as np\nnp.mean(np.random.normal(size=100))\n\n\n0.0779802879353334\n\n\n\\[\n\\theta = \\int_0^\\infty f(x,\\theta)d\\theta\n\\]\n(Note: need to look back at this as having include-before-body in the yaml causes extra space at top of page.)\n\\[\nA = X \\trans Y\n\\]" }, { "objectID": "calendar.html", diff --git a/sitemap.xml b/sitemap.xml index 23fb5ec..d344dc2 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,26 +2,34 @@ https://berkeley-scf.github.io/stat999-quarto/about.html - 2023-10-12T19:14:37.207Z + 2023-10-12T23:33:17.144Z https://berkeley-scf.github.io/stat999-quarto/macros.html - 2023-10-12T19:14:36.675Z + 2023-10-12T23:33:16.596Z - https://berkeley-scf.github.io/stat999-quarto/unit1.html - 2023-10-12T19:14:36.035Z + https://berkeley-scf.github.io/stat999-quarto/index.html + 2023-10-12T23:33:00.273Z https://berkeley-scf.github.io/stat999-quarto/syllabus.html - 2023-10-12T19:14:28.071Z + 2023-10-12T23:32:51.145Z - https://berkeley-scf.github.io/stat999-quarto/index.html - 2023-10-12T19:14:36.415Z + https://berkeley-scf.github.io/stat999-quarto/unit2.html + 2023-10-12T23:32:50.537Z + + + https://berkeley-scf.github.io/stat999-quarto/unit1.html + 2023-10-12T23:32:59.877Z + + + https://berkeley-scf.github.io/stat999-quarto/unit3.html + 2023-10-12T23:33:16.312Z https://berkeley-scf.github.io/stat999-quarto/calendar.html - 2023-10-12T19:14:36.943Z + 2023-10-12T23:33:16.880Z diff --git a/syllabus.html b/syllabus.html index 1a1b362..40ab46b 100644 --- a/syllabus.html +++ b/syllabus.html @@ -90,6 +90,9 @@ +
+ + + diff --git a/unit1.html b/unit1.html index 2bda7c6..62af866 100644 --- a/unit1.html +++ b/unit1.html @@ -93,18 +93,14 @@ "search-label": "Search" } } -$$ -\newcommand{\trans}{^\mathsf{T}} -\newcommand{\eps}{\epsilon} -$$ + - - +
@@ -130,6 +126,9 @@ +
+ + + @@ -186,10 +194,14 @@
+$$ +\newcommand{\trans}{^\mathsf{T}} +\newcommand{\eps}{\epsilon} +$$
-

Unit 1: Intro

+
@@ -204,26 +216,85 @@

Unit 1: Intro

-

An example of adding a styled div via html.

-
-

This content can be styled via the border class.

-
+

This is an example of using qmd as the source document.

An example of an evaluated Python code chunk.

+
+Code
import numpy as np
 np.mean(np.random.normal(size=100))
+
-
0.029715716344917712
+
-0.06841232200621428

\[ \theta = \int_0^\infty f(x,\theta)d\theta \]

-

Use a \(\LaTeX\) macro.

+

Use a \(\LaTeX\) macro. (Note: need to look back at this as having include-before-body in the yaml causes extra space at top of page.)

\[ A = X \trans Y \]

+

An example of adding a styled div via html.

+
+

This content can be styled via the border class.

+
+
+
+
+ +
+
+Tip with Title +
+
+
+

This is an example of a callout with a title.

+
+
+

Here’s a tabset

+
+ +
+
+
fizz_buzz <- function(fbnums = 1:50) {
+  output <- dplyr::case_when(
+    fbnums %% 15 == 0 ~ "FizzBuzz",
+    fbnums %% 3 == 0 ~ "Fizz",
+    fbnums %% 5 == 0 ~ "Buzz",
+    TRUE ~ as.character(fbnums)
+  )
+  print(output)
+}
+
+fizz_buzz(3)
+
+
+
+
+Code +
def fizz_buzz(num):
+  if num % 15 == 0:
+    print("FizzBuzz")
+  elif num % 5 == 0:
+    print("Buzz")
+  elif num % 3 == 0:
+    print("Fizz")
+  else:
+    print(num)
+    
+fizz_buzz(3)
+
+
+
Fizz
+
+
+
+
+
+ +
@@ -306,6 +377,57 @@

Unit 1: Intro

// clear code selection e.clearSelection(); }); + const viewSource = window.document.getElementById('quarto-view-source') || + window.document.getElementById('quarto-code-tools-source'); + if (viewSource) { + const sourceUrl = viewSource.getAttribute("data-quarto-source-url"); + viewSource.addEventListener("click", function(e) { + if (sourceUrl) { + // rstudio viewer pane + if (/\bcapabilities=\b/.test(window.location)) { + window.open(sourceUrl); + } else { + window.location.href = sourceUrl; + } + } else { + const modal = new bootstrap.Modal(document.getElementById('quarto-embedded-source-code-modal')); + modal.show(); + } + return false; + }); + } + function toggleCodeHandler(show) { + return function(e) { + const detailsSrc = window.document.querySelectorAll(".cell > details > .sourceCode"); + for (let i=0; i .sourceCode"); + const fromCls = show ? "hidden" : "unhidden"; + const toCls = show ? "unhidden" : "hidden"; + for (let i=0; iUnit 1: Intro } } }); - + diff --git a/unit2.html b/unit2.html new file mode 100644 index 0000000..d125b38 --- /dev/null +++ b/unit2.html @@ -0,0 +1,494 @@ + + + + + + + + + +Unit 2: next + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+ + +
+ + + +
+ +
+
+

Unit 2: next

+
+ + + +
+ + + + +
+ + +
+ +

This is an example of using an ipynb file as source rather than qmd. It follows instructions from https://github.com/DS-100/course-notes/README.md.

+
+

Title

+

Here is some \(\LaTeX\). \[ +\theta = 7 +\]

+

Here is some code. Note that to get code output shown, the underlying notebook must have executed the code.

+
+
+Code +
a=7
+print(a)
+
+
+
7
+
+
+
+
+
+ +
+
+Tip with Title +
+
+
+

This is an example of a callout with a title.

+
+
+ + +
+ +
+ +
+ + + + \ No newline at end of file diff --git a/unit3.html b/unit3.html new file mode 100644 index 0000000..a33732e --- /dev/null +++ b/unit3.html @@ -0,0 +1,567 @@ + + + + + + + + + +Unit 3: more + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+ + +
+ + + +
+$$ +\newcommand{\trans}{^\mathsf{T}} +\newcommand{\eps}{\epsilon} +$$ + +
+ + + + +
+ + + + +
+ + +
+ +

This is an example of using qmd as the source document with pdf as one target. I’ve taken out the qmd stuff that doesn’t seem to render to pdf.

+

An example of an evaluated Python code chunk.

+
+
+Code +
import numpy as np
+np.mean(np.random.normal(size=100))
+
+
+
0.0779802879353334
+
+
+

\[ +\theta = \int_0^\infty f(x,\theta)d\theta +\]

+

(Note: need to look back at this as having include-before-body in the yaml causes extra space at top of page.)

+

\[ +A = X \trans Y +\]

+ + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/unit3.pdf b/unit3.pdf new file mode 100644 index 0000000000000000000000000000000000000000..fa1e7c464b34d171c70583e110b46858bace7c9e GIT binary patch literal 17403 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 literal 0 HcmV?d00001