Christopher Demirjian



headshot of Christopher
Master's Student: ML, AI
Software Engineer, Machine Learning Engineer
Columbia Engineering


About Me

Filter Skills and Experiences

(size indicates frequency of keyword)

Professional Experience


Internships

Columbia University IRT Lab Undergraduate Research Assistant


Duration: January 2023 - August 2023

As an undergraduate junior, I served as an Undergraduate Research Assistant to Columbia's Internet Real Time (IRT) Lab under Professor Henning Schulzrinne.

My work centered around researching how to program rules for a firewall that protects Internet of Things (IoT) devices from malicous traffic. This firewall was programmed in the P4 language, adding intelligence to the forwarding of packets in the dataplane of network traffic for these devices.

Tags: Cybersecurity Networks Wireshark P4 Python Git Linux IoT Firewall Research Columbia

Yale University NLP Lab Undergraduate Research Assistant


Duration: May 2023 - August 2023

As a rising undergraduate senior, I served as an Undergraduate Research Assistant to Yale's Natural Language Processing (NLP) Lab under Professor Arman Cohan.

As a research assistant, I collaborated with researchers to learn about the field of NLP and constructed a web demo to display the results of the lab's paper L2CEval.

Tags: Frontend Python Streamlit Webapp Natural Language Processing Data-visualization Research Teamwork Yale

Accelerate Program Intern


Duration: June 2022 - August 2022

During this IBM summer program, I learned the foundations of software engineering, industry standards and new methodologies such as the Agile Word Method, Cloud Native Development and Software Development Lifecycle.

Tags: Cybersecurity Agile Cloud Git HTML CSS JavaScript React Teamwork IBM

Software Engineering Projects


Frontend Projects

Christopher's Portfolio Website


Completion: August 2024

Successfully deployed Full Stack website application that acts as a clear representation of my experiences, projects, and credentials.

Tags: Frontend jQuery Jinja HTML CSS Responsive-Design JavaScript Twitter-bootstrap Python UI-Design Full Stack Cloud Deployed Mobile

EdTech: How to Identify Pitches in Baseball


Completion: May 2024

Interactive Web Application that teaches user how to identify baseball pitch types.

This group project showcases a full stack web application using a Flask framework, HTML, CSS, and Javascript.

Tags: Frontend jQuery Flask HTML CSS JavaScript Twitter-bootstrap Python UI-Design Teamwork Columbia

Fantasy Football Website


Completion: March 2024

CRUD Web Application that users can reference for 2023 Fantasy Football Player information.

Tags: Frontend jQuery Flask HTML CSS JavaScript Ajax Search Twitter-bootstrap Independent Columbia

LC2Eval Web Demo


Completion: August 2023

This project served as the first iteration of the companion website for the Yale Natural Language Processing (NLP) Lab's paper 'LC2Eval.'

Using the Python Streamlit library, this website allowed for the paper's datasets and findings to be clearly visualized online.

Tags: Frontend Python Streamlit Webapp Natural Language Processing Deployed Data-visualization Research Teamwork Yale

Backend Projects

NFL Cloud Native Application


Completion: December 2023
NFL Cloud Native Application diagram

This cloud-based application NFL FanZone is built and designed for NFL fans' casual interaction and NFL-related information lookup, allowing users to query player/coach statistics and view player news.

See PDF for full Project Report.

Tags: Python Backend Database Full Stack AWS GCP App-Engine Lambda S3 Agile FAST API Microservices Git Cloud Middleware Rest API Flask Flask-Alqemy Docker IaaS Data-visualization Deployed Teamwork Columbia

NYC Parking Ticket Data Querying


Completion: November 2020
NYC Parking Ticket Data Querying diagram

This program ingests parking ticket data taken from nyc.gov in Parking.csv file, in order to find different statistics of parking tickets

Tags: Python Backend Pandas Statistics Data-visualization Columbia

Projects in Data Structures


Completion: August 2021
Projects in Data Structures diagram

Three smaller programs are implemented:
A stack in Java using an array
A queue in Java using two stacks
A counter in Java that keeps track of the K best objects

Tags: Java Object Oriented Programming Data Structures Backend Columbia

Video Poker in Java


Completion: April 2021
Video Poker in Java diagram

This program allows for an interactive game of video poker.
Using Command Line Inputs, the user can choose to keep or trade in cards in their hand, place a bet, and win/lose credits based on the rank of their hand.

Tags: Java Object Oriented Programming Backend Columbia

Database Projects

Relational Database and Flask Application for NFL Player Querying


Completion: May 2023
Relational Database and Flask Application for NFL Player Querying diagram

Database and associated web application to allow NFL fans to track the statistics, status, and biographical information of each player in the NFL.
The current implementation of this project includes information for all the NFL teams and top players in the 2023 NFL season.

See PDF for full Project Report.

Tags: Database Frontend HTML CSS Flask Json SQL PostgreSQL mySQL Data-visualization Teamwork Columbia

Mobile Projects

Stay Tuned!


Completion: Soon!
Stay Tuned! diagram

Tags:

Machine Learning Projects


Natural Language Processing Projects

Finetuning BERT for Semantic Role Labeling


Completion: December 2023
Finetuning BERT for Semantic Role Labeling diagram

This project trains and evaluates a PropBank-style Semantic Role Labeling (SRL) system by finetuning a pretrained BERT model.
BERT will be used to compute contextualized token represententations and then will be fine-tuned on the SRL task.

Tags: Natural Language Processing Python Neural Network HuggingFace PyTorch Finetuning Columbia

BERT Lexical Substitution


Completion: November 2023
BERT Lexical Substitution diagram

This program solves a lexical substitution task (finding correct synonyms given a sentence), using, WordNet, pre-trained Word2Vec embeddings, and BERT.

Tags: Natural Language Processing Python HuggingFace Rest API Word2Vec Neural Network TensorFlow Keras Prompting Columbia

Neural Network Dependency Parser


Completion: October 2023
Neural Network Dependency Parser diagram

This model is a trained feed-forward neural network that predicts the transitions of an arc-standard dependency parser

Tags: Natural Language Processing Python Neural Network TensorFlow Keras Columbia

Essay Classification with Trigram Language Model


Completion: September 2023
Essay Classification with Trigram Language Model diagram

This program builds a Trigram Language Model, which computes three word sequences to determine the probability of this triple of words occurring consecutively.

Tags: Natural Language Processing Python Columbia

Robotics Projects

Lifelong Planning A* on Grid


Completion: May 2024
Lifelong Planning A* on Grid diagram

This program implements a dynamic path planner for a point robot in a 2D terrain discretized as a grid world

Tags: Robotics Python Columbia

Computer Vision Projects

Identifying Robot Collisions using Convolution Neural Network


Completion: May 2024
Identifying Robot Collisions using Convolution Neural Network diagram

Using a Convolution Neural Network, images are able to fed into a model, and output whether the Kuka robot collides with obstacles or not.

Tags: Robotics Computer Vision Finetuning Transfer Learning Pybullet Python PyTorch Columbia

Classical Machine Learning Projects

Reinforcement Learning-Frozen Lakes Toy Example


Completion: March 2023
Reinforcement Learning-Frozen Lakes Toy Example

Demonstration of Reinforcement Learning.
Man walks around ice grid, avoiding holes to reach goal.
By utilizing reinforcement learning, the man is able to learn how to properly navigate to the goal without falling into holes.

Tags: Machine Learning Python Columbia

Cyber Security Projects


Computer Networks Projects

P4 IoT Firewall


Completion: August 2023
P4 IoT Firewall diagram

P4 Firewall from research in Columbia's Internet Real Time Lab: a white-list only firewall of Internet of Things (IoT) Devices programmed in P4.

This firewall is meant to prevent malicious traffic from entering IoT device networks (smart cameras, smart doorbells, smart light bulbs).

Tags: Research P4 Python Networks Intelligence Firewall Wireshark IoT Columbia

Domain Name System Resolver


Completion: March 2022
Domain Name System Resolver diagram

This Domain Name System (DNS) Resolver server allows for a domain name to be inputted, and will output the ip address of this domain by querying other domain servers.
This server follows RFC 1035

Tags: Networks Python Json Wireshark Columbia

Distance Vector Protcol RIPv2


Completion: May 2022
Distance Vector Protcol RIPv2 diagram

This program implements the Distance Vector Protcol 'Routing Information Protocol' (RIPv2), which allows for packets to be routed to their destination using the shortest possible path.
This program follows RFC 2453

Tags: Networks Python Json Mininet Wireshark Columbia

HTTP Proxy Webserver


Completion: March 2022
HTTP Proxy Webserver diagram

This program implements a proxy web server.
The web proxy accepts incoming HTTP requests from the browser and relays it to the desired web site, thus is both an HTTP server and a client.

Tags: Networks Python Wireshark Columbia

Transmission Control Protocol Lite


Completion: March 2022
Transmission Control Protocol Lite diagram

This program implements a lite version of the Transmission Control Protocol (TCP), which is built using User Datagram Protocol (UDP).
This protocol allows for information to be exchanged between a client and server quickly and without information loss.
This program follows RFC 793

Tags: Networks Python Wireshark Columbia

HTTP Web Server in C


Completion: December 2021
HTTP Web Server in C diagram

This program creates two web servers in the C programming language.
These servers act as an HTTP client and and HTTP proxy server, respectively.

Tags: Networks C Git HTTP Columbia

Finance and Statistics Projects


Finance Projects

Stock Option Pricing using Monte Carlo Simulation


Completion: November 2020
Stock Option Pricing using Monte Carlo Simulation diagram

This project contains a variety of programs that use Monte Carlo Simulations to price various call options such as Asian Call Options, Barrier Call Options and European Call Options with the Black Scholes Merton Formula.

Tags: Python Backend Pandas Finance Statistics Data-visualization Columbia

Finding Optimal Portfolio Weights Using Markowitz Portfolios


Completion: May 2024
Finding Optimal Portfolio Weights Using Markowitz Portfolios diagram

This project uses Markowitz Portfolio Optimization to find the optimal weights to maximize returns on given stocks.

See PDF for full projec report.

Tags: Python Backend Finance Statistics Data-visualization Columbia

Statistics Projects

Leveraging Statistics to Understand How to Build a Playoff Baseball Team


Completion: December 2023
Leveraging Statistics to Understand How to Build a Playoff Baseball Team diagram

This project seeks to explore the underlying team statistics that best can predict a team's likelihood of reaching the MLB playoffs.

See PDF for project report.

Tags: R Microsoft Excel Linear Regression Statistics Data-visualization Teamwork Columbia

Certifications


Problem Solving (Intermediate)


Issued: July 2024

Tags: Problem Solving Python Backend Certificate

Rest API (Intermediate)


Issued: July 2024

Tags: Rest API Data-visualization Web Python Backend Certificate

SQL (Basic)


Issued: July 2024

Tags: SQL Data-visualization Database Certificate

Bloomberg Environmental Social and Governance Course


Issued: May 2024

Tags: Bloomberg Finance Statistics Certificate

Bloomberg Finance Fundamentals Course


Issued: May 2024

Tags: Bloomberg Finance Statistics Certificate

Bloomberg Market Concepts Course


Issued: May 2024

Tags: Bloomberg Finance Statistics Certificate

IBM Accelerate - Software Developer


Issued: August 2022

Tags: Cybersecurity Agile Cloud Git HTML CSS JavaScript React Teamwork IBM Certificate

Cybersecurity Fundamentals


Issued: July 2022

Tags: Cybersecurity Cloud Networks IBM Certificate

How to contact me


Email
cjd2186@columbia.edu