Course Catalog 2006-2007

College of Arts and Sciences

Department of Computer Science

Alden Wright, Chairman

The growing utility of computers in research and education, as well as the increased impact of computers on our modern society, strongly implies that a knowledge of computers and their capabilities should be a part of the basic education of all students. The courses listed below are designed to provide the student with this knowledge and to prepare the student for a career in a field in which there is a growing need for trained personnel. The objective of the undergraduate curriculum in computer science is to teach theory and to develop professionally competent, broadly educated computer scientists who wish to pursue professional careers or graduate studies.

The B.S. program is accredited by the Computing Accreditation Commission (CAC) of the Accreditation Board for Engineering and Technology, Inc. (ABET), a specialized accrediting body; its curriculum, therefore, is similar to those of other recognized computer science programs. For more information access www homepage: http://www.cs.umt.edu or email the chairman at alden.wright@umontana.edu.

High School Preparation: In addition to general University admission requirements, pre college preparation should include as many computer science courses as possible, and four years of high school mathematics, to include algebra, trigonometry and pre-calculus. Also recommended are physics and chemistry.

Admission Requirements

Admission to computer science courses varies according to course level and other departmental standards. However, students must have completed all prerequisite courses with a grade of at least a "C-".

Lower Division Courses

Most 100- and 200-level courses are open on a first-come, first-served basis to all students who have the prerequisites. Students taking computer science courses to satisfy a general education symbolic system sequence should normally take CS 101-131 or CS 131-132.

Upper Division Courses

Admission to 300 level or above courses requires successful completion of the prerequisites.

Major Minor Status

Completed change of major forms along with college transcripts must be turned in to the department when declaring computer science as a major or minor.

Special Degree Requirements

To locate graduation requirements in addition to those of the Computer Science Department, see "graduation requirements" in the index of this catalog.

Bachelor of Science degree with a major in Computer Science

A B.S. degree in computer science requires completion of the following requirements with at least a "C-" in each course (2.00 grade point average required):

Computer Science. CS 121, CS 131 132, CS 241, CS 242, CS 281, CS 332, CS 344, CS 346, CS 365, CS 415E, CS 441, CS 442, CS 488, and nine credits of CS electives selected from courses numbered 300 and above.

Mathematics. MATH 152 153, 221or 325, 225, and 341.

Writing/Communication. Students must take FOR 220. Students must also take COMM 111A or COMM 242.

Science. Students must take one of the sequences BIOL 108N-109N, 110N; CHEM 161N, 162N; or PHYS 221N and 222N. Students also must take two additional courses selected from the following list (two numbers separated by a / means that the second number is a lab for the first and the two together only count as one course for this requirement):

NOTE: 100 level CS courses other than CS 121, CS 131 132 and 200 level CS courses other than CS 241-242 and CS 281 do not count toward the degree or option requirements. However, they do count in the 60 credit limit in the major.

Upper-division Writing Expectation. The Upper-division Writing Expectation for computer science majors is CS415E.

Bachelor of Science degree with a combined major in Computer Science-Mathematical Sciences

The purpose for the combined program is to provide a thorough background in both allied disciplines and to inculcate a deeper understanding of their goals and methods. A student must complete 60 credits in the two disciplines: 30 of these credits in computer science courses and 30 of these credits in mathematical sciences courses. A minimum grade of "C-" and a 2.0 grade point average is required in all courses which follow:

The computer science requirements are: 121, 131-132, 241-242, 281, 332, and nine credits of CS electives selected from courses numbered 300 and above. A total of at most three of the nine credits of CS electives may be in CS 398 or 498.

The mathematical sciences requirements are: 152-153, 221, 251, 305 (or 225), and twelve credits of 3- or 4-credit MATH electives selected from courses numbered above 305 (not including courses numbered 390-399 and 490-499).

The combined nine additional credits of computer science electives and twelve additional credits of mathematical sciences electives must include at least three 3- or 4-credit courses numbered 400 or above, with at least one chosen from each department (not including MATH 406, 444, and 445).

Other requirements are: One of the sequences BIOL 108N-109N, 110N; or CHEM 161N, 162N; or PHYS 221N-222N. In addition, FOR 220, and either COMM 111A or COMM 242.

Each student plans a program in consultation with a computer science and a mathematical sciences advisor. Students planning to attend graduate school in computer science or the mathematical sciences should consult with their respective advisors.

Suggested Curricula:

Applied Math-Scientific Programming: MATH 311, 412, 414, and one course chosen from MATH 341, 351, 451, 452, 471. Three courses chosen from CS 344, 446, 471, 477 and 486.

Combinatorics and Optimization-Artificial Intelligence: MATH 381, 382; two courses chosen from MATH 325, 341, 414, 485; and CS 344, 455, and 457.

Statistics-Machine Learning: MATH 341, 441, and two courses chosen from MATH 325, 382, 442, 485; three courses chosen from CS 365, 455, 457, 458 and 486.

Algebra-Analysis: MATH 351, 421, and two courses chosen from MATH 326, 422, 451, 452; CS 344, 441, and one other course.

Suggested Course of Study

First YearAS
CS 121 Careers in Computer Science1-
CS 131 132 Fundamentals of Computer Science I, II33
COMM 111A Introduction to Public Speaking3-
ENEX 101 Composition-3
MATH 152 153 Calculus I, II 44
Electives and General Education 36
1416
Second Year
CS 241 Data Structures4-
CS 242 Programming Languages-4
CS 281 Computer Architecture3-
MATH 225 Discrete Math I3-
MATH 221 Linear Algebra-4
Science sequence55
Electives and General Education-3
1516
Third Year**
CS 332 Algorithms3-
CS 344 Operating Systems3-
CS 346 Software Science-3
CS 365 Database Design and DBMS-3
CS 488 Computer Networks-3
FOR 220 Technical Writing-2
MATH 341 Probability and Statistics3-
Science Electives33
Electives and General Education3-
1514
Fourth Year**
CS 415E Computers, Ethics, and Society***-3
CS 441 Theory and Practice I3-
CS 442 Theory and Practice II-3
CS option courses and electives63
Electives and General Education66
1515

**CS core courses at the 300 and 400 level may not always be offered in the sequence shown but will be offered every year.

***Students must pass the upper-division writing proficiency assessment before taking CS 415E.

Requirements for a Minor

There are two minors offered by the Department of Computer Science: the traditional minor in computer science emphasizes computer programming and related skills, while the minor in computer applications emphasizes use of applications such as programming languages, word processors, spreadsheets, and data bases in the management and manipulation of electronic information.

Computer Science: To earn a minor in computer science the student must complete (with at least a "C-" in each course and a 2.00 grade average) 25 CS credits including: CS 131 132, CS 241, and CS 242. The remaining credits must be selected from CS 201, CS 207, CS 281 and courses at the 300 level or above. The student must also complete MATH 152 153, and MATH 225.

Computer Applications: To earn a minor in computer applications, a student must complete (with at least a "C-" grade in each course and a 2.00 grade average) 21 CS credits including: at least one and no more than three of CS 101, CS 131, CS 201, CS 207; at least one and no more than three of CS 111, CS 171, CS 172, CS 173, and CS 181; with remaining courses selected from CS 131-132, CS 241-242, CS 486, other CS major courses, pre-approved CS 195, CS 295, CS 395, or CS 495 special topics courses, or up to six credits of pre-approved classes outside the department.

Courses

U = for undergraduate credit only, UG = for undergraduate or graduate credit, G = for graduate credit. R after the credit indicates the course may be repeated for credit to the maximum indicated after the R. Credits beyond this maximum do not count toward a degree.

Computer Science (CS)

Students taking CS classes with computer programming components should expect to use additional computer lab time outside of class.

U 101 Introduction to Programming 3 cr. Offered every term. Elementary programming techniques using the Visual BASIC programming language. A wide range of primarily nonmathematical programs will be written by the student and run on a computer. (Two hours independent lab per week.) Credit not allowed for both CS 101 and EET 225.

U 102 Introduction to Object-Oriented Programming 1 cr. Offered every term. Classes are held for 2 hours/week in the first half of the semester. Introduction to object-oriented programming using a visual programming environment. Students create programs using drag-and-drop and these programs control animated on-screen characters and objects. Course is designed as a supplement to CS 131-132 which teaches object-oriented programming in a more traditional manner.

U 111 Fluency with Information Technology 3 cr. Offered every term. Introduces the skills and concepts of information technology, both from practical and more theoretical points of view. During lectures and interactive computer labs, students explore a wide range of digital and information technologies, including common PC applications, networking, databases, privacy, and security.

U 121 Careers in Computer Science 1 cr. Offered autumn. Exploration of various careers available in the general area of Computer Science. Includes discussion of strategies for success in the major. Computer Science faculty members also will discuss possible undergraduate research opportunities and motivation for graduate education.

U 131 Fundamentals of Computer Science I 3 cr. Offered autumn and spring. Prereq., computer programming experience in a language such as BASIC, Pascal, C, etc.; coreq., MATH 100 or consent of instr. CS 102 highly recommended as prereq. or coreq. Fundamental computer science concepts using the high level structured programming language, Java.

U 132 Fundamentals of Computer Science II 3 cr. Offered autumn, spring, and summer. Prereq., CS 131; coreq., MATH 121 or consent of instr. Continuation of CS 131. Survey of computer science topics including recursion, algorithms, basic data structures, operating systems, artificial intelligence, graphics, user interfaces, and social and ethical implications of computing.

U 171 Communicating Via Computers 3 cr. Offered every term. Prereq., previous computer experience or consent of instr. The use of the computer for information presentation and communication; emphasis placed on the use of electronic resources for the access, management, and presentation of information.

U 172 Introduction to Computer Modeling 3 cr. Offered every term. Prereq., previous computer experience and MATH 100 or equiv. score on math placement test, or consent of instr. Problem solving with spreadsheets and databases using the computer to analyze a set of data; presentation of results of analysis. Credit not allowed for CRT 172 and this course.

U 173 Computer Modeling 2 cr. Offered autumn and spring. Prereq., MATH 100 or equiv. score on the math placement test, and considerable experience is using spreadsheets. Problem solving with spreadsheets and databases using the computer to analyze data. Presentation of results of the analysis. Credit not allowed for both CS 172, CRT 280 or CRT 281 and this course.

U 181 Electronic Publishing on the World Wide Web 3 cr. Offered every term. Prereq., CS 111 or consent of instr. Introduction to browsers and the World Wide Web. Web site design and construction facilitated by the use of several multimedia programs. HTML and SGML explained in the use of web construction. Copyright issues and other WWW services are discussed.

U 195 Special Topics Variable cr. (R-6) Offered intermittently. Prereq., consent of instr. Experimental offerings of visiting professors, experimental offerings of new courses, or one time offerings of current topics.

U 196 Independent Study Variable cr.(R-6) Offered intermittently. Prereq., consent of instr.

U 198 Internship Variable cr. Offered intermittently. Prereq., consent of department. Extended classroom experience which provides practical application of classroom learning during placements on and off campus. Prior approval must be obtained from the faculty supervisor and the Internship Services office. A maximum of 6 credits of Internship (198, 298, 398, 498) may count toward graduation.

U 201 Special Programming Languages 3 cr. (R-open) Offered intermittently. Prereq., depends on specific language offered. Computer programming using a high level programming language which is not taught in a regular language specific course. Can be repeated by choosing different languages.

U 207 Advanced Visual BASIC Programming 3 cr. Offered intermittently. Prereq., CS 101 or consent of instr. Advanced applications programming in Visual BASIC. Topics include advanced objects and controls, web page development, and language trends.

U 241 Data Structures 4 cr. Offered autumn. Prereq., CS 132; coreq., MATH 225 or consent of instr. Abstract data types, recursion, linked lists, trees, hashing, graphs, and applications of data structures in algorithm development. Emphasis on object oriented programming techniques. Credit not allowed for CS 331 and this course.

U 242 Programming Languages 4 cr. Offered spring. Prereq., CS 241 and MATH 225. Concepts and principles of programming languages with an emphasis on C, C++, and object-oriented programming. Syntax and semantics of object-oriented languages. Principles and implementation of late binding, memory allocation and de-allocation, type-checking, scope, polymorphism, inheritance. Credit not allowed for CS 335 and this course.

U 281 Computer Architecture and Assembly Language Programming 3 cr. Offered autumn. Prereq., CS 132 or consent of instr. Functional view of computer system componentsBCPU, ALU, memory, bus, cache, I/O module. Instruction set design: formats, addressing modes. Basic circuit design. Pipelining and assembly language. Interrupt handling. Implementation of ALU and control unit. Detailed design of an RISC-like instruction set. Datapath and performance comparisons. Basic multiprocessor design. Credit not allowed for CS 232 and this course.

U 295 Special Topics Variable cr. (R-6) Offered intermittently. Prereq., consent of instr. Experimental offerings of visiting professors, experimental offerings of new courses, or one time offerings of current topics.

U 296 Independent Study Variable cr. (R-6) Offered intermittently. Prereq., consent of instr.

U 298 Internship Variable cr. (R-6) Offered intermittently. Prereq., consent of department. Extended classroom experience which provides practical application of classroom learning during placements on and off campus. Prior approval must be obtained from the faculty supervisor and the Internship Services office. A maximum of 6 credits of Internship (198, 298, 398, 498) may count toward graduation.

U 332 Algorithms 3 cr. Offered autumn. Prereq., CS 241 and MATH 225 or consent of instr. Algorithm design, analysis, and correctness. Commonly used algorithms including searching and sorting, string search, dynamic programming, branch and bound, graph algorithms, and parallel algorithms. Introduction to NP complete problems.

U 344 Operating Systems 3 cr. Offered autumn. Prereq., CS 241, 242, CS 281, or consent of instr. Operating system design principles. Processes, threads, synchronization, deadlock, memory management, file management and file systems, protection, and security. Comparison of commonly used existing operating systems. Writing programs that make use of operating system services.

U 346 Software Science 3 cr. Offered spring. Prereq., CS 132. Software development life cycle with particular emphasis on requirements analysis and system design. CASE tools, project management and cost estimation techniques.

U 365 Database Design and Database Management Systems 3 cr. Offered spring. Prereq., CS 241 and MATH 225, or consent of instr. Models and representations of data, relations, and files for fast retrieval by indexes, trees, and hashing. Introduction to relational, hierarchical, network, distributed database systems, and relevant query languages. Theory and techniques for design and implementation of relational database systems.

U 394 Seminar Variable cr. (R-6) Offered intermittently. Prereq., consent of instr. Guidance in special work.

U 395 Special Topics Variable cr. (R-6) Offered intermittently. Prereq., junior standing. Experimental offerings of visiting professors, experimental offerings of new courses, or one time offerings of current topics.

U 396 Independent Study Variable cr. (R-6) Offered intermittently. Prereq., consent of instr.

U 397 Research Variable cr. (R-6) Offered intermittently. Prereq., consent of instr.

U 398 Internship Variable cr. (R-3) Offered intermittently. Prereq., consent of department. Business or government internship. Prior approval must be obtained from faculty supervisor and the Internship Services office. Only three credits applicable to computer science major or minor. A maximum of 6 credits of Internship (198, 298, 398, 498) may count toward graduation.

U 415E Computers, Ethics, and Society 3 cr. Offered spring. Prereq., computer science major with senior standing, FOR 220, successful completion of the Upper-Division Writing Proficiency Assessment, or consent of instr. Ethical problems that face computer scientists. The codes of ethics of computing professional societies. The social implications of computers, computing, and other digital technologies.

U 435 Web Programming 3 cr. Offered spring. Prereq., CS 241 or consent of instr. Programming and software development techniques for developing web-based applications. Scripting and other programming languages that are used for web-based development.

UG 441 Theory and Practice I 3 cr. Offered autumn. Prereq., CS 242, 344, 346, 365 and MATH 225, or consent of instr. Automata, regular and context free languages, entity/relation systems, with applications in requirements analysis, system design, and language processing.

UG 442 Theory and Practice II 3 cr. Offered spring. Prereq., CS 441. Systems design and implementation, with emphasis and major project in language translation, operating systems, or scientific applications.

UG 446 Computer Graphics 3 cr. Offered intermittently. Prereq., CS 241 and MATH 221 or consent of instr. Hardware and software elements of graphics systems. Basic computer graphics algorithms for transformations, clipping, windowing and polygon filing. Straight line, circle generation. Parametrical representations of curves and surfaces. Three D viewing. Hidden line and surface removal, shading and color models.

UG 455 Artificial Intelligence 3 cr. Offered intermittently. Prereq., CS 242 or consent of instr. Using the computer to solve problems that require intelligence. Representation of knowledge, search techniques, symbolic programming in LISP, expert systems.

U 457 Introduction to Machine Learning 3 cr. Offered intermittently. Prereq., MATH 152 and programming experience or consent of instr. Introduction to the framework of learning from examples, various learning algorithms such as neutral networks, and generic learning principles such as inductive bias, Occam's Razor, and data mining. Credit not allowed for both CS 457 and CS 557.

UG 458 Introduction to Bioinformatics 3 cr. Offered spring even-numbered years. Introduction and use of biological data sources available in the post human genome project era. Topics include basic algorithms for alignment of genome sequences and prediction of protein structures, as well as more advanced representational and algorithmic issues in protein structure, genome sequence computation, and systems biology. Credit not allowed for CS 558 and this course.

UG 462 Computerized Business Systems 3 cr. Offered spring. Prereq., CS 441. Software development in support of electronic commerce. Credit not allowed toward M.S. in computer science.

UG 471 Scientific Computing 3 cr. Offered autumn. Prereq., MATH 153 and CS 132, or consent of instr. Survey of numerical and symbolic methods for solving scientific problems. Introduction to issues in high-performance and parallel computing. Interdisciplinary emphasis.

UG 476 User Interface Design 3 cr. Offered autumn. Prereq., CS 241 or consent of instr. Introduction to usability and key concepts of human behavior. Focus on the process of user-centered design, including requirements specification, prototyping, and methods of evaluation. Incorporation of regular design critiques of classmates' work, and emphasis on both oral and written communication skills. Credit not allowed for CS 576 and this course.

UG 477 Computer Simulation and Modeling 3 cr. Offered spring. Prereq., MATH 153, CS 132, or consent of instr. Matrix languages. ODE solving; Euler-Richardson, Runge-Kutta, PDE solving; finite differences, finite elements, multi-grid techniques. Discrete methods for solution, renormalization group method, critical phenomena. Emphasis on presentation of results and interactive programs. Credit not allowed for CS 577 and this course.

UG 486 Data Visualization 3 cr. Offered intermittently. Prereq., MATH 152; programming experience; and junior, senior, or graduate status; or consent of instr. Visualization fundamentals and applications using special visualization software; formulation of 3 D empirical models; translation of 3 D models into graphical displays; time sequences and pseudo animation; interactive versus presentation techniques; special techniques for video, CD and other media.

UG 488 Computer Networks 3 cr. Offered spring. Prereq., CS 241. Concepts and practice of computer networking, network protocol layers, switching, routing, flow, and congestion control. Network programming.

UG 494 Undergraduate Seminar Variable cr. (R-6) Offered intermittently. Prereq., consent of instr. Guidance in special work.

UG 495 Special Topics Variable cr. (R-6) Offered intermittently. Prereq., consent of instr. Experimental offerings of visiting professors, experimental offerings of new courses, or one time offerings of current topics.

UG 496 Independent Study Variable cr. (R-6) Offered intermittently. Prereq., consent of instr.

UG 497 Research Variable cr. (R-6) Offered intermittently. Prereq., consent of instr.

U 498 Internship Variable cr. (R-3) Offered Intermittently. Prereq., consent of department. Business or government internship. Prior approval must be obtained from the faculty supervisor and the Internship Services office. Only three credits of CS 398 and/or CS 498 applicable to computer science major or minor. A maximum of 6 credits of Internship (198, 298, 398, 498) may count toward graduation.

U 499 Senior Thesis/Project 1-6 cr. (R-6) Offered every term. Prereq., consent of thesis/project director and chair of the Computer Science Department. Senior thesis for computer science majors and/or Watkins scholars.

G 511 Analysis, Modeling, and Design 3 cr. Offered spring. Prereq., CS 132 or 211 or significant programming experience; MATH 117 or 121; CS 346 or software engineering experience; CS365 or database experience. Software requirements analysis, modeling, and specification. Human computer interface issues as they relate to usability, process support, productivity, and organizational goals.

G 512 Software Quality Assurance 3 cr. Offered spring. Prereq., CS 132 or 221 or significant programming experience; MATH 117 or 121; CS 346 or software engineering experience. Software quality assurance concepts and implementation Planning, execution, and assessment of quality assurance activities throughout the software project lifecycle.

G 521 Information Technology Infrastructure 3 cr. Offered intermittently. Prereq., CS 488 or IS 372 or consent of instr. Identification and classification of background environment, hardware, software, and service components in an enterprise IT environment; management and security concerns for each component; consideration of how the components fit together to form an enterprise information technology environment.

G 522 Globalization and Outsourcing 3 cr. Offered spring. Prereq., CS 346 or IS 373 or consent of instr. Development of information technology on a global basis and the associated dynamics of outsourcing relating to intellectual property and national economics in a global context. Project sessions coordinated across two campuses, one at UM and one in an outsourcing environment such as a tribal college, an Indian technical college or Chinese technical college with the purpose of engaging both groups in understanding and resolving cross-cultural and technical problems.

G 531 Design and Analysis of Algorithms 3 cr. Offered intermittently. Prereq., CS 332. Algorithm design, analysis, and correctness, with an emphasis on more advanced techniques than covered in CS 332. Design of algorithms by induction. Recurrences and their solutions. Parallel algorithms. Complexity theory: NP hard and NP complete problems. Approximation algorithms for intractable problems.

G 541 Software Science I: Requirements and Specifications 3 cr. Offered intermittently. Prereq., MATH 225; CS 241 and 242 or consent of instr. Requirements analysis, techniques for representing requirements, specification development techniques, and specification languages.

G 542 Software Science II: Design, Implementation and Testing 3 cr. Offered intermittently. Prereq., CS 541. Continuation of CS 541. The design process. Major design methods such as composite/structured design, data structure driven design, structured analysis, transfer of design to code, testing techniques, validation, verification, certification, and security.

G 555 Applications in Artificial Intelligence 3 cr. (R-6) Offered intermittently. Course can be repeated for credit at the discretion of the instructor. Prereq., consent of instr. One AI application area will be investigated, such as natural language processing, expert systems, and knowledge acquisition. LISP experience is required.

G 557 Machine Learning 3 cr. Offered intermittently. Prereq., MATH 152 and programming experience or consent of instr. Fundamentals of machine learning including neural networks, decision trees, Bayesian learning, instance-based learning, and genetic algorithms; inductive bias, Occam's razor, and learning theory; data mining; software agents. Credit not allowed for CS 457 and CS 557.

G 558 Introduction to Bioinformatics 3 cr. Offered autumn. Prereq., consent of instr. Introduction and use of biological data sources available in the post human genome project era. Topics include basic algorithms for alignment of genome sequences and prediction of protein structures, as well as more advanced representational and algorithmic issues in protein structure, genome sequence computation, and systems biology. Discussion of state of the art bioinformatics projects that are being developed between the Department of Computer Science and the School of Pharmacy.

G 565 Database Systems 3 cr. Offered intermittently. Prereq., CS 242, 344, and 365, or consent of instr. Relational database theory, data models, user interfaces and query languages, security, and concurrency.

G 576 Human-Computer Interactions 3 cr. Offered autumn. Prereq., CS 241 or consent of instr. Principles of good design for interactive systems and web-based applications. User-centered design methodology including requirements specification, low and high-fidelity prototyping, heuristic evaluation, cognitive walkthrough, predictive modeling, and usability testing. Advanced HCI research project.

G 577 Computer Simulation and Modeling 3 cr. Offered spring. Prereq., MATH 153, CS 132, or consent of instr. Matrix languages. ODE solving; Euler-Richardson, Runge-Kutta, PDE solving; finite differences, finite elements, multi-grid techniques. Discrete methods for solution, renormalization group method, critical phenomena. Emphasis on presentation of results and interactive programs. Engagement with current scientific literature. Planning and execution of small scale modeling project derived from scientific literature. Model testing and validation.

G 580 Parallel Processing 3 cr. Offered intermittently. Prereq., CS 241, 242, and 344. Parallel processing architectures and programming languages.

G 594 Graduate Seminar Variable cr. (R-6) Offered intermittently. Prereq., consent of instr. Seminar on current research topics in computer science.

G 595 Special Topics Variable cr. (R-6) Offered intermittently. Prereq., consent of instr. Experimental offerings of visiting professors, experimental offerings of new courses, or one time offering of current topics.

G 596 Independent Study Variable cr. (R-6) Offered intermittently. Prereq., consent of instr.

G 597 Research Variable cr. (R-6) Offered intermittently. Prereq., consent of instr.

G 598 Internship Variable cr. (R-3) Offered intermittently. Prereq., consent of department. Business or government internship. Prior approval must be obtained from faculty supervisor and the Internship Services office. Only three credits applicable to computer science major or minor.

G 599 Thesis/Project Variable cr. (R-6) Offered every term. Prereq., consent of instr. Research for and preparation of the master thesis or professional paper.

Faculty

Professors

Ray Ford, Ph.D., University of Pittsburgh, 1980

Alden H. Wright, Ph.D., University of Wisconsin, 1969 (Chairman)

Associate Professors

Joel E. Henry, Ph.D., Virginia Polytechnic Institute and State University, 1993

Donald J. Morton, Jr., Ph.D., Louisiana State University, 1994

David W. Opitz, Ph.D., University of Wisconsin, Madison, 1995

Assistant Professors

Jesse V. Johnson, Ph.D., University of Maine, Orono, 2002

Yolanda J. Reimer, Ph.D., University of Oregon, 2002

Changwon Yoo, Ph.D., University of Pittsburgh, 2002

Lecturer

Mike O'Conner, M.S., The University of Montana, 1996

Emeritus Professors

Robert P. Banaugh, Ph.D., University of California, 1962

Spencer L. Manlove, M.S., San Jose State University, 1959

James Ullrich, Ph.D., Southern Illinois University, 1969

Emeritus Associate Professor

Jerry D. Esmay, M.S., University of Texas, El Paso, 1971

Gene F. Schiedermayer, M.S., Southern Methodist University, 1971

Ronald E. Wilson, Ph.D., University of Chicago, 1975