John Ciancutti's Resume


John Ciancutti
2211 Latham Streen #306
Mountain View, CA 94040
jrc@alumni.cse.ucsc.edu


Summary:

Software Engineer with experience in bringing both hardware and software products to market. Demontrates a strong ability to adopt a variety of skillsets to accomplish tasks, including previous work with graphics, artificial intelligence, C/C++, Java, Perl, OpenGL, Direct3D, WindowsNT, Unix, and MacOS coupled with strong communication and organization skills. Experiences include being technical lead for a successfully completed internal software project, as well as working closely with other engineers and their code.

Work Experience:

7/97-Present: Member of Technical Staff, Visual Systems, Silicon Graphics

Working on a next generation hardware implementation of the OpenGL 3D graphics standard. Duties cover a range of work; from low-level detail oriented subsystem functionality verification to implementation of a graphics front end hardware simulator, as well as a gambit of C/C++ OpenGL graphics programs testing functionality and performance in a results oriented environment.
Current Responsibilities include Microsoft API Driver work for Windows 2000.


6/96-9/96: Software Engineering Intern for Claris Corporation

Worked with a team of engineers, designing and implementing a first release commercial software product in C++, ClarisWorks for Kids. Co-engineered a large scale software application through alpha.


7/93-4/97: Data Access Consultant, Cowell Computer Lab, UCSC.

Responsible for supporting on-line services, CD-ROM databases, and Science Library technical support via phone. Promoted to student supervisor, additional responsibilities included training all new employees.


4/95-Present: Tutor for the Computer Science and Engineering Dept., UCSC.

Provided student help and supplementary lectures in various computer science courses, including computer modeling, programming, and computer literacy.

Education:

Bachelor's Degree in Computer Science from the University of California, Santa Cruz, graduated spring 1997.


Completed courses in the following subjects:

Artificial Intelligence Software Methodology Cybernetics Calculus
Analysis of Algorithms Quantum Mechanics Astrophysics Data Structures
Database Systems Discrete Mathematics Game/Graph Theory Systems and Simulations
Graphics Programming Technical Writing Web Publication Music Theory


Experience/Qualifications:

Programming Experience :

JAVA

Lisp

C/C++

HTML/VRML

Perl

MDL


Detailed Achievements:

1/96-3/96 Graduate Level Artificial Intelligence:

As part of the assigned work for a course in graduate level artificial intelligence, I worked with a partner to create an AI agent which can solve single agent problems. These problems can range from NP-Complete problems (i.e. boolean satisfiability), to simple puzzles such as Towers of Hanoi. The agent used nearest neighbor and pattern based time differential techniques to blindly learn any game that it plays. The program rates its own abilities to solve problems based on how quickly it arrives at a goal. Then when it is in a new state it compares that state to previously seen states, and depending on how well it did in similar states in the past, the agent makes a decision about how to proceed. This program was being written entirely in Java and runs on Win95 and Mac 7.X operating systems. My partner continued work on the project and has published his results.


6/96-9/96 Software Engineering for Claris:

One of the most educational experiences during my college years has been working for Claris. Although I came to Claris with programming, design, and communication skills, it was at Claris that I learned what it means to be a software engineer. During my tenure there, we worked on design and planning of project ideas with sales, management, technical support, artists, and software testers. We then brought the project to alpha stage while I was with the team. Working on scores of code files with several other engineers, working extensively with other engineers' code, and optimizing time management were some of the skills I learned there. My specific duties included implementing text-to-speech functionality, menu hit connectivity to software system functionality, and dialog construction and activation.


8/94-6/95 Enrollment Modeling Project:

For my sophomore year at UCSC, I worked with the Executive Vice Chancellor, Dr. Michael Tanner, creating a comprehensive model of enrollment for the university as an independent study project. Working with two other undergraduates and one post graduate, I met with the Vice Chancellor several hours each week discussing modeling theory, procedures, implementation of design algorithms, and the progress of the project. I learned many things with this project, including team management, working towards a deadline, business communication, applied modeling theory, and modeling methods, as well as the Model Description programming language.


1/96-3/96 Artificial Intelligence Othello Agent:

For my undergraduate artificial intelligence course I had to complete an othello agent/player, based on my learning in the course. We had a variety of tools available to us, and for my final submission I worked with a fellow student to create a dynamically adapting search agent using minimax alpha-beta search 2- and 3-ply with a heuristic which changes as a game progresses. We came in second place in a classwide tournament held at the end of the quarter.


1/96-3/96 Technical Writing and Communication:

I feel that good communication skills go hand in hand with science and learning. I have therefore devoted a lot of time to developing good writing skills and oral presentations. Through tutoring, giving guest lectures in a Systems and Simulations course, and developing a good rapport with my professors and fellow students, I have attempted to become a highly skilled communicator on technical subjects. My final paper for Computer Engineering Technical Writing was on Artificial Life, a personal interest of mine. In my evaluation my professor, Tracy Larrabee , wrote that she felt it would be a good introduction to the subject in a magazine. I achieved an excellent in every category in that course.


8/96-12/96 OpenGL to VRML Converter:

For my course in computer graphics, each student in the class developed a program to manipulate three dimensional models. Over the course of the project we each developed the functionality to read, display, move, rotate, and change each model with several lighting devices using the OpenGL graphics API on Silicon Graphics workstations. For my final project in the course, I decided to write an additional set of functionality in order to take snapshots of a scene from my program and post them on the Web. I learned the VRML graphics API, and developed a converter which would recreate the state of the OpenGL image in a VRML file which could instantly be seen from any web capable computer. This allowed a user to manipulate their models and lights, create a desired image, and then click a button and generate a VRML file which could then be attached to a web site.