Curriculum Vitae: Tal Cohen

Personal Details

Born: October 27th, 1973, in Haifa, Israel.

Formal Education:

  1. Ph.D. in Computer Science, Technion, 2007 (GPA: 99.1).
  2. M.Sc. in Computer Science (Summa Cum Laude), Technion, 2002 (GPA: 98.4)
  3. B.A. in Computer Science (Cum Laude), Technion, 1999 (GPA: 90.9)


  1. Douglas R. Hofstadter, trans. Tal Cohen and Yarden Nir-Buchbinder, Gödel, Escher, Bach: Gavish Ben-Almavet, a Hebrew translation of Gödel, Escher, Bach: an Eternal Gololden Braid, Dvir (an imprint of Kinneret-Zmora-Bitan press), 2011. (Errata for the first and second printings.)
  2. Tal Cohen, Joseph (Yossi) Gil, "Three Approaches to Object Evolution", in Proceedings of The 7th International Conference on the Principles and Practice of Programming in Java (PPPJ 2009), Calgary, Alberta, Canada, August 2009.
  3. Tal Cohen, Joseph (Yossi) Gil and Itay Maman, "Guarded Program Transformations using JTL", in Proceedings of the 46th International Conference on Objects, Models, Components and Patterns (TOOLS Europe 2008), Zurich, Switzerland, June 2008.
  4. Tal Cohen, "Applying Aspect-Oriented Software Development to Middleware Frameworks", Ph.D. dissertation, The Technion -- Israel Institute of Technology, February 2007.
  5. Tal Cohen and Joseph (Yossi) Gil, "Better Construction with Factories", in Journal of Object Technology, vol. 6, no. 6, July/August 2007.
  6. Tal Cohen, Joseph (Yossi) Gil and Itay Maman, "JTL and the Annoying Subtleties of Precise μ-Pattern Definitions", in 1st International Workshop on Design Patterns Detection for Reverse Engineering (DPD4RE/WCRE), Benevento, Italy, October 2006.
  7. Tal Cohen, Joseph (Yossi) Gil and Itay Maman, "JTL - the Java Tools Language", in ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2006), Portland, Oregon, USA, October 2006.
  8. Tal Cohen and Joseph (Yossi) Gil, "Shakeins: Non-Intrusive Aspects for Middleware Frameworks", in Transactions on Aspect-Oriented Software Development II, Springer LNCS volume 4242, November 2006.
  9. Tal Cohen and Joseph (Yossi) Gil, "AspectJ2EE = AOP + J2EE", in the 18th European Conference on Object-Oriented Programming (ECOOP 2004), Springer LNCS volume 3086, Oslo, Norway, June 2004.
  10. Tal Cohen, "The Delegation-Managed Persistence Entity Bean: A composite entity bean for a new generation", in Java Developer's Journal, February 2004.
  11. Uri Dekel, Tal Cohen and Sara Porat, "Towards a Standard Family of Languages for Matching Patterns in Source Code", in Proceedings of IEEE International Conference on Software Science, Technology and Engineering (SwSTE '03), Herzlia, Israel, November 2003.
  12. Tal Cohen, "Java Q&A: How Do I Correctly Implement the equals() Method?", in Dr. Dobb's Journal, May 2002.
    (Note: This technical article was the basis for several academic works by others, such as Stevenson and Phillips, Implementing object equivalence in Java using the template method design pattern, SIGCSE 2003.)
  13. Tal Cohen, "Self-Calibration of Metrics of Java Methods: Towards the Discovery of a Common Programming Practice", M.Sc. Thesis, Technion -- Israeli Institute of Technology, 2001.
  14. Tal Cohen and Joseph (Yossi) Gil, "Self-Calibration of Metrics of Java Methods", in Proceedings of Technology of Object-Oriented Languages and Systems 37 (TOOLS Pacific 2000), Sydney, Australia, November 2000.
  15. Tal Cohen, Software Engineering Methods, a textbook (in Hebrew) used in IBM Learning Services (Israel) software engineering courses, 1998.
  16. Tal Cohen and Irit Cohen, Logic 1 for Computer Science, Technion course book (in Hebrew), based on lectures by Dr. Shai Ben-David, 1997.
  17. Tal Cohen, The Turbo Column, a monthly column about Turbo Pascal programming in the Israeli edition of PC World (an IDG publication), 1991-1993.

Honors and Awards:

  1. Technion CS Faculty Excelling Teacher Award (Winter 2012)
  2. Technion CS Faculty Excelling Teacher Award (Spring 2008)
  3. The Knesset (Israeli parliament) Award for Outstanding Student Achievements (June 2001)
  4. Aaron and Miriam Gutwirth Special Prize for M.Sc. Students (2001)
  5. Technion CS Faculty Assiduous Excelling TA Award (Spring 2000 semester)
  6. Technion CS Faculty Excelling TA Award (Winter 2000 semester)


The opposite of "Honors and Awards", I guess.
  1. Ofek et al., US 9607087 B1: Providing Answer Boxes Based On Query Results, March 28, 2017
  2. Cohen et al., US 20150169750 A1: Triggering answer boxes, June 18, 2015
  3. Ramanarayanan et al., US 8788514 B1: Triggering Music Answer Boxes Relevant to User Search Queries, July 22, 2014; updated in US 9195741 B2, November 24, 2015
  4. Cohen et al., US 2012/0109941 A1: Enriching Search Results, May 27, 2011; updated in US 9536006, January 3, 2017
  5. Lin et al., US 2010/0094860 A1: Indexing Online Advertisements, October 9, 2008
  6. (Defensive publication in Technical Disclosure Commons) Tal Cohen, Detecting Search Query Language, January 19, 2016

Professional Experience:

(2007-date) Google, Inc.
I'm currently employed as a software engineering manager in Google's search group, leading a team of about sixty engineers in Google's Haifa and Tel Aviv offices.
During my career in Google, I've worked in the AdWords and (at 20% time) AdSense product groups. Since late 2009, I am working in Search, helping shape the future of the Google search results page.
(1999-date) HaAyal HaKore and other web sites:
I have developed, and constantly maintain, the web-site for an Israeli online culture and current-affairs magazine. The magazine is called "HaAyal HaKore" and it can be found at The site is a Slashdot-like system, in Hebrew. It was developed from scratch using PHP. The program includes a number of enhancements on the Slashdot idea, for increasing the community-building power of the web site. Several other web sites currently use this system, including the site for the Israeli Society for Science Fiction and Fantasy (, movie reviews site FishEye (, and six attitional web sites.
(1997-2003) IBM Haifa Research Laboratory (IBM HRL):
Worked as a researcher in IBM's Haifa Research Laboratory, first Programming Languages and Optimization department and later in the Systems and Software department. I took part in several research projects, including: 3D graph visualization, large-framework accessibility, static analysis of software and automated Enterprise Java validation tools (for IBM's WebSphere Studio product).
(1995-1998) Shells Interactive, Ltd.:
Worked as a lead programmer, project manager and later on as a consultant for this startup company, which created multimedia authoring tools and Macromedia Director plug-ins.
(1992-2000) GalSoft, Ltd.:
Beginning in 1992, I took a leading part in several projects by this Israeli company. These projects included the development of multimedia CD-ROMs for teaching driving theory, preparing students to psychometric exams, and more. Years later, I have also orchestrated the porting of some of these projects into modern web-sites, and developed additional (unrelated) web-sites for this company.
(1991-1993) FastVGA:
As a high-school student, I developed FastVGA, a shareware multimedia toolkit for Borland Pascal programmers. FastVGA was an engine for arcade and action games under DOS, including a high-speed graphics engine with graphic primitives, precision timing functions, etc.
Several modules in FastVGA, including the sound support modules, were developed by my late friend Ido Razon.

Over the years, I also did quite a few different freelance projects and provided consultancy services to numerous companies, including banks, insurance companies, and software engineering firms.

Teaching Experience:

(1998-date) Technion (Israeli Institution of Technology in Haifa, Israel):
I occasionally teach courses in the Faculty of Computer Science. To date, I have taught the following courses: Programming Languages (234319), Introduction to the Theory of Compilation (236360), Introduction to Operating Systems (234119), Operating Systems/Linux (234120), and Advanced Topics in CS: Enterprise programming (236606).
(2007-date) Haifa University:
I occasionally teach courses in the Department of Computer Science. To date, I have taught a seminar in Programming Languages, a course in Web development, and a project in modern application development technologies.
(1998-2003) IBM Learning Services (Israel):
I taught various courses in IBM Learning Services (Israel). My field of expertise was software engineering, advanced topics in Java, Enterprise Java (J2EE), Web Services, and the IBM WebSphere Application Server. I have also developed custom courses for several of IBM's clients.
(1999) Open University (Israel):
I taught software engineering courses in the Israeli Open University's "Project: Thought", designed to introduce people with academic degrees to computer-related professions.

Contact Information:


©1997-2017 by Tal Cohen