Resume

  • Contact Information
    • Benc114@vt.edu
    • (540)-525-3334
    • https://www.linkedin.com/in/benjamin-culverhouse-2105b222b/
  • Education
  • B.S. in Computer Science | Virginia Tech | Blacksburg, VA
    • Expected graduation: May 2024
    • Academic standing: Junior
    • GPA (unweighted): 3.76/4.00
    • In Major GPA: 3.85
    • Relevant Completed Courses
    • CS 1114 Intro to Software Design
    • CS 2114 Software Design and Data Structures
    • CS 2104 Intro to Problem Solving in Computer Science
    • CS 2505 Into to Computer Organization
    • CS 2506 Intro to Computer Organization II
    • CS 3114 Data Structures and Algorithms
    • CS 3214 Computer Systems
    • CS 3704 Intermediate Software Design
    • Advanced Studies Diploma | William Fleming High School | Roanoke, VA
    • Graduated: May 2020
    • GPA (weighted): 4.34/4.00
    • Class rank: 3/333
  • Skills
    • Python, Java, and C knowledge and experience
    • Very basic SQL knowledge
    • Have prior knowledge of HTML and CSS
    • Basic GitHub and GitLab Knowledge
  • Projects
  • Covid Visualization Project – Java
    • Created a program that read in data about covid cases per state per ethnicity and displayed that data in a graph.
    MIPS Assembler Project – C
    • Created a C program that assembled a limited MIPS instruction set. Included more intricate assembler processes such as replacing labels with addresses, as well as supporting some pseudo-instructions.
    Cush - C
    • Created a customizable shell in C that implements general job control and process management principles.
    • Support for foreground and background jobs.
    • Signal handling of different signals (^C SIGINT, ^Z SIGSTP), multiple built-ins such as jobs, fg, bg, killProcess, stop, history.
    • Command piping is also supported as well as io redirection.
    Threadpool - C
    • Created a work-stealing threadpool using the C language using pthread convention.
    • Locks and acquisition of locks were written in a way to guarantee least the amount of lock contention and best effciency when completing tasks.
    Personal Server - C
    • Created a personal server in C that had features such as effcient video hosting, user authentication, and multiple user suppoert.
    • Effcient video hosting was achieved using range requests to allow the user to load sections of videos as fast as possible.
    • Java-Web-Tokens were utilized in the authentication of the user of the server.
    • Multi-threading was utilized to allow for multiple clients to connect to the server simultaneously without interruption.