CS 3020-001 Fall 2026 Research Forum

An image of code on the screen
#include <stdlib.h> // card > aek.ppm  
#include <stdio.h>
#include <math.h>
typedef int i;typedef float f;struct v{f x,y,z;v operator+(v r){return v(x+r.x,y+r.y,z+r.z);}v operator*(f r){return v(x*r,y*r,z*r);}f operator%(v r){return x*r.x+y*r.y+z*r.z;}v(){}v operator^(v r){return v(y*r.z-z*r.y,z*r.x-x*r.z,x*r.y-y*r.x);}v(f a,f b,f c){x=a;y=b;z=c;}v operator!(){return*this*(1/sqrt(*this%*this));}};i G[]={247570,280596,280600,249748,18578,18577,231184,16,16};f R(){return(f)rand()/RAND_MAX;}i T(v o,v d,f &t,v&n){t=1e9;i m=0;f p=-o.z/d.z;if(.01<p)t=p,n=v(0,0,1),m=1;for(i k=19;k--;)for(i j=9;j--;)if(G[j]&1<<k){v p=o+v(-k,0,-j-4);f b=p%d,c=p%p-1,q=b*b-c;if(q>0){f s=-b-sqrt(q);if(s<t&&s>.01)t=s,n=!(p+d*t),m=2;}}return m;}v S(v o,v d){f t;v n;i m=T(o,d,t,n);if(!m)return v(.7,.6,1)*pow(1-d.z,4);v h=o+d*t,l=!(v(9+R(),9+R(),16)+h*-1),r=d+n*(n%d*-2);f b=l%n;if(b<0||T(h,l,t,n))b=0;f p=pow(l%r*(b>0),99);if(m&1){h=h*.2;return((i)(ceil(h.x)+ceil(h.y))&1?v(3,1,1):v(3,3,3))*(b*.2+.1);}return v(p,p,p)+S(h,r)*.5;}i main(){printf("P6 512 512 255 ");v g=!v(-6,-16,0),a=!(v(0,0,1)^g)*.002,b=!(g^a)*.002,c=(a+b)*-256+g;for(i y=512;y--;)for(i x=512;x--;){v p(13,13,13);for(i r=64;r--;){v t=a*(R()-.5)*99+b*(R()-.5)*99;p=S(v(17,16,8)+t,!(t*-1+(a*(R()+x)+b*(y+R())+c)*16))*3.5+p;}printf("%c%c%c",(i)p.x,(i)p.y,(i)p.z);}}

An image of code on the screen

Class time/location:

Mondays, 9:40-10:30 AM in WEB L126 (Note - this is a new location as of 8/17!) 

Instructor:

Prof. Erik Brunvand    Office: MEB 4154

Syllabus: 

Please read the course syllabus! It has all the details of grading, attendance policy, details of what you should be turning in for assignments, etc. 

Assignment templates:

Lecture summaries:

Final report - research paper summary:

Class Schedule:

Lec #

Date

Presenter
(Research Area)

Title

Assignment and Links to slides

1

8/24

Erik Brunvand

CS 3020 Introduction &
Is Grad School Right For You?

Lecture 1 summary

Lecture 1 slides 

2

8/31

Jenny Lin
(Computational Fabrication)

Computational Tools for Machine Knitting

Lecture 2 summary

Lecture 2 slides

9/7

Labor Day

--------

--------

3

9/14

Daniel Brown
(AI and Robotics)

Human and Robot Co-Adaptation

Lecture 3 summary

Lecture 3 slides

4

9/21

Mark Gillespie
(Geometry Processing)

A Brief Introduction to Geometry Processing

Lecture 4 summary

Lecture 4 slides

5

9/28

Anna Fariha
(Database / Data Management)

From Complex Data to Insights: Querying, Summarizing, Comparing, and Explaining

Lecture 5 summary

Lecture 5 slides

6

10/5

Yue Jiang
(Human-Centered Computing)

Attention is all UI Needs

Lecture 6 summary

Lecture 6 slides

 

10/12

Fall Break

--------

--------

7

10/19

Benjie Wang
(Trustworthy AI)

How Can We Design AI That Reasons Formally?

Lecture 7 summary

Lecture 7 slides

8

10/26

Blair Sullivan
(Algorithms / Theoretical Computer Science)

TBD

Lecture 8 summary

Lecture 8 slides

9

11/2

John Regehr
(Compilers)

Proving compilers do what they say they'll do

Lecture 9 summary

Lecture 9 slides

10

11/9

Jason Wiese
(Human-Centered Computing)

Making Smart Hospitals Useful

Lecture 10 summary

Lecture 10 slides

11

11/16

Luis Garcia
(Cyber-Physical / IoT Systems Security)

Trustworthy AI for Engineered Systems

Lecture 11 summary

Lecture 11 slides

12

11/23

Kenneth Marino
(AI Agents)

VLM Agents: Hype or Opportunity

Lecture 12 summary

Lecture 12 slides

13

11/30

Ganesh Gopalakrishnan
(Reduced-Precision Math in GPUs)

Build a DFA on a BBC Microbit, then Learn its N-Gram Language using an LLM

Lecture 13 summary

Lecture 13 slides

14

12/7

Erik Brunvand
(Arts and Technology)

Computational Thinking meets Design Thinking

Lecture 14 - summary
Lecture 14 slides


Papers Recommended by our Speakers

  1. Erik Brunvand (intro lecture)
  2. Jenny Lin
    1. A Compiler for 3D Machine Knitting
  3. Daniel Brown
    1. Toward Robust, Interactive, and Human-Aligned AI Systems
  4. Mark Gillespie
    1. Boundary First Flattening
  5. Anna Fariha
    1. Data-Semantics-Aware Recommendation of Diverse Pivot tables
    2. Example-Driven Intent Synthesis for Constrained Data Bundle Retrieval: Focused Text Snippet Extraction and Beyond 
    3. QuWARTS: Query Workload Aware Relational Table Synthesis from Unstructured Text
    4. Causal Explanations for Disparate Trends: Where and Why? 
    5. ChARLES: Change-Aware Recovery of Latent Evolution Semantics in Relational Data
  6. Yue Jiang
    1. SeekUI: Predicting Visual Search Behavior on Graphical User Interfaces with a Reward-Augmented Vision Language Model
  7. Benjie Wang
    1. The RAIL Principles for Neurosymbolic AI: Reasoning, Assurances, Interfacing, and Learning
  8. Blair Sullivan
  9. John Regehr
  10. Jason Wiese
  11. Luis Garcia
  12. Keneth Marino
  13. Ganesh Gopalakrishnan
    1. Array Programming on GPUs: Challenges and Opportunities
  14. Erik Brunvand
    1. Algorithmic Arts: Attracting a New Type of Student to Computing - The Algorithm is the Medium
    2. Making Noise: Using Sound-Art to Explore Technological Fluency
    3. Kinetic art and embedded systems: a natural collaboration

Course Summary:

Course Summary
Date Details Due