Aubrey Cooper

I am a junior at Ouachita Baptist University, where I am studying mathematics and communications with a sports media emphasis. My academic interests reflect both my analytical mindset and my passion for clear, engaging communication. I enjoy combining logical problem-solving with creative expression, and I am especially interested in how data, storytelling, and media connect.
In addition to my coursework, I have experience with coding, which has strengthened my attention to detail and ability to approach complex problems in a structured way. My background in communications has also helped me develop strong interpersonal skills and confidence in sharing ideas with different audiences.
I am known for being organized, dependable, and responsive. I work well under deadlines and take pride in managing my time effectively while maintaining a strong work ethic. I approach responsibilities with focus and consistency, whether working independently or as part of a team.
Mathematics
Throughout the years I’ve gained experience in code breaking, matrix analysis using differential equations, and mathematical proofs.
Coding
Etch-A-Sketch
int circleSize = 100;int x;int y;int w;void setup(){ size(1000,500); x = width/2; y = height/2; w = 150; sketch(); }void sketch(){ strokeWeight(w); noFill(); stroke(225,0,20); rect(0,0,width,height); //button thingy buttons(); //name PFont font = createFont("Baskerville", 24); textFont(font); textAlign(CENTER, TOP); fill(0); text("Etch A Sketch", width/2, 10);}void keyPressed(){ char keyTyped = key; //borders int leftBorder = 100; int rightBorder = width - 100; int bottomBorder = height - 100; int topBorder = 100; if (keyTyped == 'a' || keyTyped == 'A'){ x -= 5; if (x == leftBorder){ x += 2; } }else if (keyTyped == 'w' || keyTyped =='W'){ y -= 5; if (y == topBorder){ y += 2; } }else if (keyTyped == 'd' || keyTyped == 'D'){ x = min(x+2, rightBorder); }else if (keyTyped == 's' || keyTyped == 'S'){ y = min(y+2, bottomBorder); }else if (keyTyped == 'e' || keyTyped == 'E'){ background(200); sketch(); } stroke(0); strokeWeight(15); point(x,y); buttons();}void buttons(){ noStroke(); fill(255); circle(circleSize,7*height/8, circleSize); circle(width-circleSize, 7*height/8, circleSize);}void draw(){}
Lights Game
color y;int NUM_LIGHTS = 11;boolean[] lights = new boolean[NUM_LIGHTS];int SQUARE_SIZE;void setup(){ size(350, 250); SQUARE_SIZE = width/NUM_LIGHTS; setupStart();}void draw(){ int x = 0; for(int i = 0; i < NUM_LIGHTS; i ++){ setColor(i); fill(y); rect(x,0,width/NUM_LIGHTS, height); x += width/NUM_LIGHTS; }}void setColor(int i){ if(lights[i] == true){ y = color(244, 194, 194); }else{ y = color(100); }} void mousePressed(){ int x = mouseX; int y = checkBox(x); switchtf(y); if(isOver()){ println("YOU WIN"); }}boolean isOver(){ boolean over = true; for (int i = 0; i < lights.length; i ++){ if(lights[i] == true){ over = false; } } return over;}void switchtf(int i){ if (i != 0){ if(lights[i-1] == true){ lights[i-1] = false; }else{ lights[i-1] = true; } } if(lights[i] == true){ lights[i] = false; }else{ lights[i] = true; } if(i != NUM_LIGHTS-1){ if(lights[i+1] == true){ lights[i+1] = false; }else{ lights[i+1] = true; } }}int checkBox(int x){ int boxNum = x/SQUARE_SIZE; return boxNum;}boolean tf(){ int random = int(random(1,3)); if(random == 1){ return true; }else{ return false; }}void setupStart(){ for(int i = 0; i < lights.length -1; i ++){ lights[i] = tf(); }}
Snowflake Simulation
int NUM_FLAKES = 100;PImage[] snowflakes;float[] flakeY;float[] speed;float direction;float Wspeed;void setup() { size(800, 600); snowflakes = new PImage[3]; for (int i = 0; i < snowflakes.length; i++) { snowflakes[i] = loadImage("flake" + i + ".png"); } flakeY = new float[NUM_FLAKES]; speed = new float[NUM_FLAKES]; initializeFlakes(flakeY, speed);}void draw() { background(0); drawFlakes(flakeY); updateFlakes(flakeY, speed);}void initializeFlakes(float[] flakeArray, float[] speedArray) { for (int i = 0; i < flakeArray.length; i++) { flakeArray[i] = random(height); speedArray[i] = random(1, 6); } direction = random(TWO_PI); Wspeed = 0.02; }void drawFlakes(float[] flakeArray) { float flakeWidth = width / flakeArray.length; for (int i = 0; i < flakeArray.length; i++) { int snowflakeIndex = i % snowflakes.length; PImage snowflakeImage = snowflakes[snowflakeIndex]; float flakeHeight = map(i, 0, flakeArray.length - 1, 5, 20); float x = i * flakeWidth + flakeWidth / 2; float y = flakeArray[i]; image(snowflakeImage, x, y, flakeHeight, flakeHeight); }}void updateFlakes(float[] flakeArray, float[] speedArray) { for (int i = 0; i < flakeArray.length; i++) { flakeArray[i] += speedArray[i]; float windOffset = sin(direction) * Wspeed; flakeArray[i] += windOffset; if (flakeArray[i] > height) { flakeArray[i] = 0; speedArray[i] = random(1, 6); } } if (frameCount % 300 == 0) { direction = random(TWO_PI); }}
GPA Calculator
import javax.swing.*;int courseNum = 1;int pointsToGPA = 0;int totalCredit = 0;int GPA = 0;void setup() { int numCourses = int(JOptionPane.showInputDialog("How many courses do you have?")); for(int i = 0; i < numCourses; i ++){ String creditAsk = JOptionPane.showInputDialog("How many hours of credit do you get for course " + courseNum + "?"); String gradeAsk = JOptionPane.showInputDialog("What grade did you recieve in the course?"); char grade = gradeAsk.charAt(0); int credit = int(creditAsk); int grades = gradeConvert(grade)*credit; totalCredit += credit; pointsToGPA += grades; courseNum += 1; } float GPA = calculateGPA(pointsToGPA, totalCredit); JOptionPane.showMessageDialog(null, "Your GPA is " + GPA);}int gradeConvert(char grade){ if (grade == 'a' || grade == 'A'){ return 4; }else if (grade == 'b' || grade == 'B'){ return 3; } else if (grade =='c' || grade == 'C'){ return 2; }else if (grade == 'd' || grade == 'D'){ return 1; }else{ return 0; }}float calculateGPA(int score, int credit){ float average = float(score)/float(credit); return average;}
With my experience in coding I have worked with Java, JavaScript, and Swift to code projects that preform calculations, create interactive games, flowing interactive designs, and model real-world scenarios like banking.
Media
Through the Ouachita Sports Digital Network at OBU, I’ve gained experience doing camera work and audio for football, soccer, basketball, and baseball.



















