Ned Bingham
edward.bingham@yale.edu

nedbingham.com
github.com/nbingham1
stackoverflow.com/users/241910
linkedin.com/in/nedbingham

Experience

Google

Software Engineering Intern

Mountain View, CA

May 2016 - Aug 2016

I developed an environment for asynchronous circuits.

Qualcomm Research and Development

Intern

San Diego, CA

Jun 2014 - Sep 2014

I researched asynchronous multiplier architectures.

Intel Corporation

Pre-Silicon Validation Engineer

Hudson, MA

May 2012 - Aug 2012

I helped to validate the power controller of a Xeon server chip.

Intel Corporation

Pre-Silicon Validation Engineer

Hudson, MA

Sep 2011 - Jan 2012

I worked to validate the cache in a high end Xeon server design.

Architecture Technology Corporation

Intern

Ithaca, NY

May 2010 - Aug 2010

I created scripts and Java plugins to extend support for two of their computer forensics tools.

Indiana University's Perception Action Lab

Lab Programmer

Bloomington, IN

2008 - 2009

I worked with Indiana University's Perception Action Lab, coding up various displays for scientific experiments in human perception. I created three programs for visualization experiments, one program for data management, one program for data analysis, and I worked on their website.

Publications

2017

Breaking camouflage and detecting targets require optic flow and image structure information [doi]

Jing Samantha Pan, Ned Bingham, Chang Chen, and Geoffrey P. Bingham

Embodied memory allows accurate and stable perception of hidden objects despite orientation change [doi]

Jing Samantha Pan, Ned Bingham, Geoffrey P. Bingham

2016

Optical information for accurate perception of objects with orientation change [uri]

Jing Samantha Pan, Ned Bingham, Geofrey P Bingham

2013

Embodied Memory: Effective and Stable Perception By Combining Optic Flow and Image Structure [doi, pdf]

Jing Samantha Pan, Ned Bingham, Geoffrey P. Bingham

2012

Object Recognition Using Metric Shape [doi, pdf]

Young-Lim Lee, Mats Lind, Ned Bingham, Geoffrey P. Bingham

Education

PhD Candidate, Computer Engineering

Yale University

New Haven, CT

Apr 2017 - Present

I am researching how to leverage average workload characteristics to optimize energy and throughput. In the Spec2006 benchmark, 320 instructions account for 60% of the instruction execution count. Further, 46% of instructions are integer operations, the average bitwidth of which is 13 bits. I hypothesize that a statically mapped asynchronous digit-serial CGRA can realize significant optimizations for general compute.

Masters of Science, Computer Engineering

Cornell University
GPA 4.00

New York, NY

May 2013 - Apr 2017

QDI design offers a unique pathway for describing circuitry algorithmically rather than structurally and automatically synthesizing that circuit through a set of formal transformations. I worked toward implementing the lower abstractions and associated tranformations of this pathway, designing a simulator, state space elaborator, and state conflict checker for Handshaking Expansions (HSE) along with partial implementations for unique state encoding, and guard strengthening.

Fall 2014 Subject Number Median Enrolled Credits Grade
Introduction to Database Systems CS 5320 3.00 A-
Mobile and Ubiquitous Computing CS 5454 4.00 A
Spring 2014 Subject Number Median Enrolled Credits Grade
Combinatorial Optimization ORIE 6334 0.00 V
Fall 2013 Subject Number Median Enrolled Credits Grade
Parallel and Distributed Computing CS 5460 3.00 A

Bachelor of Engineering, Computer Engineering

Cornell University
GPA 3.29

Ithaca, NY

Aug 2009 - May 2013

Spring 2013 Subject Number Median Enrolled Credits Grade
Ancient Peoples and Places ANTHR 1200 (B+) 108 3.00 C+
Introduction to Controlled Fusion ECE 4840 (A-) 22 3.00 A-
ECE Independent Project ECE 4999 (A) 36 4.00 A
International Trade and Finance ECON 2300 (B) 252 3.00 C
Introduction to Linguistics LING 1101 (B+) 40 4.00 B
Intermediate Tae Kwon Do PE 1376 1.00 SX
Fall 2012 Subject Number Median Enrolled Credits Grade
Human Computer Interaction Design COMM 3450 (A-) 84 3.00 B+
Computer Architecture ECE 4750 (A-) 45 4.00 B+
Advanced Digital VLSI ECE 5740 4.00 A+
Intermediate Tae Kwon Do PE 1376 1.00 SX
Death of God RELST 3342 (B+) 31 4.00 B+
Spring 2012 Subject Number Median Enrolled Credits Grade
Introduction to Microelectronics ECE 3150 (B-) 86 4.00 C-
Networks and Telecommunications ECE 4450 (A) 95 4.00 B+
Digital VLSI Design ECE 4740 (B+) 45 4.00 B+
Digital System Design using Microcontrollers ECE 4760 (A) 92 4.00 A
Intermediate Tae Kwon Do PE 1376 1.00 SX
Summer 2011 Subject Number Median Enrolled Credits Grade
Operating Systems CS 4410 3.00 A-
Electromagnetic Fields and Waves ECE 3030 4.00 B
Probability and Inference ECE 3100 4.00 B
Statics and Mechanics of Solids ENGRD 2020 4.00 B+
Spring 2011 Subject Number Median Enrolled Credits Grade
Signals and Systems ECE 2200 (B) 95 4.00 A-
Introduction to Digital Logic Design ECE 2300 (B) 46 4.00 A-
ECE Practice and Design ECE 2400 (A-) 71 3.00 A
Computer Organization ECE 3140 (B+) 99 4.00 B+
Tango PE 1167 1.00 SX
Intermediate Tae Kwon Do PE 1376 1.00 SX
Swedish Massage PE 1412 1.00 SX
Fall 2010 Subject Number Median Enrolled Credits Grade
Introduction to Circuits ECE 2100 (B+) 66 4.00 B+
Object Oriented Programming and Data Structures ENGRD 2110 (B+) 193 3.00 A
Violet Satellite Team MAE 4900 (A) 160 3.00 B+
Differential Equations MATH 2930 (B) 370 4.00 B
Swim Conditioning PE 1104 1.00 SX
Judo PE 1355 1.00 SX
Intermediate Tae Kwon Do PE 1376 1.00 SX
Oscillations, Waves, and Quantum Physics PHYS 2214 (B+) 124 4.00 B+
Spring 2010 Subject Number Median Enrolled Credits Grade
Engineering General Chemistry CHEM 2090 (B) 141 4.00 B+
Transition to Object Oriented Programming CS 1130 1.00 SX
Serial Novel Goes Graphic ENGL 1123 (A-) 33 3.00 B
Introduction to Nanoscience and Nanoengineering ENGRI 1200 (A) 33 3.00 B
Violet Satellite Team MAE 4900 (A) 190 3.00 A-
Linear Algebra for Engineers MATH 2940 (B) 354 4.00 B-
Intermediate Tae Kwon Do PE 1376 1.00 SX
Electricity and Magnetism PHYS 2213 (B+) 172 4.00 A-
Fall 2009 Subject Number Median Enrolled Credits Grade
Introduction to Architecture ARCH 1301 (A) 155 3.00 B+
Introduction to Computing using Matlab CS 1112 (B) 262 4.00 A-
Write about Film ENGL 1108 (A-) 64 3.00 B
Engineering Seminar ENGRG 1050 1.00 SX
Special Investigations into MAE MAE 4900 (A) 221 0.00 NGR
Multivariable Calculus for Engineers MATH 1920 (B) 455 4.00 B-
Tae Kwon Do PE 1375 1.00 SX
Introduction to Special Relativity PHYS 2216 1.00 SX

Projects

Blaze Game Engine (C++)

github.com/nbingham1/Blaze

A rendering engine for large randomly generated planets. The planet is an icosohedron (2o triangles) where each side is subdivided and random heights added as the player gets closer to the surface.

Standard Core (C++)

github.com/c-cores/stdcore

A standard library unintentionally grown over the course of 14 years. In particular, this library implements generic slices by wrapping any container of iterators.

A text summary tool that extracts a vector of nouns or topic from a sentence then calculates the semantic distance between the topics of two sentences. A four-sentence window is slid over the text producing a graph of topic distance in which local minima represent paragraph boundaries. Summary sentences that best cover the topic are selected from each paragraph and concatenated allowing for the process to be repeated.

A library for fast-many variable boolean operations. This encodes four-valued variable using two bits (00 is error, 01 is false, 10 is true, and 11 is unknown), packing 16 variables into a single integer so they can be operated on in parallel.

A recipe website that calculates the ingredients that are more likely to be in a recipe with the list of ingredients you have already selected.

A friend and I made four small neuron toys that can be connected together to form a simple neural network. Upon firing, a large set of LEDs along the axon and dendrites light up in sequence to show the depolarization as it travels from one neuron to the next.