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)

Publications in English:

  1. Tal Cohen, Joseph (Yossi) Gil and Itay Maman, "Guarded Program Transformations using JTL", to appear in Proceedings of the 46th International Conference on Objects, Models, Components and Patterns (TOOLS Europe 2008), Zurich, Switzerland, June 2008.
  2. Tal Cohen, "Applying Aspect-Oriented Software Development to Middleware Frameworks", Ph.D. dissertation, The Technion -- Israel Institute of Technology, February 2007.
  3. Tal Cohen and Joseph (Yossi) Gil, "Better Construction with Factories", in Journal of Object Technology, vol. 6, no. 6, July/August 2007.
  4. 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.
  5. 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.
  6. 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.
  7. Tal Cohen and Joseph (Yossi) Gil, "AspectJ2EE = AOP + J2EE", in the 18th European Conference on Object-Oriented Programming (ECOOP 2004), Springer volume LNCS 3086, Oslo, Norway, June 2004.
  8. Tal Cohen, "The Delegation-Managed Persistence Entity Bean: A composite entity bean for a new generation", in Java Developer's Journal, February 2004.
  9. 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.
  10. 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.)
  11. 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.
  12. 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.

Submitted manuscript (not yet published): Tal Cohen and Joseph (Yossi) Gil, "Three Approaches to Object Evolution" (submitted 2006).

Publications in Hebrew:

  1. Tal Cohen, Software Engineering Methods, a textbook used in IBM Learning Services (Israel) software engineering courses, 1998.
  2. Tal Cohen and Irit Cohen, Logic 1 for Computer Science, Technion course book, based on lectures by Dr. Shai Ben-David, 1997.
  3. 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. The Knesset (Israeli parliament) Award for Outstanding Student Achievements (June 2001)
  2. Aaron and Miriam Gutwirth Special Prize for M.Sc. Students (2001)
  3. Excelling Teaching Assistant Award (Winter 2000 semester)
  4. Assiduous Faculty Excelling Teaching Assistant Award (Spring 2000 semester)

Professional Experience:

(2007-date) Google, Inc.
I'm currently employed as a software engineer and project tech-lead in Google's Haifa engineering center.
(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 http://www.haayal.co.il. 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 (http://www.sf-f.org.il), movie reviews site FishEye (http://www.fisheye.co.il), 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 have worked as a lecturer or guest lecturer in the following courses: Introduction to the Theory of Compilation (236360), Introduction to Operating Systems (234119), Operating Systems/Linux (234120), Advanced Topics in CS: J2EE (236606), and Software Design (236700).
(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:

E-mail: tal@forum2.org
Homepage: http://tal.forum2.org/


©1997-2008 by Tal Cohen