CS 3020-001 Fall 2026 Research Forum
#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);}}
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:
- Word: answer_template.docx
- Latex: answer_template.tex
Final report - research paper summary:
Class Schedule:
|
Lec # |
Date |
Presenter |
Title |
Assignment and Links to slides |
|
1 |
8/24 |
Erik Brunvand |
CS 3020 Introduction & |
|
|
2 |
8/31 |
Jenny Lin |
Computational Tools for Machine Knitting |
|
|
9/7 |
Labor Day |
-------- |
-------- |
|
|
3 |
9/14 |
Daniel Brown |
Leveraging Human Input to Enable Aligned, Robust, and Interactive AI Systems |
Lecture 3 slides |
|
4 |
9/21 |
Mark Gillespie |
TBD |
Lecture 4 slides |
|
5 |
9/28 |
Anna Fariha |
Recommendation systems for Exploratory Data Tasks |
Lecture 5 slides |
|
6 |
10/5 |
Yue Jiang |
TBD |
Lecture 6 slides |
|
|
10/12 |
Fall Break |
-------- |
-------- |
|
7 |
10/19 |
Benjie Wang |
TBD |
Lecture 7 slides |
|
8 |
10/26 |
Blair Sullivan |
TBD |
Lecture 8 slides |
|
9 |
11/2 |
John Regehr |
Proving compilers do what they say they'll do |
Lecture 9 slides |
|
10 |
11/9 |
Jason Wiese |
Making Smart Hospitals Useful |
Lecture 10 slides |
|
11 |
11/16 |
Luis Garcia |
Trustworthy AI for Engineered Systems |
Lecture 11 slides |
|
12 |
11/23 |
Kenneth Marino |
VLM Agents: Hype or Opportunity |
Lecture 12 slides |
|
13 |
11/30 |
Ganesh Gopalakrishnan |
Build a DFA on a BBC Microbit, then Learn its N-Gram Language using an LLM |
Lecture 13 slides |
|
14 |
12/7 |
Erik Brunvand |
Computational Thinking meets Design Thinking |
Lecture 14 - summary |
Papers Recommended by our Speakers
- Erik Brunvand (intro lecture)
- Some web resources about considering graduate school from Northeastern University, and US News and World Report
- Jenny Lin
- Daniel Brown
- Mark Gillespie
- Anna Fariha
- Yue Jiang
- Benjie Wang
- Blair Sullivan
- John Regehr
- Jason Wiese
- Luis Garcia
- Keneth Marino
- Ganesh Gopalakrishnan
- Erik Brunvand
Course Summary:
| Date | Details | Due |
|---|---|---|