Note: This page was created in
March 2001 and hasn't been updated since. "Years Used" refers to the
combined length of time I spent studying each programming language
privately and using it professionally.
Programming Skills and Development Experience
Key to Skill Levels:
1 = novice; have a "working
knowledge"
of the language, but development experience is limited
2 = moderately skilled; have
designed,
developed, and/or maintained one or more non-trivial applications
3 = proficient; have extensive
professional
development experience
Key to Application Codes:
D = designed and developed
M = maintained and modified
|
|
|
|
|
|
| Java
Years Used: 2
|
(M/D) |
|
Java application used to perform thermal and hydraulic analyses of nuclear reactor piping systems; responsible for redesigning and upgrading a very sophisticated GUI which makes extensive use of the Swing API; analysis is performed by a C++ code | |
|
(D) |
|
Java applet which uses a variety of visualization tools to illustrate electric and potential fields surrounding groups of charged particles; also uses animation to demonstrate the motion of charges resulting from mutual forces of attraction and repulsion; applet was used to demonstrate Java's graphics and animation capabilities at a Westinghouse Technical Exchange Seminar (click HERE to view sample output) | ||
|
(D) |
|
Java applet developed to help Westinghouse co-workers learn the basic principles of Java graphics and animation (click HERE to view sample output) | ||
|
(D) |
|
Java applet which simulates the behavior of neutrons in a nuclear reactor core; developed as a teaching aide for a Westinghouse course in the theory and design of nuclear reactors (click HERE to view sample output) | ||
|
(D) |
|
Java applet designed
to teach
the basic principles of investing and retirement planning; makes it
easy
for the user to quickly investigate a variety of investment strategies
and their retirement implications; can be used to demonstrate the
effects
of inflation
(click HERE to view sample output) |
||
| C/C++
Years Used: 1
|
(M/D) |
|
C++ code used to perform thermal and hydraulic analyses of nuclear reactor piping systems; responsible for debugging compiler warnings and adding error-trapping enhancements. | |
|
(UNIX) (M/D) |
|
application which allows nuclear reactor core designers to manipulate fuel assemblies to develop loading patterns; uses a GUI written in C++, Xmotif graphics components, and Rogue Wave utility classes; assembly data is stored in an Oracle database | ||
|
(Visual C++) (D) |
|
application that
simulates random
collisions between molecules in a gas and graphs the resulting energy
distribution
patterns
(click HERE to view sample output) |
||
| Visual
Basic, VBA,
and Access Database Applications
Years Used: 3
|
(D) |
|
application used to perform stress corrosion cracking analyses on steam generator tubes; main GUI is written in VB; interfaces with Excel for outputting data in graphical form; connects to a set of Access databases | |
|
(D) |
|
application used to
calculate
radiation doses resulting from skin contamination
(click HERE to view sample output) |
||
|
(D) |
|
Access application used to track QA records for manufactured components | ||
|
(D) |
|
Access application used to manage nuclear power plant design basis data; assisted lead engineer with development of a maintenance interface | ||
|
(M) |
|
Access application used to track reactor in-service inspection data; performed code maintenance involving updating of forms and reports to comply with changes in user requirements | ||
|
(D) |
|
Access application used to keep track of manpower resources as an aide to project planning and scheduling (EMM = engineering man-months) | ||
|
(M/D) |
|
Access application used to keep track of manpower resources as an aide to project planning and scheduling; converted application from Access Version 1.1 to Access 97; removed obsolete functionality; updated VBA coding; enhanced the user interface for greater efficiency and user-friendliness | ||
| FORTRAN
Years Used: 3
|
(M/D) |
|
performed code maintenance on three codes used to analyze pressure and temperature conditions resulting from accidents inside reactor containment; efforts included identifying and correcting minor coding errors and designing and implementing new functionality | |
|
(D) |
|
applications used to automate the generation of input files for criticality analysis codes | ||
|
(D) |
|
application to perform Monte Carlo simulations for neutral particles impinging on shielding materials (term project for a graduate-level course in shielding design) | ||
|
(D) |
|
application used to calculate radiation doses resulting from skin contamination; originally developed using FORTRAN, then implemented in Visual Basic | ||
| UNIX Shell Scripts
Years Used: 2
|
(D) |
|
scripts used to
automate processing
of numerical data;
scripts used to automate V&V testing of FORTRAN codes |
|
| HTML
Years Used: 1
|
(D) |
|
Click HERE to visit my personal web pages. | |
| Modula 2
Years Used: 1
|
(D) |
|
wrote programs to implement a variety of abstract data types, including complex numbers, stacks, queues, linked lists, and binary trees; developed a phone list application | |
| VAX Assembly Language
Years Used: 0.5
|
(D) |
|
wrote programs to calculate factorials, parse text and numerical inputs, perform recursion, and implement a fast stack | |
| Apple II Basic
Years Used: 12
|
(D) |
|
animated graphics application which simulates the distorted appearance of 3D objects as seen from a frame of reference traveling near the speed of light; developed in collaboration with students | |
|
(D) (hardware included) |
|
application to control a set of 80 lights mounted in a 40 foot diameter arch designed to resemble a gigantic juke box, used for a stage production of the musical Grease; provided a collection of 12 pre-programmed lighting sequences synchronized with musical numbers | ||
|
(D) (hardware included) |
|
application which interfaced with a map of the U.S. containing embedded switches and LEDs; when the user selected a city by pushing a switch, the program would say the name of the city; a quiz mode asked the user to identify a city and monitored the switches to determine whether the user selected the correct city | ||
|
(D) |
|
animated graphics application to simulate the motion of a simple spacecraft; used to teach Newton's laws of motion | ||
|
(D) |
|
animated graphics application which simulates the motion of gas molecules inside a cylinder with a moving piston; used to teach the kinetic theory and ideal gas laws; developed in collaboration with students | ||
|
(D) |
|
graphics application which demonstrates the path of light beams traveling through and impinging upon a variety of optical devices, including lenses, mirrors, and prisms; used to teach geometrical optics | ||
|
(D) (hardware included) |
|
graphics application which plays the 3-D version of tic-tac-toe (noughts and crosses); a sophisticated strategy algorithm implemented in assembly language makes the program fast and almost impossible to beat; used to demonstrate principles of AI; developed in collaboration with students | ||
|
(D) (hardware included) |
|
application to continuously monitor a set of 8 hand-held switches used by contestants in an academic knowledge competition; incorporated an assembly language routine to determine the first contestant to respond with a 1 millisecond resolution; turned on a light mounted in the switch casing to identify the first responder, and incorporated a speech synthesizer to call out the contestant's name; also included a score-keeping system | ||
|
Black Hole (D) |
|
animated graphics application which demonstrates the orbital motion of an object around an invisible black hole, given its mass, velocity, and initial position | ||
|
(D) (hardware included) |
|
application for monitoring and controlling Apple II I/O for use with science experiments; provided 3 digital inputs, 4 analog inputs, and 5 digital outputs; enabled user to record and graph readings from a variety of sensors in real time, including variable resistors, thermistors, phototransistors, and microphones | ||
|
(D) |
|
graphics game to simulate the problem of identifying one counterfeit coin in a set of 12 coins using an equal-arm balance; developed as an example of good game design | ||
|
(D) (hardware included) |
|
application used to control the motion of a mobile drawing robot designed in collaboration with electronics students; allows the user to create and store sequences of drive motor activations and uses animated graphics to simulate how the robot will move when the sequence is executed | ||
|
(D) |
|
graphics application used to draw electronic circuit diagrams (primitive version of SPICE) | ||
|
(D) |
|
arcade-style graphics game similar to "Alien Invaders" incorporating joystick control, exploding missiles, and sound effects | ||
|
(D) |
|
graphics application used to create high resolution shapes for use in arcade-style graphics games being developed by programming students | ||
|
(D) |
|
music composition application that uses assembly language routines to play notes; used to allow student programmers to create title tunes and jingles to add to their animated graphics games; developed in collaboration with students | ||
| Apple
6502 Assembly
Language
Years Used: 4
|
|
|
see Jumping Jelly Beans above | |
|
|
|
see Melody Maker above | ||
|
|
|
see Brain Bowl Master above | ||
|
|
|
see Apple II Universal Interface above | ||
Software Engineering Skills (CASE Tools)
Key to Skill Levels:
1 = novice; have a "working
knowledge"
of the tool, but experience is limited
2 = moderately skilled; have used
occasionally in my professional work
3 = proficient; have used
extensively
in my professional work
Office Productivity Tools
Key to Skill Levels:
1 = novice; have a "working
knowledge"
of the tool, but experience is limited
2 = moderately skilled; have used
occasionally in my professional work
3 = proficient; have used
extensively
in my professional work