Skip to content

Commit fc365ca

Browse files
committed
Add teaching page
1 parent 7340e09 commit fc365ca

File tree

8 files changed

+157
-49
lines changed

8 files changed

+157
-49
lines changed

.astro/content-modules.mjs

Lines changed: 20 additions & 20 deletions
Large diffs are not rendered by default.

public/img/probai.svg

Lines changed: 9 additions & 0 deletions
Loading

src/assets/news.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
[
2+
{
3+
"date": "2025-11-14",
4+
"post": "I'll be teaching <a href='https://probgenai.kristia.de'>CS 9840: Probabilistic Generative AI</a> in winter term 2026."
5+
},
26
{
37
"date": "2025-11-01",
48
"post": "Nouran Sakr has joined the group as a MSc thesis student, co-supervised by Yalda Mohsenzadeh. Welcome!"

src/assets/probai.png

114 KB
Loading

src/assets/probai.svg

Lines changed: 9 additions & 0 deletions
Loading

src/components/Card.astro

Lines changed: 54 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -30,31 +30,62 @@ if (imagePath) {
3030
class={cn(
3131
className,
3232
"relative border border-border bg-primary-foreground px-5 py-3 rounded-lg",
33-
// href && "transition-all hover:border-blue-400/100 hover:shadow-md",
33+
href && "transition-all hover:border-blue-400/100 hover:shadow-md cursor-pointer",
3434
)}
35-
href={href}
3635
>
37-
<div class={cn("flex gap-6 text-sm", imagePath ? "items-start" : "")}>
38-
{
39-
imagePath && (
40-
<div class='flex-shrink-0'>
41-
<Image
42-
src={images[imagePath]()}
43-
alt={altText}
44-
class={cn("h-16 w-16 object-cover", imageClass)}
45-
loading='eager'
46-
/>
36+
{
37+
href ? (
38+
<a href={href} class='block'>
39+
<div class={cn("flex gap-6", imagePath ? "items-start" : "")}>
40+
{imagePath && (
41+
<div class='flex-shrink-0'>
42+
<Image
43+
src={images[imagePath]()}
44+
alt={altText}
45+
class={cn("h-16 w-16 object-cover", imageClass)}
46+
loading='eager'
47+
/>
48+
</div>
49+
)}
50+
<div class='flex flex-1 flex-col gap-y-1.5'>
51+
<div class='flex flex-col gap-y-0.5'>
52+
<h1 class='font-semibold'>{heading}</h1>
53+
<h2 class='text-muted-foreground text-sm'>
54+
{subheading}
55+
{date && ", " + date}
56+
</h2>
57+
</div>
58+
<div class='text-foreground text-sm'>
59+
<slot />
60+
</div>
61+
</div>
62+
</div>
63+
</a>
64+
) : (
65+
<div class={cn("flex gap-6", imagePath ? "items-start" : "")}>
66+
{imagePath && (
67+
<div class='flex-shrink-0'>
68+
<Image
69+
src={images[imagePath]()}
70+
alt={altText}
71+
class={cn("h-16 w-16 object-cover", imageClass)}
72+
loading='eager'
73+
/>
74+
</div>
75+
)}
76+
<div class='flex flex-1 flex-col gap-y-1.5'>
77+
<div class='flex flex-col gap-y-0.5'>
78+
<h1 class='font-semibold'>{heading}</h1>
79+
<h2 class='text-muted-foreground text-sm'>
80+
{subheading}
81+
{date && ", " + date}
82+
</h2>
83+
</div>
84+
<div class='text-foreground text-sm'>
85+
<slot />
86+
</div>
4787
</div>
48-
)
49-
}
50-
<div class='flex flex-1 flex-col gap-y-1.5'>
51-
<div class='flex flex-col gap-y-0.5'>
52-
<h1 class='font-semibold'>
53-
{href ? <a href={href}>{heading}</a> : heading}
54-
</h1>
55-
<h2 class='text-muted-foreground'>{subheading}{date && ", " + date}</h2>
5688
</div>
57-
<slot />
58-
</div>
59-
</div>
89+
)
90+
}
6091
</Tag>

src/components/layout/Header.astro

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@
1818
<div class='flex items-center gap-x-6'>
1919
<!-- Desktop menu -->
2020
<div class='hidden items-center gap-x-6 text-sm md:flex md:text-lg'>
21-
<a
22-
href='/'
23-
class='flex-none text-[1.05rem] font-semibold hover:text-foreground/75'
24-
aria-label='Nav Menu Item'
25-
>Home
26-
</a>
21+
<!-- <a -->
22+
<!-- href='/' -->
23+
<!-- class='flex-none text-[1.05rem] font-semibold hover:text-foreground/75' -->
24+
<!-- aria-label='Nav Menu Item' -->
25+
<!-- >Home -->
26+
<!-- </a> -->
2727

2828
<a
2929
href='/cv'
@@ -46,6 +46,13 @@
4646
>Publications
4747
</a>
4848

49+
<a
50+
href='/teaching'
51+
class='flex-none text-[1.05rem] font-semibold hover:text-foreground/75'
52+
aria-label='Nav Menu Item'
53+
>Teaching
54+
</a>
55+
4956
<a
5057
href='/blog'
5158
class='flex-none text-[1.05rem] font-semibold hover:text-foreground/75'
@@ -115,6 +122,8 @@
115122
<a href='/publications' class='block px-4 py-2 font-bold hover:bg-muted'
116123
>Publications</a
117124
>
125+
<a href='/teaching' class='block px-4 py-2 font-bold hover:bg-muted'>Teaching</a
126+
>
118127
<a href='/blog' class='block px-4 py-2 font-bold hover:bg-muted'>Blog</a>
119128
</div>
120129
</div>

src/pages/teaching/index.astro

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
---
2+
import PageLayout from "@/layouts/BaseLayout.astro";
3+
import Section from "@/components/Section.astro";
4+
import Card from "@/components/Card.astro";
5+
---
6+
7+
<PageLayout meta={{ title: "Teaching" }}>
8+
<div class='w-full max-w-[50rem]'>
9+
<h1 class='mb-6 mt-5 text-2xl font-bold'>Teaching</h1>
10+
11+
<br />
12+
<br />
13+
14+
<Section title='Graduate'>
15+
<Card
16+
heading='CS 9840: Probablistic Generative AI'
17+
subheading='Western Computer Science Grad Course'
18+
date='Winter 2026'
19+
imagePath='/src/assets/probai.png'
20+
imageClass='rounded-full'
21+
altText='CS 9840'
22+
href='https://probgenai.kristia.de/'
23+
>
24+
From chatbots to image generators, Generative AI (GenAI) is reshaping the world.
25+
What algorithms and probabilistic principles power this revolution? This course
26+
introduces the theoretical and algorithmic foundations of GenAI, covering large
27+
language models (LLMs) and diffusion models, among more mature methods. We will
28+
also explore applications in AI for Science, such as drug discovery and weather
29+
forecasting.
30+
</Card>
31+
</Section>
32+
33+
<!-- <Section title='Undergrad' class='pt-12'> -->
34+
<!-- <Card -->
35+
<!-- heading='TODO' -->
36+
<!-- subheading='TODO' -->
37+
<!-- date='TODO' -->
38+
<!-- imagePath='' -->
39+
<!-- imageClass='rounded-full' -->
40+
<!-- altText='TODO' -->
41+
<!-- > -->
42+
<!-- TODO -->
43+
<!-- </Card> -->
44+
<!-- </Section> -->
45+
</div>
46+
</PageLayout>

0 commit comments

Comments
 (0)