Andrew J. Harris
Office and Mailing Address
Dept. of Computer and Information Science
Indiana University Purdue University Indianapolis
723 W. Michigan St. SL280
Indianapolis, IN 46202
Phone (317) 274-8491
E - mail
aharris@cs.iupui.edu
http://www.cs.iupui.edu/~aharris
Home Address
9937 Waterside Dr.
Noblesville, IN, 46060
Phone: (317) 773-8452
Education
- B.S. Severe Disabilities Education
May, 1990, IUPUI
- Currently Pursuing Master's degree,
New Media Informatics, IUPUI
M.S. Degree anticipated Dec 2002
Work Experience
- 1995 - Present: Full time Lecturer, Department of Computer and
Information Science, IUPUI, Indianapolis IN. Initially brought to
department as only full-time faculty member dedicated to service
courses. Served as coordinator of service courses, where I helped
to develop several courses and a Certificate of Applied Computer
Science. I also serve as the primary new course developer for the
service course program, and as the manager of the streaming media
lab. I currently serve on the leadership team for the service
program, as the leadership structure of the program has evolved
due to the growth of the program.
- 2000 - Present: Series Editor Absolute Beginners
Series, Premier Press (formerly Prima Technical Publishing)
Concieved a new book series teaching beginning programming skills
through game development. Recruit and screen authors, review
manuscripts, provide guidance for authors, and oversee overall
quality control for the series.
- 1997 - Present: Author. I have written numerous national
magazine articles (including the cover story for Internet 99
Magazine Fall issue) and book chapters. I am the primary author
of three internationally marketed technology books (Java 2 Fast
and Easy Web Development, JavaScropt Programming for the Absolute
Beginner, Palm Programming for the Absolute Beginner), and I'm
presently working on a fourth (C# Programmer for the Absolute
Beginner - Due February 2002).
- 1988 - 1995: Part Time Instructor, Department of Computer and
Information Science. Taught lab and lecture sections of introductory
technology and programming courses.
- 1990 - 1995: Special Education Teacher, North Central High
School, Washington Township, Indianapolis, IN. Developed curriculum
and program modifications for young adults with severe disabilities,
developed and administered behavior analysis/management programs,
coordinated efforts of teaching and paraprofessional staff.
- 1987: Part time computer programmer, Software Development
Corporation, Southport, Indiana. Computer programming in Pascal,
various relational database management tools.
- 1982 - 1985: Swimming pool manager, SDHA Pool Sagamihara,
Japan. Management of a swimming pool on a U.S. military installation
in Japan.
Teaching Experience
- Taught and developed classes on introduction to computer
technology, various applications, use of the Internet, Pascal, Visual
Basic, Word Basic, Javascript, Perl, Virtual Reality, Java,
Multimedia, CS Theory, and general problem solving.
- Taught essential life skills to young adults with severe
cognitive disabilities
- Tutored Algebra, subjects listed above, and C programming.
Management Experience
- Began leadership experience as a swimming pool manager at age 18
Duties involved training and supervising lifeguards, emergency
situation control, scheduling, public relations, and daily
management issues.
- As a severe disabilities teacher, my primary responsibilities
involved the management of a small team of professionals and
paraprofessionals. I was frequently required to support and train
staff, perform public relations work in sometimes extremely difficult
situations, and maintain an example of stability and control when
dealing with individuals who exhibited extreme behavioral
challenges.
- In my role as a service course coordinator for IUPUI Computer
Science Department, I gained extensive experience leading
instructional teams, acting as an example instructor, pioneering and
evangelizing an innovative curriculum, and fostering a culture of
respect, integrity, and academic strength in an inviting, collegiate
atmosphere.
- As the series editor for the Absolute Beginners series, I'm
responsible for creating and maintaining a vision of high quality in
a very competitive discipline. I spend most of my time on this job
mentoring new authors to ensure their books achieve the standards of
our series, as this level of quality will help them to sell more
books (and earn more royalties).
Professional Activities
- Lab Coordinator - Streaming Media Lab IUPUI Computer Science
Dept. Develop staff, equipment, and technologies to enable state of
the art instructional media development lab. Built CD-ROM and
web-delivered versions of several courses for the CS department.
- Speaker - Syllabus 2000 Conference, Santa Clara CA. Described
my work on SIMILE, a custom XML language for synchronized
instructional media encoding and delivery.
- Ongoing Reviewer, various technology publishers. Reviewed manuscripts
on various programming topics including Visual Basic, Advanced VB,
Javascript, Java, Perl, and Virtual reality.
- Participated in development of IU Strategic Directions
Initiative Grant - Service Course Revision for Departments of Computer
and Information Science. Primary investigator of several
initiatives in this project, including underlying STAIR
problem-solving metaphor, project lead on first book,
contributing other to Programming Concepts, Data Analysis, and
Web Design texts.
- Member of the Indiana Business Modernization and Technology
Software committee. Service on grant review committes,
member-at large, presentation on teaching and the Internet
- Primary developer of Miracle, an algorithmic teaching language
for absolute beginners. Member of original design team, author of
the first working version of the language. Re-wrote in java,
managed a re-write in Visual Basic.
- Project coordinator for development of Certificate in Applied
Computer Science. Managed efforts to create a certification
program combining elements of the N300 series into a cohesive
unit. Certificate has enjoyed phenomenal growth, helping to
double the enrollment in the department.
- Recipient of Curriculum Improvement Grant, School of Science,
IUPUI. Working on use of streaming media, television, virtual
reality, and traditional web resources as a combined tool to offer
high quality course offerings through a variety of media.
- Streaming Media project leader. Creating Television, streaming
media, and web-based versions of ACS core courses. Currently in
production of N241, with N301, N331, and N341 to be archived and
converted. Developing a streaming media lab to assist in the
creation and distribution of streaming media as a classroom tool.
- Televised Course Production. Served as writer, producer and
main speaker for a series of televised courses aired on local public
television and cable access channels. Produced all certificate core
courses in a televised format, then supervised translation of video
to streaming media format for use over web and CD-ROM.
Selected Software Releases
- IUPUI Virtual Tour - Interactive three dimensional
model of the IUPUI campus written in Virtual Reality Modelling
Language. Includes real-time navigation, special effects, and a
guided tour. Done as a group project for the CSCI N355 virtual
reality class I taught in Fall 2001.
- Chichen Itza Model - A virtual reality model of the
Mayan site in Chichen Itza Mexico. Written in the Virtual Reality
Modelling Language as a class project. Features multiple levels of
detail. Done as a group project for the CSCI N355 virtual reality
class I taught in Spring 2000.
- Water Computer - Library and demonstration software
demonstrating with online virtual reality environment (VRML) how a
computer can be built using only basic plumbing hardware and water.
Implemented in Virtual Reality Modelling language.
- SlideShow - An instructional tool that allows the
development of HTML-based slideshows. Used to demonstrate the
construction of a server-based XML parser, and as a tool of CGI
programming with perl. Most notes in online courses were
constructed using this tool.
- SIMILE
A major update of the slideshow project that added a
synchronized media component and streamlines the production of
synchronized streaming media presentations.
- Grade Machine - a simplistic but useful system for
distributing grades over the web with reasonable security.
Originally developed as an example of CGI programming, but adopted
by most non-major courses and a few major courses as a grade
distribution tool.
- Tester - An online exam creation, distribution, and
grading tool. Utilizes client-side (Javascript and Dynamic
HTML) technologies for simplified creation of exam materials
using a custom variant of XML. Uses server-side technologies (perl and
CGI) to parse the XML, generate HTML for the exams, generate
answer keys and log files. Also has a server-side grading tool,
which automatically grades student responses, and password
protection. Used by most non-major CSCI courses.
- ABNIAC - Absolute Beginner's Numerical Integrator and
Calculator. A virtual machine with an assembler-like language
designed to teach absolute beginners how computers work. Released as
freeware in 1996. Re-written in Java in 1997
- MIRACLE - A programming environment designed to teach
basic programming skills semantically.
Teaches students how to write basic
algorithms, then implements the algorithms in a number of
languages. Students can see a running version of their code
immediately in javaScript without having to do any compiling or
interpreting, or downloading any special software. Web - based
version is the foundation of IUPUIs N201 course, and it is heavily
used in Bloomington as the foundation of A106. Java and Visual
Basic versions under development at IUPUI and Bloomington campus.
Courses Developed
- CS100 - Redesigned course to give general problem -
solving focus, comfort level with technology. Wrote notes for course
in HTML:
(http://klingon.iupucs.iupui.edu/~aharris/100ah.html)
- CS20X - Supervised development of common modules for
CS201, 207, 208 handling common themes of all classes.
- CS201 - Re-designed programming component of course.
Stronger element on problem solving, programming as an extension of
applications work. Designed all assignments using Word Basic (Macro
language built into Microsoft Word)
- CS207 - Chaired development team for restructuring of
course. Stronger emphasis on statistical analysis, moved focus from
SPSS on VAX to spreadsheets. Shifted concentration on syntax to
problem - solving strategies.
- CS220 VB (renamed N311) - Designed a version of Problem
Solving with Programming using Visual Basic. Notes are available at
http://klingon.cs.iupui.edu/~aharris/220fall.html
- CS220 Web Authoring - Chaired design team for a version of
Problem Solving course using Internet design tools. Emphasis on
problem solving with introductions to HTML, Perl, CGI scripting,
JavaScript, and Java. Notes for this course are available at
http://klingon.cs.iupui.edu/~aharris/220html
- MMCC course A/B (renamed N100) - Chaired design team developing
Courses A and B in IU system-wide curriculum effort. Acted as the
primary author and editor of the textbook used in those courses. A
web-based version of that text is available at
http://klingon.cs.iupui.edu/~aharris/mmcc/stair.html
- MMCC course C (renamed N201) - This course was based
on my earlier work in 201. I designed the prototype of MIRACLE
used in the pilot sections of the course, taught one of the
pilot sections, acted as a contributing author to the text.
Managing ongoing improvements in the Miracle environment.
- MMCC Course D (renamed N207) -
This course was based on our earlier
work with 207. I was involved in writing and testing new materials
for teaching data analysis concepts using spreadsheets to users with
little previous experience. I was a contributing author in the
final release of the book. I wrote two complete chapters and
provided many of the examples.
- CS220 Problem Solving with Java (renamed N345) -
Developed the course
from the ground up, as few appropriate textbooks were yet available.
Wrote preliminary text (currently being submitted for publication)
Special emphasis on Applet / GUI programming.
- CS220 Advanced Visual Basic (renamed N335) -
Course focuses on
integration of databases into VB applications, object oriented
programming in Windows environment, use of the Windows API, best
practices in VB programming, VB and the Internet, using variations
of VB including VBA and VBScript, generating activeX controls, and
other advanced topics of interest to more advanced Visual Basic
programmers.
- CSCI N100 Televised
Developed a Television and web - deliverable version of CSCI
N100. Taped lectures in a television studio, archived them
in streaming media format, managed development of online
ancillary materials, examples, notes. Created course management
tools such as an asynchronous chat, quiz and test management
software.
- CSCI N241 Web Design
Split the older Web Authoring course into two seperate courses.
N241 incorporates features of the MMCC core curriculum, with an
emphasis on web and internet topics, internet protocols, unix
and text editors. The second half of the course includes strong
treatment of HTML, including frames, stylesheets, and image
maps, all done without use of GUI editors.
- CSCI N241 Web Design (televised)
Headed development of Television / streaming media / internet
delivered variant of N241. Served as co-executive producer of
televised series, as well as primary on-screen instructor and
project leader.
- CSCI N341 Web Programming
All the programming concepts of the older Web Authoring course
were moved into this class. The course focuses on client side
programming in the first half, with javascript and dynamic HTML
concepts. During the second half, we cover server-side
programming, with perl and CGI programming. I wrote original
text material for the course, currently being custom-published
and modified for television and streaming web - based distribution.
- CSCI N355 Virtual Reality
This course covers concepts of 3-dimensional
visualization primarily through use of Virtual Reality Modelling
language, a language that allows distribution of virtual worlds
through the world-wide-web. Students use a text editor to
create and modify worlds incorporating texture mapping,
transformations in three dimensions, animation, and
incorporating scripts. As no textbooks currently exist on the
topic, I wrote my own. The text is available entirely on
line, and incorporates a number of interactive features, which
encourage the student to experiment with the environment as they
read or hear about it.
Teaching Recognition
- TERA 1996/1997 Teaching Excellence Recognition Award,
presented by the IUPUI School of Science
- Outstanding Associate Faculty award, 1997/1998, awarded by
IUPUI School of Science
- TERA 1998/1999 Teaching Excellence Recognition Award,
Second award of TERA by IUPUI school of science