Skip to content

Commit bc2b0d2

Browse files
committed
docs(preface)📝: add learning goals section as a new notebook chapter
- Introduce 03-goals.py notebook outlining technical and intellectual goals. - List technical takeaways: NetworkX, graph visualization, basic algorithms, and math connections. - Describe intellectual goals: thinking in relationships and developing algorithmic thinking.
1 parent a8b5e7f commit bc2b0d2

File tree

1 file changed

+90
-0
lines changed

1 file changed

+90
-0
lines changed

notebooks/00-preface/03-goals.py

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
import marimo
2+
3+
__generated_with = "0.9.33"
4+
app = marimo.App(width="medium")
5+
6+
7+
@app.cell(hide_code=True)
8+
def __(mo):
9+
mo.md(
10+
r"""
11+
Our learning goals for you with this book
12+
can be split into the technical and the intellectual.
13+
"""
14+
)
15+
return
16+
17+
18+
@app.cell(hide_code=True)
19+
def __(mo):
20+
mo.md(
21+
r"""
22+
## Technical Takeaways
23+
24+
Firstly, we would like to equip you to be familiar
25+
with the NetworkX application programming interface (API).
26+
The reason for choosing NetworkX is because
27+
it is extremely beginner-friendly,
28+
and has an API that matches graph theory concepts very closely.
29+
30+
Secondly, we would like to show you how you can visualize graph data
31+
in a fashion that doesn't involve showing mere hairballs.
32+
Throughout the book, you will see examples of what we call
33+
_rational graph visualizations_.
34+
One of our authors, Eric Ma, has developed a companion package, `nxviz`,
35+
that provides a declarative and convenient API
36+
(in other words an attempt at a "grammar")
37+
for graph visualization.
38+
39+
Thirdly, in this book, you will be introduced to basic graph algorithms,
40+
such as finding special graph structures,
41+
or finding paths in a graph.
42+
Graph algorithms will show you how to "think on graphs",
43+
and knowing how to do so will broaden your ability to interact with
44+
graph data structures.
45+
46+
Fourthly, you will also be equipped with the connection between graph theory
47+
and other areas of math and computing,
48+
such as statistical inference and linear algebra.
49+
"""
50+
)
51+
return
52+
53+
54+
@app.cell(hide_code=True)
55+
def __(mo):
56+
mo.md(
57+
r"""
58+
## Intellectual Goals
59+
60+
Beyond the technical takeaways,
61+
we hope to broaden how you think about data.
62+
63+
The first idea we hope to give you
64+
the ability to think about your data
65+
in terms of "relationships".
66+
As you will learn,
67+
relationships are what give rise to the interestingness of graphs.
68+
That's where _relational insights_ can come to fore.
69+
70+
The second idea we hope to give you
71+
is the ability to "think on graphs".
72+
This comes with practice.
73+
Once you master it, though,
74+
you will find yourself becoming more and more familiar
75+
with **algorithmic thinking**.
76+
which is where you look at a problem
77+
in terms of the **algorithm** that solves it.
78+
"""
79+
)
80+
return
81+
82+
83+
@app.cell(hide_code=True)
84+
def __():
85+
import marimo as mo
86+
return mo,
87+
88+
89+
if __name__ == "__main__":
90+
app.run()

0 commit comments

Comments
 (0)