Timothy J. Rolfe

Click here for this resume in Microsoft Word format.

- Current Addresses -

work

home

Computer Science Dept.
Eastern Washington Univ.
319F Computing & Engineering Bldg.
Cheney WA 99004-2493
(509) 359-6162

707 W. 6th Ave., #35
Spokane WA 99224-2813
(509) 747-0443

e-mail

WWW home page

Professional:
Timothy.Rolfe@ewu.edu
Personal:
RolfeT@earthlink.net

Professional:
http://penguin.ewu.edu/~trolfe/
Personal:
http://home.earthlink.net/~rolfet/


CURRICULUM VITÆ:

Professor (tenured), 2003-present, Eastern Washington University, Computer Science Department

Associate Professor (tenure-track), 2000-2003, Eastern Washington University, Computer Science Department

Visiting Associate Professor, 1998-2000, Eastern Washington University, Computer Science Department

Associate Professor (tenured), 1995-1998 (extended leave of absence, 1998-2000), Dakota State University, College of Business and Information Systems.

Assistant Professor (tenure-track), 1990-1995, Dakota State University, College of Business and Information Systems.

ACS Fellow, Summer 1992, with Wm. Reinhardt, University of Washington

M.S., 1987-1989, University of Minnesota; Minneapolis, MN. Major: Computer Science. Project: "Instructional Package to Animate Various Sorting Algorithms".

Independent Consultant, Summer 1987, Physical Science Numerical Calculation Laboratory at the University of Chicago.

Assistant Professor, 1983 to 1987, Gonzaga University, Mathematics and Computer Science Department (teaching Computer Science).

Post-doctoral fellow, 1983: M.I.T.

Ph.D., 1976-1982, University of Chicago; Chicago, IL. Major: Chemistry Dissertation: "Computer Studies of Molecular Vibrational Behavior".

M.S., 1975-1976, University of Chicago; Chicago, IL. Major: Chemistry.

B.S., 1971-1975, University of Oregon; Eugene, OR. Majors: Chemistry (with honors), Computer Science, Mathematics; minor: Physics.

U. S. Air Force, 1966-1971 (Captain at separation):

1969-1971: 72nd Organization Maintenance Squadron; Ramey AFB, PR.
1967-1969: 349th Field Maintenance Squadron; Wurtsmith AFB, MI.
1967: Aircraft Maintenance Officer Course; Chanute Technical Training Center, Rantoul, IL.
1966-1967: Basic Military Training and Officer Training School.

B.A., 1960-1962, 1963-1965, Mount Angel Seminary; St. Benedict, OR. Major: Philosophy (summa cum laude); minor: English.

COMPUTING BACKGROUND:

Current interests: parallel programming in a distributed parallel environment, as found in the Oak Ridge National Laboratory package PVM (Parallel Virtual Machine) and in MPI (Message Passing Interface). Also interested in expanding into other parallel programming environments and paradigms.

Graduate courses taught:   Design and Analysis of Algorithms, Distributed Multiprocessing Environments (survey including UNIX fork, Java threads, PVM, and MPI).

Undergraduate courses taught: Computer Science I/II (of CSAB Curricula 1991), Object-Oriented Programming (in C++), Introduction to Computer Systems (survey course on the computer systems underlying the logical machine defined by a higher level language), Data Structures & Algorithms, Computer Architecture, Operating Systems, Computer Hardware and Interfacing, Senior Project, introductory language courses (BASIC, C/C++, COBOL, Fortran, Java, Pascal), assembly language (IBM-370 family, VAX MACRO-11, 6502 microprocessor, Intel 80x86 family, Motorola 68000), computer literacy courses on Apple-//e and IBM-PC computers, second-semester literacy courses on assorted products (e.g., Internet, Web authoring, Quattro Pro, Excel, Paradox, Access), Distributed Multiprocessing Environments (survey including UNIX fork, Java threads, PVM, and MPI).

Graduate study areas: Numerical Analysis; Algorithms; Theory of Computation. Master's project is a Data Structures instructional package for use at the second year on up.

Programming areas: parallel programming in shared memory (SGI) and distributed memory (PVM and MPI) environments; numerical methods and data structures in pursuit of the Master's in Computer Science; scientific applications programming in pursuit of the Ph.D. in theoretical physical Chemistry; some systems programming (VAX-11) and device interfacing (PDP-11) — see the "Programs Contributed . . ." below. Machine language interpreters and matching assemblers for the Intro. Computer Systems and the Computer Architecture courses mentioned above.

Program Development Environments: Borland IDE (Integrated Development Environment) for Pascal, C, and C++. Microsoft Visual C++. Metrowerks Code Warrior C++.

Languages: Java; C and C++; Pascal; Fortran; COBOL; IBM Assembly Language; VAX MACRO-11; PDP MACRO-11; DCL; TECO; BASIC (assorted dialects including QuickBASIC and Visual BASIC); some exposure to Ada, Modula-2, and LISP.

Computers: Various machines (including CRAY-2, DEC MicroVAX-II, Sun SPARCstation, DEC Alpha, and Intel processors) under UNIX (BSD and System V). RS/6000 under AIX with Parasoft Express, a distributed parallel programming environment. Heterogenous UNIX-like machines under PVM (Parallel Virtual Machine), a distributed parallel programming environment. VAX-11 (under VAX/VMS and EUNICE). HP-3000 (under MPE). IBM-PC family (under MS-DOS, Windows 3.x, and Windows-95). PDP-11 (under RSX-11M and RT-11). DECsystem-20 (under TOPS-20), IBM-mainframe (under VM and MVS).

Computer Management Experience:
   1980, VAX-11 systems programming (languages: Fortran, VAX MACRO-11, and DCL) to bring up and operate the Department of Chemistry's VAX-11/780 - in conjunction with Alan Belch. Consulted for that Department on the VAX until departure from Chicago.
   1983, as above, for the M.I.T. Chemistry Department VAX-11/780.

PUBLICATIONS AND PRESENTATIONS:

"The Assignment Problem: Exploring Parallelism", inroads (bulletin of the ACM SIG on Computer Science Education), Vol. 41, No. 2 (June 2009), pp. 127-131, by T. J. Rolfe. Text available through http://penguin.ewu.edu/~trolfe/

"A Specimen MPI Application:  N-Queens in Parallel", inroads (bulletin of the ACM SIG on Computer Science Education), Vol. 40, No. 4 (December 2008), pp. 42-45, by T. J. Rolfe.  Text available through http://penguin.ewu.edu/~trolfe/.

"A cautionary tale:  false efficiencies in the traveling salesman problem", presentation at the 10-11 October 2008 Consortium for Computing Sciences in Colleges Northwestern Conference.  Published in The Journal of Computing Sciences in Colleges, Vol. 24, No. 2 (December 2008), pp. 26-31. Available through http://penguin.ewu.edu/~trolfe/.

"Perverse and Foolish Oft I Strayed", inroads (bulletin of the ACM SIG on Computer Science Education), Vol. 40, No. 2 (June 2008), pp. 52-55, by T. J. Rolfe.  Text available through http://penguin.ewu.edu/~trolfe/.

"An Alternative Dynamic Programming Solution for the 0/1 Knapsack", inroads (bulletin of the ACM SIG on Computer Science Education), Vol. 39, No. 4 (December 2007), pp. 54-56, by T. J. Rolfe.  Text available through http://penguin.ewu.edu/~trolfe/.

"Classroom Exercise Demonstrating Linked List Operations", inroads (bulletin of the ACM SIG on Computer Science Education), Vol. 38, No. 4 (December 2006), pp. 83-84, by T. J. Rolfe.  Text available through http://penguin.ewu.edu/~trolfe/.

"Las Vegas Does N-Queens", inroads (bulletin of the ACM SIG on Computer Science Education), Vol. 38, No. 2 (June 2006), pp. 37-38, by T. J. Rolfe.  Text available through http://penguin.ewu.edu/~trolfe/.

"Parallel Processing on Multi-core Computers", presentation at the 13 December 2005 meeting of the Inland Northwest Chapter of the Association for Computing Machinery (ACM).  Link to the web site used for the presentation.

"List Processing:  Sort Again, Naturally", inroads (bulletin of the ACM SIG on Computer Science Education), Vol. 37, No. 2 (June 2005), pp. 46-48, by T. J. Rolfe.  Text available through http://penguin.ewu.edu/~trolfe/.

"Optimal Queens", Dr. Dobb's Journal, Vol. 30, No. 5 (May 2005), pp. 32-37, by T. J. Rolfe.  Reprinted in Developer 2.0, July 2004 (an Indian Journal, no page ref.)   Web copy of the article.

"An Alternative Problem for Backtracking and Bounding", inroads (bulletin of the ACM SIG on Computer Science Education) Vol. 36, No. 4 (December 2004), pp. 83-84, by T. J. Rolfe and P.W.Purdom. Text available through http://penguin.ewu.edu/~trolfe/.

"Backtracking Algorithms", Dr. Dobb's Journal, Vol. 29, No. 5 (May 2004), pp. 48, 50-51, by T. J. Rolfe.  Reprinted in Developer 2.0, July 2004 (an Indian Journal, no page ref.)   Web copy of the article.

"Program Optimization: Enforcement of Local Access, and Array Access via Pointers", inroads (bulletin of the ACM SIG on Computer Science Education) Vol. 35, No. 4 (December 2003), pp. 63-65, by T. J. Rolfe. Text available through http://penguin.ewu.edu/~trolfe/.

"Spreadsheet-Aided Numerical Experimentation: Analytic Formula for Fibonacci Numbers", inroads (bulletin of the ACM SIG on Computer Science Education) Vol. 35, No. 2 (June 2003) pp. 117-19, by T. J. Rolfe.  Text available through http://penguin.ewu.edu/~trolfe/.

"Bargain-Basement Parallelism", Dr. Dobb's Journal, Vol. 28, No. 2 (February 2003), pp. 46-50, by T. J. Rolfe. Reprinted in Developer 2.0, March 2003 [an Indian journal, page reference not available].  Web copy of the article.

"One-Time Binary Search Tree Balancing: the Day/Stout/Warren (DSW) Algorithm", inroads (bulletin of the ACM SIG on Computer Science Education) Vol. 34, No. 4 (December 2002), pp. 85-88, by T. J. Rolfe. Text available through http://penguin.ewu.edu/~trolfe/.

"Distributed Multiprocessor Environments", presentation at the 4-5 October 2002 Consortium for Computing Sciences in Colleges Northwestern Conference. Published in The Journal of Computing Sciences in Colleges, Vol. 18, No. 2 (December 2002), pp. 95-104. Available through http://penguin.ewu.edu/~trolfe/.

"Algorithm Alley: Graph Traversals", Dr. Dobb's Journal, Vol. 27, No. 3 (March 2002), pp. 97-101, by T. J. Rolfe. Reprinted in Developer 2.0, May 2002 [an Indian journal, page reference not available].  Web copy of the article.

"One-Time Binary Search Tree Balancing: The Day/Stout/Warren (DSW) Algorithm", presentation at the 8 January 2002 meeting of the Inland Northwest Chapter of the Association for Computing Machinery (ACM).  Material of this presentation is published in inroads, referenced above.

"Binomial Coefficient Recursion: The Good, and The Bad and Ugly", inroads (bulletin of the ACM SIG on Computer Science Education) Vol 33, No. 2 (June 2001), pp. 35-36, by T. J. Rolfe. Text available through http://penguin.ewu.edu/~trolfe/.

"Algorithm Alley: AVL Trees", Dr. Dobb's Journal, Vol. 25, No. 12 (December 2000), pp. 149-52, by T. J. Rolfe.  Reprinted in Developer 2.0, Vol. 1, No. 1 (July 2001) [an Indian journal, page reference not available].  Web copy of the article.

"Algorithm Alley: Randomized Shuffling", Dr. Dobb's Journal, Vol. 25, No. 1 (January 2000), pp. 113-14, by T. J. Rolfe.  Web copy of the article.

"Analytic Derivation of Comparisons in Binary Search", SIGNUM Newsletter, Vol. 32, No. 4 (October 1997), pp. 15-19, by T. J. Rolfe. Text available through http://penguin.ewu.edu/~trolfe/.

"Particles on a Sphere — A Specimen Multidisciplinary Problem", presented in the Computer Science Technical Session T21 at the Spring 1996 Small College Computing Symposium at St. Cloud University (St. Cloud, MN), 18-20 April 1996. Published in SCCS Proceedings: 29th Annual Small College Computing Symposium (1996), 456-66. Text available through http://penguin.ewu.edu/~trolfe/.

"Queens on a Chessboard: Making the Best of a Bad Situation", presented in the Technical Paper Sessions at the Small College Computing Symposium at Augustana College (Sioux Falls, SD) 21-22 Apr 1995. Published in SCCS:  Proceedings of the 28th Annual Small College Computing Symposium (1995), 201-10. Text available through http://penguin.ewu.edu/~trolfe/. [This paper focuses on various optimizations in the problem solution, including parallelization.]

"Queens on a Chess Board - in Parallel", 50-minute presentation at the 1995 Joint Conference, South Dakota Science Teachers Association and South Dakota Council of Teachers of Mathematics in Huron, SD, on 3-4 Feb 1995. [This paper focuses on the Queens problem as a specimen parallel programming problem.]

"PVM: an affordable parallel processing environment" in the Computer Science Education Technical Paper Session T4 at the Small College Computing Symposium at Winona State University (Winona, MN) 29-30 Apr 1994. Published in SCCS Proceedings: 27th Annual Small College Computing Symposium (1994), 118-125. Text available through http://penguin.ewu.edu/~trolfe/.

"Spreadsheets for Discrete Mathematics", 50-minute presentation at the 1994 Conference on the Teaching of Undergraduate Mathematics and Science in Huron, SD, on 4-5 Feb 1994.

Invited seminar on parallel processing, the Queens problem, and the PVM distributed parallel processing system to the University of South Dakota Computer Science Department, Oct 1992.

"Timing Comparisons of the Householder QR Transformations with Rank-1 and Rank-2 Updates", SIGNUM Newsletter, Vol. 25, No. 4 (1990), pp. 19-24, by T. J. Rolfe.

"Instructional Package to Animate Various Sorting Algorithms", University of Minnesota Computer Science Department Technical Report TR 89-72 (October 1989), by T. J. Rolfe.

"Benchmark Package Based on Sorting", University of Minnesota Computer Science Department Technical Report TR 89-71 (October 1989), by T. J. Rolfe.

"Generation of Permutations with Non-Unique Elements", SIGNUM Newsletter, Vol. 23, No. 2 (1988), pp. 24-28, by T. J. Rolfe.

"On a Fast Integer Square Root Algorithm", SIGNUM Newsletter, Vol. 22, No. 4 (1987), pp. 6-11, by T. J. Rolfe.

"Sort Arrays, Not Lists", The VAX Professional, Vol. 9, No. 3, (June 1987), pp. 37-41, by T. J. Rolfe.

"Recurse Around the Clock", Mathematics and Computer Education, Vol. 21, No. 2 (Spring, 1987), pp. 98-104, by T. J. Rolfe.

"VAX Pascal Performance Degradation When Nested Procedures Reference Outer-Block Procedure Parameters", The VAX Professional, Vol. 8, No. 6 (December 1986), pp. 46-51, by T. J. Rolfe.

"Classical trajectory studies of energy transfer in Ar-difluorodiazirine collisions", J. Chem. Phys., Vol. 79, No. 10 (1983), pp. 4863-4876, by T. J. Rolfe and S. A. Rice.

"Least squares fitting of polynomials and exponentials, with programming examples", Mathematics and Computer Education, Vol. 16, No. 2 (Spr, 1982), pp. 122-132, by T. J. Rolfe.

"Simulation studies of the scattering of a solitary wave by a mass impurity in a chain of nonlinear oscillators", Physica, Vol. 1D, No.4 (1980), pp. 375-382, by T. J. Rolfe and S. A. Rice.  Start the search traversal at http://www.sciencedirect.com/science/journal/01672789

"A numerical study of large amplitude motion in a chain of coupled nonlinear oscillators", J. Chem. Phys., Vol. 70, No. 1 (1979), pp. 26-33, by T. J. Rolfe, S. A. Rice, and J. Dancz.

PAPERS IN PREPARATION:

"The Assignment Problem:  Exploring Parallelism", being prepared for SIGCSE's inroads.  A case study taking two sequential solutions to the linear assignment problem (backtracking and branch-and-bound) and developing parallel implementations.  Because of the 3000 word limitation on inroads articles there are two papers, the first discussing the problem and the backtracking implementations, the second discussing just the branch-and-bound implementation.  The first paper has been published in the June 2009 issue and is shown above.  The second paper has been accepted for the December 2009 issue.  Click here to browse.

"A Specimen of Parallel Programming:  Parallel Merge Sort Implementation", submitted to Dr. Dobb's Journal.  Since Dr. Dobb's is not responding to electronic mail, I need to find another journal.  Transformation of a sequential algorithm (sorting) into a parallel algorithm.  Click here to browse.

"Iterate Through the Tulips", accepted by Dr. Dobb's Journal, but then apparently discarded.  This is an exemplification of the use of iterators within Java as compared with explicit manipulations of doubly-linked lists, using sorting algorithms as the basis for discussion.  Click here to browse.

"And the Teacher Shall Be Taught", presently in inroads format — programming anecdote. Click here to browse.

PROGRAMS CONTRIBUTED TO SOFTWARE LIBRARIES:

"Animated Sorting Algorithms", DECUS Program Library, DECUS No. V00461.
"Sorting Benchmarks", DECUS No. V00459.
"ACCTING: Generation of VAX/VMS Accounting Reports," DECUS No. V00065.
"MOLDYN: A Molecular Dynamics Program/Package," DECUS Nos. V00041(R) and 110570(R).
"QREQUEST: User Interaction with Device Queues," DECUS No. V00034(R).
"DISKUSE: Disk Usage Statistics," DECUS No. V00033(R).
"POLFIT: A General Polynomial Fitting Program," DECUS No. 110554.


Courses Taught at Eastern Washington University: September 1998 Through the Present

Note: CScD-226 and CScD-325 are courses that on the books had three credits prior to 2001/02. They met, however, four times a week, and had associated lab courses by which students could obtain one or two additional credits. Departmental policy treated these courses as generating four teaching units.

Fall 2009 course load (8 credits)
    4 credits: CScD-300    Data Structures
    4 credits: CScD-320    Algorithms

Spring 2009 course load (8 credits)
    4 credits: CScD-320    Algorithms
    4 credits: CScD-443/543 Distributed Multiprocessor Environments

Winter 2009 course load (8 credits)
    4 credits: CScD-320    Algorithms
    
4 credits: CScD-501    Design and Analysis of Algorithms

Fall 2008 course load (8 credits)
    4 credits: CScD-300    Data Structures
    4 credits: CScD-320    Algorithms

Spring 2008 course load (8 credits)
    4 credits: CScD-320    Algorithms
    4 credits: CScD-443/543 Distributed Multiprocessor Environments

Winter 2008 course load (8 credits)
    4 credits: CScD-320    Algorithms
    
4 credits: CScD-501    Design and Analysis of Algorithms

Fall 2007 course load (8 credits)
    4 credits: CScD-300    Data Structures
    4 credits: CScD-320    Algorithms

Spring 2007 course load (8 credits)
    4 credits: CScD-320    Algorithms
    4 credits: CScD-443/543 Distributed Multiprocessor Environments

Winter 2007 course load (8 credits)
    4 credits: CScD-320    Algorithms
    
4 credits: CScD-501    Design and Analysis of Algorithms

Fall 2006 course load (8 credits)
    4 credits: CScD-300    Data Structures (formerly 326 / Data Structures I)
    4 credits: CScD-320    Algorithms (formerly 327 / Data Structures II)

Spring 2006 course load (8 credits)
    4 credits: CScD-326    Data Structures I
    4 credits: CScD-501    Design and Analysis of Algorithms

Winter 2006 course load (8 credits)
    4 credits: CScD-327    Data Structures II
    
4 credits: CScD-443/543 Distributed Multiprocessor Environments

Fall 2005 course load (8 credits)
    4 credits: CScD-326    Data Structures I
    4 credits: CScD-327    Data Structures II

Spring 2005 course load (12 credits)
    4 credits: CScD-326    Data Structures I
    4 credits: CScD-327    Data Structures II
    4 credits: CScD-501    Design and Analysis of Algorithms

Winter 2005 course load (8 credits)
    4 credits: CScD-327    Data Structures II
    
4 credits: CScD-443/543 Distributed Multiprocessor Environments

Fall 2004 course load (8 credits)
    4 credits: CScD-326    Data Structures I
    4 credits: CScD-327    Data Structures II

Spring 2004 course load (8 credits)
    4 credits: CScD-327    Data Structures II
    4 credits: CScD-501    Design and Analysis of Algorithms

Winter 2004 course load (8 credits)
    4 credits: CScD-327    Data Structures II
    
4 credits: CScD-443/543 Distributed Multiprocessor Environments

Fall 2003 course load (8 credits)
    4 credits: CScD-327    Data Structures II
    4 credits: CScD-350    Software Design (observing the handling of the course by Jeffrey Putnam, Ph.D., in case I should be called upon to teach the course again)

Spring 2003 course load (13 credits)
    4 credits: CScD-327    Data Structures II
    5 credits: CScD-350    Software Design
    4 credits: CScD-501    Design and Analysis of Algorithms

Winter 2003 course load (9 credits)
    5 credits: CScD-350    Software Design
    
4 credits: CScD-498/539  Seminar: Distributed Multiprocessor Environments (becomes 443/543)

Fall 2002 course load (9 credits)
    4 credits: CScD-327    Data Structures II — change of language from C/C++ to Java
    5 credits: CScD-350    Software Design

Spring 2002 course load (9 credits)
    4 credits: CScD-327    Data Structures II
    5 credits: CScD-350    Software Design

Winter 2002 course load (13 credits)
    4 credits: CScD-327    Data Structures II
    5 credits: CScD-350    Software Design
    4 credits: CScD-498/539  Seminar: Distributed Multiprocessor Environments (becomes 443/543)

Fall 2001 course load (14 credits)
    4 credits: CScD-327    Data Structures II
    10 credits: CScD-350    Software Design (2 sections)

Spring 2001 course load (12 credits, 13 teaching units)
    3 credits: CScD-325    Object Oriented Programming, for 4 teaching units
    4 credits: CScD-327    Data Structures II
    5 credits: CScD-350    Software Design

Winter 2001 course load (9 credits, 11 teaching units with 2 unit credit for new preparation)
    4 credits: CScD-327    Data Structures II
    5 credits: CScD-350    Software Design

Fall 2000 course load (8 credits, 10 teaching units with 2 unit credit for new preparation)
    4 credits: CScD-327    Data Structures II
    4 credits: CScD-498/539  Seminar: Distributed Multiprocessor Environments (becomes 443/543)

Spring 2000 course load (10 credits, 12 teaching units)
    6 credits: CScD-325    Object Oriented Programming (2 sections), for 8 teaching units
    4 credits: CScD-327    Data Structures II

Winter 2000 course load (6 credits, 10 teaching units with 2 unit credit for new preparation)
    6 credits: CScD-325    Object Oriented Programming (2 sections), for 8 teaching units

Fall 1999 course load (10 credits, 12 teaching units)
    6 credits: CScD-226    Programming Principles II (2 sections), for 8 teaching units
    4 credits: CScD-327    Data Structures II

Spring 1999 course load (6 credits, 8 teaching units)
    6 credits: CScD-226    Programming Principles II (2 sections), for 8 teaching units

Winter 1999 course load (12 credits, 15 teaching units)
    9 credits: CScD-226    Programming Principles II (3 sections), for 12 teaching units
    3 credits: CScD-260    Micro-Assembly Language

Fall 1998 course load (14 credits, 16 teaching units)
    3 credits: CScD-132    BASIC Programming
    5 credits: CScD-225    Programming Principles I
    6 credits: CScD-226    Programming Principles II (2 sections), for 8 teaching units


Courses Taught at Dakota State University: January 1990 Through May 1998

Spring '98 course load (13 hours):
   10 hrs: CSc-250     Computer Science II (2 sections)
    3 hrs: CSc-314     Assembly Language

Fall '97 course load (13 hours):
    3 hrs: CSc-130     BASIC Programming
    2 hrs: CSc-206     Adv. Computer Appl.: Access (2 sections)
    2 hrs: CSc-206     Adv. Computer Appl.: Excel (2 sections)
    3 hrs: CSc-310     Data Structures and Algorithms
    3 hrs: InfS-350     Teleprocessing

Spring '97 course load (12 hours);
    5 hrs: CSc-250     Computer Science II
    1 hr:   CSc-206     Advanced Computer Applications: Windows 95
    6 hrs: CSc-314     Assembly Lang. (2 sections, one in Sioux Falls)

Fall '96 course load (13 hours):
    2 hrs: CSc-206     Adv. Computer Appl.: Access (2 sections)
    2 hrs: CSc-206     Adv. Computer Appl.: Excel (2 sections)
    3 hrs: CSc-260     Computer Hardware and Interfacing
    3 hrs: CSc-310     Data Structures and Algorithms
    3 hrs: CSc-346     C Programming (Sioux Falls)

Spring '96 course load (11 hours):
    3 hrs: CSc-130     BASIC Programming
    2 hrs: CSc-205     Computer Software Applications [2nd semester literacy course]
    3 hrs: CSc-314     Assembly Language I
    3 hrs: CSc-317     Computer Organization and Architecture

Fall '95 course load (13 hours):
    6 hrs: CSc-130     BASIC Programming, 2 sections
    4 hrs: CSc-205     Computer Software Applications
    3 hrs: CSc-308     Discrete Mathematics

Spring '95 course load (12 hours):
    6 hrs: CSc-234     Assembler I (2 sections, one in Sioux Falls)
    3 hrs: CSc-260     Computer Hardware and Interfacing
    3 hrs: CSc-317     Computer Organization and Architecture

Fall '94 course load (12 hours):
    6 hrs: CSc-100     Computer Concepts [literacy course], 3 sections
    3 hrs: CSc-220     Structured BASIC
    3 hrs: CSc-308     Discrete Mathematics

Spring '94 course load (13 hours):
    4 hrs: CSc-205     Computer Software Applications, (2 sections)
    3 hrs: CSc-220     Structured BASIC
    3 hrs: CSc-234     Assembler I
    3 hrs: CSc-317     Computer Organization and Architecture

Fall '93 course load (13 hours):
    4 hrs: CSc-100     Computer Concepts, 2 sections
    6 hrs: CSc-220     Structured BASIC
    3 hrs: CSc-308     Discrete Mathematics

Spring '93 course load (11 hours):
    2 hrs: CSc-205     Computer Software Applications
    6 hrs: CSc-220     Structured BASIC, 2 sections
    3 hrs: CSc-303     Operating Systems

Fall '92 course load (12 hours):
    6 hrs: CSc-100     Computer Concepts, 3 sections
    3 hrs: CSc-310     Data Structures & Algorithms
    3 hrs: InfS-350     Teleprocessing

Spring '92 course load (12 hours):
    3 hrs: CSc-234     Assembler I
    3 hrs: CSc-303     Operating Systems
    3 hrs: CSc-317     Computer Organization and Architecture
    3 hrs: CSc-330     Fortran

Fall '91 course load (12 hours):
    6 hrs: CSc-100    Computer Concepts, 3 sections
    3 hrs: CSc-346    C Programming Language
    
3 hrs CSc-310    Data Structures & Algorithms

Spring '91 course load (11 hours):
    2 hrs: CSc-205    Computer Software Applications [2nd semester literacy course]
    3 hrs: CSc-317    Computer Organization and Architecture
    3 hrs: CSc-335    Assembler II
    3 hrs: CSc-346    C Programming Language

Fall '90 course load (12 hours scheduled, 3 hours mentored):
    6 hrs: CSc-100    Computer Concepts, 3 sections
    3 hrs: CSc-220    Structured BASIC
    3 hrs: InfS-303    Operating Systems
    3 hrs mentored:   CSc-310, Data Structures & Algorithms

Spring '90 course load (11 hours):
    2 hrs: CSc-100    Computer Concepts [literacy course]
    3 hrs: CSc-234    Assembler I
    3 hrs: CSc-317    Computer Organization and Architecture
    3 hrs: CSc-346    C Programming Language