Nicole Hamilton
Lecturer III (2017 to 2021)
Computer Science and Engineering
University of Michigan
Ann Arbor, MI 48109-2121
Cell 425-765-9574
nham@umich.edu
nicole@nicolehamilton.com
Lecturer III (2017 to 2021)
Computer Science and Engineering
University of Michigan
Ann Arbor, MI 48109-2121
Cell 425-765-9574
nham@umich.edu
nicole@nicolehamilton.com
I retired from the University of Michigan at the end of my appointment in May 2021 after four mostly wonderful years here. Before this, I was at the University of Washington Bothell for four years in the electrical engineering department.
While here at Michigan, I taught EECS 280 C++ and Object-Oriented Programming many times, typically with around 1000 to 1100 students spread across 5 sections with 3 or 4 instructors and around 60 very gifted student staff. Summer 2020, I taught EECS 482 Introduction to Operating Systems, a topic I've always enjoyed. Winter 2021, I taught EECS 485 Web Systems for the first time and EECS 440 System Design of a Search Engine for fourth time, but for the first and last time with its new permanent number. This is a course I created where students worked in teams of six to build complete internet search engines from scratch in C++. The last two times I taught this, the top teams indexed over 500M documents. (My 440 and 482 archives have links to my lecture recordings.)
I also served as our ABET coordinator and, in past years, on our program and lecturer search committees and as an undergraduate advisor.
I have a BS and MS EE from Stanford (1973) and an MBA valedictorian from Boston University (1987). I am a life senior member of the IEEE and a registered professional engineer in Texas and Massachusetts. In 2014, I was inducted as an eminent engineer by the Stanford chapter of Tau Beta Pi.
I have 11 issued patents and my publications have received over 3200 citations. A paper on search engine ranking I co-authored at Microsoft won a 10-year test-of-time award at the 2015 International Conference on Machine Learning.
I have spent my career as a designer, most of that as an entrepreneur. Every design project I can think of that I have ever worked on has always started as a blank sheet of paper. This is what I think I can teach.
I started my career in gate-level chip design at IBM in the 1970s building a reliable serial communications chip, a display processor and various other hardware devices. But most of my work has been in software.
I'm the author of Hamilton C shell, now a little over 250K lines of C. In December 1988, my C shell became the first multithreaded third-party application to ship on a PC. It remains the only multithreaded Unix shell in existence on any OS.
I was also the 9th member of the team at Microsoft that created the Bing search engine. I personally wrote the query language (the compiler) and ranker for our first release, which went live in January 2005. My code, roughly 30K lines of C++ out of a little over 300K in the backend, decided what our users were looking for, searched our index and then ordered the results. This was both the best and the worst job I have ever had.
I fell into teaching by accident in 2013. I thought I was retired and volunteering to act as a free advisor to seniors in electrical engineering on their Capstone projects at the University of Washington Bothell. I was surprised to find it paid and even more so, that they would pay me. Without a PhD, it was never on my radar that I would someday be teaching at a university. For the next four years, I taught digital design and Verilog, entrepreneurship, circuits and transistors and advised perhaps a dozen Capstone teams. I love teaching and feel honored and delighted every day that I get to do this. I love working with my students. It makes me feel young.
The move to Michigan also began quite by accident when I went offline at Wikipedia to discuss an article on flip-flops that another editor and I had been working on. Most people use pseudonyms on Wikipedia but when we went offline and introduced ourselves, it was Mark Brehob, who insisted I should come to Michigan. I wasn't looking forward to moving but decided that my advice to students applied to me: If you care about your career, you need to go where the opportunity is. University of Michigan has the #7 undergraduate computer engineering program in the country, so after a visit and teaching demo and when it finally came down to an offer, it was clearly an offer I couldn't refuse. I mothballed my house in Redmond, rented a townhouse here without ever seeing it, shipped only what I needed and drove here with my cat in the back seat of my aging BMW.
I had a wonderful time here. My students are smart and interesting and I really liked most of my colleagues. The move was definitely worth it, even if in the end, I decided it was time to head home to Seattle.
I'm an Amateur Extra, callsign KD1UJ, though I confess I haven't been on the air in years. I've been an avid bicyclist all my life. I'm liberal and I care deeply about civil rights, especially for LGBT.