Scott Langley's

 Programming Experience

This page is rather out of date!


I started programming in 1983 while a sophomore in high school using the BASIC language on a Commodore 64 computer.  Since that time I have taken several computer science programming courses and applied this knowledge on various projects for engineering classes and while working at Project Vote Smart and as a contract programmer.

Skills
Current Projects
Reading Lately
Programming Samples
Computer Programming Courses Taken
Computer Engineering Courses Taken
 



Skills
 

Languages

Java Programming in Java since November of 1997 - although paid to do it since January of 1999. Lots of experience with the Swing, Reflection, and Collections API's. Some experience with JDBC, Tomcat, multi-threading, and XML-RPC for Java.
Python Started using Python/JPython in October of 1999 at contract job at Jenkon International. What a cool language!
C++ Started learning in July of 1997 by reading books and writing small programs using MFC with MS Visual C++ 5.0.  No large programs written yet.
C Took two programming courses using C staring in 1990.  Used C in several projects for engineering classes while an undergraduate and a graduate student.
Visual Basic Started learning in May 1997 so as to supervise programmers using it for database applications.  Started writing small programs in July of 1997 using Visual Basic 5.0.  No large programs written yet.
Perl Used extensively for several years starting in the Fall of 1994 for tasks at Project Vote Smart.  Wrote scripts to convert comma-delimited files extracted from a custom database into a hierarchy of web pages.  Also used for writing CGI scripts to perform data look-up by ZIP CODE and the posting of messages on web site.  Taught Introduction to Perl class at PEAK.
HTML Wrote web pages with vi for two years.  Latest version I learned is 2.0 using tables and frames.
SQL Read up on this language from a couple books on databases and used it with a Perl module for presenting data in HTML.  Use it on occasion for querying data from MS Access 97.
Assembly Gave an introduction to and demonstration of the use of the AMD 29000K uP instruction set while a graduate TA.  Used some x86 instructions for assignments in engineering classes.  Worked with simplified instructions sets in computer architecture classes.
Pascal Took a course in Pascal in 1988 and used it for class assignments into 1990.
FORTRAN Took two courses in this language 1987-1988 and haven't used it since.

Applications

Apache Configured, installed, and managed Apache web server versions 1.0-1.1 for two years at Project Vote Smart.  Utilized FastCGI module to speed up certain CGI programs.
MS Access 97 Using currently to create sample databases for Visual Basic projects.
MATLAB Used this math simulation package for several years in projects for engineering classes.  Last used in 1993.
Mentor
Graphics'
IC Station
Used 7.X-8.X versions of this integrated circuit design package to layout 4 integrated circuits between 1991 and 1994.  Wrote rules files for device layout, verification, and extraction for two different GaAs fabrication processes.
SWITCAP Used this switched-capacitor circuit simulator for class project in 1993.

Operating Systems

Windows
NT 4.0
Installed server and workstation editions at work and at home.  Currently use NT Workstation for most tasks.
Linux Installed Linux 1.2-2.0 on servers and managed network services for two years.  Services included: Apache web server, gopher, BIND, sendmail, routed, dial-up modem connection, and proxy firewall.
Sun Solaris 
2.5 for Intel
Installed OS on webserver machine and setup perl, apache, gnu c, and various utilities.
Windows 95 Installed and managed network of Windows 95 clients for one year.
Windows 3.11 Installed and managed network of Windows 3.11 clients for one year.
MacOS Used Macintosh computers for Pascal programming, desktop publishing, and graphics for several years.  Last version used was 7.X.



Current Projects

I will post these programs on my web page as freeware when they are ready.

1. Educational program simulating the motion of planets and other masses under the influence of gravity (Java and VRML).

2. Diet balancer utility to evaluate a person's meeting of their nutritional needs utilizing USDA Food/Nutrition data (Java and ObjectStore PSE object database).



Reading Lately

Barely Started Reading

Read a Few Months Ago

Read SomeTime Ago



Programming Samples

1998 Congressional Elections Predictor - My first and only Java applet. Runs under browsers that support JDK1.1. Written before I knew OOP very well in October 1998. (That's my excuse. I'm embarassed to look at that code these days!)

HTML Publishing and CGI - There are many Perl scripts I wrote at Project Vote Smart but they belong to PVS.
1994-1997

Voice Separation and Cancellation -  A C program implementing a comb filter to isolate, and seperate or cancel a human voice from other sound.  Class project for ECE 475.
June 10, 1993

Image Processing - A C program to perform various user-selected image processing operations on raw image files and display them.  Written for IE 592 (Computer Vision) class project.
March 4, 1993

Statistics - A C program to perform statistical operations on a set of random generator function generator integers which have undergone a mathematical transformation.  Written for CS 312 class assignment.
October 31, 1990

Program Simulator - Pascal program for simulating the operation of a simplified architechture microcomputer using assembly language instructions.  Written for EE 373 class assignment.
June 1, 1990

Test Scorer -- a Pascal program for grading test and calculating grades.  Written for CS 211 class assignment.
May 25, 1988

Mandelbrot Set Viewer - A simple keyboard driven program in Turbo Pascal 4.0 for DOS using Borland's old graphics API with image saving and restoring.
May 7, 1988
 

A Python/PostgreSQL program for monitoring database table updates described in a talk I gave to the Seattle Postgres Users Group in October 2011.
 



 

Computer Programming Courses Taken

CS 411 C/ Operating Systems (C + UNIX) Fall 92
ECE 451 Dynamic System Simulation (C) Fall 90
CS 312 UNIX + C Programming Fall 90
CS 213 Symbolic Language Programming (FORTRAN) Fall 88
CS 211 Introduction to Computer Science (Pascal) Spring 88
PH 103 Basic Logic for Mathematics Winter 88
NE 103 Introduction to Nuclear Engineering + Computers (FORTRAN) Spring 87
High School BASIC and Advanced BASIC Programming 1985-1986
 The college courses were taken at Oregon State University in Corvallis, Oregon.



 

Computer Engineering Courses Taken 

ECE 575 Advanced Microprocessors Spring 93
ECE 578X Digital Communication and Networks Winter 93
ECE 576 High Performance Advanced Computer Architecture Spring 92
ECE 573 Computer Architecture II  Winter 91
ECE 572 Computer Architecture I Fall 91
ECE 371 Computer Architecture I Fall 89
 These courses were taken at Oregon State University in Corvallis, Oregon.
 

Scott's HomePage