about me

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.