Hello! My name is Jordan Zink. I am currently a sophomore Computer Science major at Carnegie Mellon University in Pittsburgh, PA. This website is a portfolio of my work and experience. Have a look around.
If you have any questions, email me at jzink@andrew.cmu.edu.
If you came here looking for the 98-186 website, click here.
If you have any questions, email me at jzink@andrew.cmu.edu.
If you came here looking for the 98-186 website, click here.
As you know, I am Jordan Zink. I was born in Dayton, Ohio and raised in Columbus, Ohio. I attended Gahanna Lincoln High School and excelled in science and math. While there, I took 7 AP courses, completed 3 scientific research papers (2 individual, 1 group), participated on the Underwater Robotics Team, Speech and Debate, and National Honors Society, and completed 4 semesters of robotics courses. Also during high school, I competed as a national gold medal winning trampoline gymnast and bowled Varsity for the high school.
I am currently attending Carnegie Mellon University in Pittsburgh, PA. I am studying Computer Science, the major that has been obvious to me for the past 4 years. I first learned how to program in 7th grade and have always been fascinated by computers and how people can do amazing things with them. Watching my older brother go through a Computer Science curriculum at another college reinforced my major choice and based on my first two semesters here at CMU, it was definitely the right choice.
I absolutely love roller coasters, and have since I was ~7 years old. For the past 10 years, I have been studying roller coasters, visiting amusement park, design roller coasters in realistic simulators, and doing just about anything to fill my passion for coasters. I am currently teaching a class about roller coasters at Carnegie Mellon University (98-186). Anyone that knows me will attest to my seemingly random knowledge of roller coasters, including specific details about many coasters across the world.
Other interests of mine include shooting pool, bowling, speaking German, playing with Rubik's Cubes, listening to all kinds of music, and learning new things. I also enjoy teaching others. In high school, I tutored other students both as a volunteer and for pay. Currently, I am a Course Assistant for the 15-112 Fundamentals of Programming class at CMU. I lead recitations and office hours to teach students Python as a rigorous introduction to programming (course website at http://www.cs.cmu.edu/~112).
I am currently attending Carnegie Mellon University in Pittsburgh, PA. I am studying Computer Science, the major that has been obvious to me for the past 4 years. I first learned how to program in 7th grade and have always been fascinated by computers and how people can do amazing things with them. Watching my older brother go through a Computer Science curriculum at another college reinforced my major choice and based on my first two semesters here at CMU, it was definitely the right choice.
I absolutely love roller coasters, and have since I was ~7 years old. For the past 10 years, I have been studying roller coasters, visiting amusement park, design roller coasters in realistic simulators, and doing just about anything to fill my passion for coasters. I am currently teaching a class about roller coasters at Carnegie Mellon University (98-186). Anyone that knows me will attest to my seemingly random knowledge of roller coasters, including specific details about many coasters across the world.
Other interests of mine include shooting pool, bowling, speaking German, playing with Rubik's Cubes, listening to all kinds of music, and learning new things. I also enjoy teaching others. In high school, I tutored other students both as a volunteer and for pay. Currently, I am a Course Assistant for the 15-112 Fundamentals of Programming class at CMU. I lead recitations and office hours to teach students Python as a rigorous introduction to programming (course website at http://www.cs.cmu.edu/~112).
MyCityWay (June 2012 - August 2012) - Web Development Intern
As a web development intern, I led a new project by the company to create and HTM5 version of their existing native iOS app. The project used the Sencha Touch 2 framework. Beginning with the basic home screen, I was able to expand functionality to most of the iOS application, not including user functionality. Near the end of the project, I also was in charge of developing an iPad version of the app (which did not exist natively) for used in conjunction with the iPhone version. The CSS used for the project was SASS pre-processed via the Compass utility.
During another period of the internship, I worked on a web application built on the Yii framework. During this time, I worked with PHP and Javascript mostly while also developing CSS and HTML for the app. I worked with an individual in India for this project but was the main individual deciding how the app would be designed code-wise.
During the internship, I worked extensively with the API that the company wrote for its apps. When I found holes in the API or features to be added, I was sometimes called upon to fix these issues myself. This involved working with MySQL databases in PHP and returning a JSON of the resulting data. I ultimately ended up writing a generic service call utility that would make simple service calls easy to write and maintain.
I entered the internship with zero experience in Javascript and PHP and little practice in Web Development, but quickly learned and was able to produce results that made my employer happy.
As a web development intern, I led a new project by the company to create and HTM5 version of their existing native iOS app. The project used the Sencha Touch 2 framework. Beginning with the basic home screen, I was able to expand functionality to most of the iOS application, not including user functionality. Near the end of the project, I also was in charge of developing an iPad version of the app (which did not exist natively) for used in conjunction with the iPhone version. The CSS used for the project was SASS pre-processed via the Compass utility.
During another period of the internship, I worked on a web application built on the Yii framework. During this time, I worked with PHP and Javascript mostly while also developing CSS and HTML for the app. I worked with an individual in India for this project but was the main individual deciding how the app would be designed code-wise.
During the internship, I worked extensively with the API that the company wrote for its apps. When I found holes in the API or features to be added, I was sometimes called upon to fix these issues myself. This involved working with MySQL databases in PHP and returning a JSON of the resulting data. I ultimately ended up writing a generic service call utility that would make simple service calls easy to write and maintain.
I entered the internship with zero experience in Javascript and PHP and little practice in Web Development, but quickly learned and was able to produce results that made my employer happy.
College
Clean Game Data Manager (December 2012)As a term project for 15-237 Cross Platform Mobile Web Apps, I created a mobile web app which allows for bowling coaches to better keep track of data concerning their teams. With my father being a high school bowling coach and having bowled myself, I was aware of a serious need for a data management system, and the benefit of one being mobile.
There were two main portion of the project: the data entry part and the data view part. The data entry part is intended for mobile use and allows for users to easily enter data from a bowling match, most notably pin-fall. This data is highly usefyul but hard to keep track off. For increased mobility, this part operates entirely offline until the data is uploaded, thanks to HTML5's local storage. All the data not yet uploaded is compressed and saved, allowing the user to exit the app and reopen it where he or she left.
The data viewer is intended for desktop use, but can be used on mobile devices as well. It allows bowling coaches to query their data based on criteria such as individual bowlers or matches and then analyze the data. This can highlight specific areas the team should work on at the next practice.
The backend of the app is a Node.js server using express which interfaces with a MongoDB via mongoose. The server provides authentication of coaches for both parts of the app as well as an API for database querying. This API was going to be extended to allow for individuals to view their data, but this had to be cut due to time restrictions.
The entire project was completed over the course of 3 weeks. A video of the project can be seen here (please disregard the audio; it got de-synched).
Download All Files (including node modules; ~4.5mb) - Without node modules (~2mb)
Roller Coaster Data Analyzer (October 2012)
For 15-237 Cross Platform Mobile Web Apps, I created a website which allowed for the analysis of roller coaster data. I wrote a Python script for scrapping data on all roller coasters around the world from www.rcdb.com and intelligently compressing the data into a base 64 encoded 230kb file. Then, I wrote a Javascript program which uncompressed the data and loaded it into a homemade database system with rich querying. A nice minimalistic user interface was made to query the database and view raw results as well as preform exploratory data analysis and regressional analysis (with HTML5 Canvas drawn graphs). No libraries or other tools beyond jQuery, jQuery UI, and the Google Maps API. Made over the course of 2 weeks.
Website - Python Script
Sudoku (October 2011-December 2011)


As the term project for 15-112 Fundamentals of Programming, I programmed a Sudoku program in Python. Using the native Tkinter graphics package, the program allows players to play Sudoku puzzles of different sizes and difficulty in an easy to use interface. The program automatically saves progress so if you leave a puzzle you can come back and finish it later. Behind the scenes, the program also has a Sudoku solver (generalized to an n^2 by n^2 board) designed by myself which uses a combination of logic and searching to guarantee the ability to solve any solvable Sudoku board. The program also truly generates Sudoku puzzles using a heuristic developed by myself that takes into account two factors to weight the difficulty of a puzzle.
Download Python Files
Personal
Homemade Wiki System (current)As a personal project unrelated to academic study, I developed a small scale wiki system (named the Senalian Encyclopedia). Modeled after Wikipedia, I first created a system in 9th grade using self taught XML and XSL. Later, after learning PHP, I overhauled the whole system so that it uses PHP to extract articles from text files and formats them accordingly, making development much easier The system was created to help develop a science fiction story I am developing.
High School
Underwater Robotics (Winter 2009 - Summer 2011)

Extra-curricular. With team of ~10 kids, designed from ground up an Underwater Remotely Operated Vehicle (ROV) able to accomplish a multitude of tasks, including manipulation (such as picking up objects and turning valves) and sensing (temperature, magnetism, etc.). Contributed to the team by designing a wireless control interface out of Lego NXTs which interfaced with a homemade circuit designed by another team member to provide analog control of the ROV. Also helped build the physical ROV and was the editor of the technical report for the team. The team won a regional competition to travel to the 2011 MATE Underwater ROV Competition at the NASA Neutral Buoyancy Lab in Houston, Texas, where in addition to competing in a mission setting, we presented our robot to a panel of judges in the industry.
Download Paper: MS Word PDF
Robotic Arm (Spring 2010)


Designed a robotic arm with Lego NXTs. With 5 degrees of freedom, the arm had the ability to pick up a graduated cylinder with water, transfer it, and pour the contents into a beaker, as well as thread a needle through a diameter roughly equal to a quarter. Featured a unique manual control system and wireless communication between two NXT units.
Download Paper: MS Word PDF
Surgery Robot (Spring 2010)
Designed a mobile robot intended to perform surgery on a Jell-O brain. The robot autonomously scanned brain for "tumors" (light sources). This data was then exported to Microsoft Excel for data analysis, after which the robot was remote controlled to place a syringe into the infected area and inject a specific amount of "medicine" (water).
Mars Rover (Fall 2008)
With partner, designed a rover out of Lego RCX able to traverse sandy environments and collect rock samples in a simulated Martian environment. During a simulated Mars landing, drove the rover via remote control from a separate room. In addition to manipulation, the robot kept temperature, humidity, and light readings in order to determine the period of a Martian day.
Here are the abstracts for my three research papers. The full length papers are avaliable for download after each abstract.
ASSESSING THE VIABILITY OF THE ROTOR CIPHER IN THE MODERN WORLD
Jordan Zink
Spring 2010
The purpose of this project is to determine the viability of the rotor cipher in the modern world of computer cryptography. This project consists of two phases: modifying the cipher to increase its security and running a simulation to assess the effectiveness of a brute force attack.
While many modifications were made, one modification involved shortening the plaintext before encryption by removing unnecessary letters and replacing words with symbols. An experiment was run to determine the level of shortening that would not distort meaning. 20 subjects participated and it was found that a conservative level of shortening did not significantly distort meaning, while a liberal level of shortening did distortion meaning slightly. It was also found that there was no significant difference between youth and adult subjects, or between subjects familiar and unfamiliar with texting and online lingo.
To simulate a brute force attack, a computer program was written in Visual Basic. Initial testing found household computers could not break a message encrypted with 3 or more rotors. A regression equation was found to predict the key search speed based on plaintext length (R^2 = 0.9988). Also, the equation t = 256^(2n)/s was created to showed the relation of time to run a brute force attack to the number of rotors and the key search speed.
An investigation into the parts of a computer that make a brute force attack run faster was also conducted. It was found that processors with high l-2 cache, voltage, and front side bus speed were the fastest, and RAM had little to no effect on time.
It was concluded that the rotor cipher is a viable cipher in the modern world. Also, plaintext shortening can be applied with most ciphers, which can boost security.
Download Paper: MS Word PDF
DEVELOPMENT OF A PROTOTYPE LEGO NXT LOCATION TRACKING ROBOT
Jordan Zink
Spring 2011
The purpose of this project was to develop a system not based on optics or signals that allow a robot to track its change in location as it drives from one place to another. Such a system would be ideal for certain applications of robotics such as space exploration. The system developed involved using a rotation sensor and a compass sensor to keep track of changes in location. A Lego NXT robot was constructed to test this system.
Initial testing found that the Lego HiTechnic Compass Sensor suffered from interference caused by magnetic noise produced by wires in the floors of the lab where the robot was tested. This interference rendered the system unusable, requiring the development of a countermeasure method. Three methods were tested: wrapping the sensor in aluminum foil, wrapping the sensor in copper foil, and covering the sensor with a copper pipe. Each method served as a makeshift Faraday cage meant to smooth out noise. However, extensive testing found that none of these methods effectively reduced noise to acceptable levels; however, it was shown that location had an effect on noise level.
A program was developed to keep track of location and was tested in an environment with low magnetic noise. When tested, it was found that when driven approximately one to two meters out and back, the robot missed its mark by 0.17 meters on average (n=10). This error is considered too high for practical use.
It can be concluded that the system developed is highly problematic and not practical. This conclusion applies only to the use of the HiTechnic Lego Compass Sensor and not to the concept in general.
Download Paper: MS Word PDF
ASSESSING THE EFFECTS OF AUDIO AND VISUAL SUBLIMINAL MESSAGES ON BRAND CHOICE
Jordan Zink (with A. Baum and E. Taylor)
Spring 2011
The purpose of the experiment was to determine if audio or visual subliminal messages had an effect on the choice of a brand of gum. Subjects were presented either an audio or video stimulus that either contained a subliminal message or no subliminal message and then were given the choice of three fake brands of gum. Participants, all of which were high school students, were not told they were participating in a study with subliminal messaging in order to prevent a bias from expectation. Phase one (n=39) consisted of one-on-one testing and found that video messages merited further testing. Phase two (n=79) consisted of classroom testing and found that no statistically significant difference existed between groups given subliminal stimulus and control groups (p=0.22), however results indicate more data could prove significance. It was concluded that subliminal messages had no significant effect on choice of brand. It is recommended that further research be conducted since results indicate that subliminal messages could be effective.
Download Paper: MS Word PDF
ASSESSING THE VIABILITY OF THE ROTOR CIPHER IN THE MODERN WORLD
Jordan Zink
Spring 2010
The purpose of this project is to determine the viability of the rotor cipher in the modern world of computer cryptography. This project consists of two phases: modifying the cipher to increase its security and running a simulation to assess the effectiveness of a brute force attack.
While many modifications were made, one modification involved shortening the plaintext before encryption by removing unnecessary letters and replacing words with symbols. An experiment was run to determine the level of shortening that would not distort meaning. 20 subjects participated and it was found that a conservative level of shortening did not significantly distort meaning, while a liberal level of shortening did distortion meaning slightly. It was also found that there was no significant difference between youth and adult subjects, or between subjects familiar and unfamiliar with texting and online lingo.
To simulate a brute force attack, a computer program was written in Visual Basic. Initial testing found household computers could not break a message encrypted with 3 or more rotors. A regression equation was found to predict the key search speed based on plaintext length (R^2 = 0.9988). Also, the equation t = 256^(2n)/s was created to showed the relation of time to run a brute force attack to the number of rotors and the key search speed.
An investigation into the parts of a computer that make a brute force attack run faster was also conducted. It was found that processors with high l-2 cache, voltage, and front side bus speed were the fastest, and RAM had little to no effect on time.
It was concluded that the rotor cipher is a viable cipher in the modern world. Also, plaintext shortening can be applied with most ciphers, which can boost security.
Download Paper: MS Word PDF
DEVELOPMENT OF A PROTOTYPE LEGO NXT LOCATION TRACKING ROBOT
Jordan Zink
Spring 2011
The purpose of this project was to develop a system not based on optics or signals that allow a robot to track its change in location as it drives from one place to another. Such a system would be ideal for certain applications of robotics such as space exploration. The system developed involved using a rotation sensor and a compass sensor to keep track of changes in location. A Lego NXT robot was constructed to test this system.
Initial testing found that the Lego HiTechnic Compass Sensor suffered from interference caused by magnetic noise produced by wires in the floors of the lab where the robot was tested. This interference rendered the system unusable, requiring the development of a countermeasure method. Three methods were tested: wrapping the sensor in aluminum foil, wrapping the sensor in copper foil, and covering the sensor with a copper pipe. Each method served as a makeshift Faraday cage meant to smooth out noise. However, extensive testing found that none of these methods effectively reduced noise to acceptable levels; however, it was shown that location had an effect on noise level.
A program was developed to keep track of location and was tested in an environment with low magnetic noise. When tested, it was found that when driven approximately one to two meters out and back, the robot missed its mark by 0.17 meters on average (n=10). This error is considered too high for practical use.
It can be concluded that the system developed is highly problematic and not practical. This conclusion applies only to the use of the HiTechnic Lego Compass Sensor and not to the concept in general.
Download Paper: MS Word PDF
ASSESSING THE EFFECTS OF AUDIO AND VISUAL SUBLIMINAL MESSAGES ON BRAND CHOICE
Jordan Zink (with A. Baum and E. Taylor)
Spring 2011
The purpose of the experiment was to determine if audio or visual subliminal messages had an effect on the choice of a brand of gum. Subjects were presented either an audio or video stimulus that either contained a subliminal message or no subliminal message and then were given the choice of three fake brands of gum. Participants, all of which were high school students, were not told they were participating in a study with subliminal messaging in order to prevent a bias from expectation. Phase one (n=39) consisted of one-on-one testing and found that video messages merited further testing. Phase two (n=79) consisted of classroom testing and found that no statistically significant difference existed between groups given subliminal stimulus and control groups (p=0.22), however results indicate more data could prove significance. It was concluded that subliminal messages had no significant effect on choice of brand. It is recommended that further research be conducted since results indicate that subliminal messages could be effective.
Download Paper: MS Word PDF