Department of Mathematics and Computer Science

http://www.umsl.edu/~mathcs/

Faculty

A Prabhakar Rao., Professor*, Chairperson
Ph.D., University of California, Berkeley
Charles Chui, Distinguished Professor*
Ph.D., University of Wisconsin
Raymond Balbes, Professor Emeritus*
Ph.D., University of California, Los Angeles
William Connett, Professor Emeritus*
Ph.D., University of Chicago
Richard Friedlander, Professor*, Associate Chairperson
Ph.D., University of California, Los Angeles
Deborah Tepper Haimo, Professor Emerita*
Ph.D., Harvard University
Wayne L. McDaniel, Professor Emeritus*
Ph.D., Saint Louis University
Stephen Selesnick, Professor Emeritus*
Ph.D., University of London
Jerrold Siegel, Professor*
Ph.D., Cornell University
Grant V. Welland, Professor Emeritus*
Ph.D., Purdue University
Sanjiv K. Bhatia, Associate Professor*
Ph.D., University of Nebraska-Lincoln
Haiyan Cai, Associate Professor*
Ph.D., University of Maryland
Ronald Dotzel, Associate Professor*
Ph.D., Rutgers University
Cezary Janikow, Associate Professor*
Ph.D., University of North Carolina at Chapel Hill
Qingtang Jiang, Associate Professor
Ph.D., Peking University
Kyungho Oh, Associate Professor*
Ph.D., Purdue University
Frederick Wilke, Associate Professor Emeritus*
Ph.D., University of Missouri-Columbia
Shiying Zhao, Associate Professor*
Ph.D., University of South Carolina
Galina N. Piatnitskaia., Affiliate Associate Professor
Ph.D.,  Moscow Physical-Technical Institute
Uday K. Chakraborty, Assistant Professor*
Ph.D., Jadavpur University
Wenjie He, Assistant Professor*
Ph.D., University of Georgia
Hyung Woo Kang, Assistant Professor
Ph.D. KAIST
Martin Pelikan, Assistant Professor
Ph.D., University of Illinois at Urbana-Champaign
Donald E. Gayou, Affiliate Assistant Professor
Ph.D., Iowa State University
John Antognoli, Senior Lecturer; Coordinator of Evening Program
M.A., University of Missouri-St. Louis
Monica L. Brown, Lecturer
M.S., Southern Illinois University, Edwardsville
Aarti Dahiya, Lecturer
M.S., University of Missouri-St. Louis
Preetam S. Desai, Lecturer
M.S., University of Missouri-St. Louis
Qiang Sun Dotzel, Lecturer
M.A., University of Missouri-St. Louis
Dorothy Gotway, Lecturer
M.A., University of Kansas-Lawrence
Marlene Gustafson, Senior Lecturer Emerita  `
M.A., Western Reserve University
Nazire Koc, Lecturer
M.S., Southern Illinois University, Carbondale
Mary Kay McKenzie, Senior Lecturer Emerita
M.S., Saint Louis University
Shahla Peterman, Senior Lecturer
M.S., University of Wisconsin-Madison
Gillian Raw, Senior Lecturer Emerita
M.A., Washington University
Emily Ross, Senior Lecturer
M.A., Saint Louis University
Paul Schneider, Senior Lecturer
M.A., Saint Louis University
Cynthia Siegel, Senior Lecturer Emerita
M.A., University of Chicago

*members of Graduate Faculty

General Information

Degrees and Areas of Concentration
The Department of Mathematics and Computer Science offers work leading to the B.A. in mathematics, the B.S. in  mathematics, the B.S. in computer science, and, in cooperation with the College of Education, the B.S.Ed. in secondary education with an emphasis in mathematics.  The department also offers minors in computer science, mathematics, and statistics.

At the graduate level, the department offers a Master of Arts (M.A.) degree in mathematics, a Master of Science (M.S.) degree in computer science and a Ph.D. in applied mathematics.

The program leading to the B.A. in mathematics provides a broad grounding in different areas of mathematics, giving students the depth necessary to pursue various aims such as graduate studies or other career choices.

The B.S. in mathematics provides a substantial background in mathematics, statistics and computer science to produce graduates who can work as mathematicians.  Both the B.A. and the B.S. in mathematics allow optional courses that enable the student to focus on areas of interest like pure or applied mathematics.

The B.S.Ed. in secondary education with an emphasis in mathematics introduces students to those branches of mathematics most relevant to the teaching of secondary- school mathematics.

The B.S. in computer science prepares students for employment in modern computing technology and careers in computer science.

Students pursuing the M.A. degree in mathematics may choose an emphasis in either pure or applied mathematics.  The pure mathematics emphasis is well suited for students preparing to teach at the high school, junior college, or four year liberal arts college level.  Those who concentrate on applied courses in the M.A. program build a foundation for the application of mathematics in industry and the continuation of their education in the Ph.D. program in applied mathematics.

The M.S. degree in computer science emphasizes practical aspects of the field.

The Ph.D. in applied mathematics prepares students for a leadership role involving research and development in both industrial and academic settings.

Students may enroll in any of these graduate programs on a part-time basis.

Career Outlook

A degree in mathematics or computer science prepares well-motivated students for interesting careers.

Our graduates find positions in industry, government, and education.  The demand for individuals well trained in statistics, computer science, and applied mathematics is greater than the available supply.  In addition, a number of graduates in mathematics have elected careers in business, law and other related fields where they find logical and analytical skills valuable.

Graduates in computer science and mathematics from UM-St. Louis are located throughout the country, and they also have a strong local presence.  They have careers in banking, health care, engineering and manufacturing, law, finance, public service, management, and actuarial management.  Many are working in areas such as systems management, information systems and data management, scientific computing, and scientific positions in the armed services.  Others have careers in education, especially at secondary and higher levels.

Department Scholarships
The Department of Mathematics and Computer Science offers two scholarships for students who are majoring in mathematics or computer science.

The Mathematical Sciences Alumni Scholarship is a monetary award for outstanding undergraduates at the junior or senior level. The Edward Z. Andalafte Memorial Scholarship is a monetary award for outstanding students at the sophomore level or higher, including graduate students. Applicants for each of these scholarships must have a grade point average of 3.5 or higher in at least 24 hours of graded course work at the University of Missouri-St. Louis, and show superior achievement in courses in the mathematical sciences. Application forms may be obtained from the Department of Mathematics and Computer Science. The deadline for application for both scholarships is March 15, and the scholarships must be used for educational fees or for books at UM-St. Louis starting in the fall semester following the application.

Undergraduate Studies

General Education Requirements
All majors must satisfy the university and appropriate school or college general education requirements. All mathematics courses may be used to meet the university’s general education breadth of study requirement in natural sciences and mathematics.

Satisfactory/Unsatisfactory Restrictions
Majors in mathematics and computer science may not take mathematical sciences or related area courses on a satisfactory/unsatisfactory basis. Students considering graduate study should consult with their advisers about taking work on a satisfactory/unsatisfactory basis.

Degree Requirements
All mathematical sciences courses presented to meet the degree requirements must be completed with a grade of C- or better. At least four courses numbered 3000(250) or above must be taken in residence. Students must have a 2.0 grade point average in the mathematical sciences courses completed.

Students enrolling in introductory mathematics courses should check the prerequisites to determine if a satisfactory score on the Mathematics Placement Test is necessary. The dates on which this test is administered are given in the Schedule of Classes. Placement into introductory courses assumes a mastery of two years of high school algebra.

A minimum grade of C- is required to meet the prerequisite requirement for any course except with permission of the department.

Note: Courses that are prerequisites for higher-level courses may not be taken for credit or quality points if the higher-level course has been satisfactorily completed.

Many students are qualified, as a result of having studied calculus in high school, to begin their major with Math 1900(175), Analytic Geometry and Calculus II, or Math 2000(180), Analytic Geometry and Calculus III.  These students are urged to consult with the department before planning their programs.  Credit for Mathematics 1800(80), Analytic Geometry and Calculus I, will be granted to those students who complete Mathematics 1900(175) with a grade of C- or better.

Similarly, students who are ready to begin their computer science studies with Computer Science 2250(225), Programming and Data Structures, will be granted credit for Computer Science 1250(125), Introduction to Computing, once they complete Computer Science 2250(225) with a grade of C- or better.

Degree Requirements in Mathematics

All mathematics majors in all undergraduate programs must complete the mathematics core requirements.

Core Requirements

 1)  The following courses are required:
 1800(80), Analytic Geometry and Calculus I
 1250(125), Introduction to Computing
 1320(132), Applied Statistics I
 1900(175), Analytic Geometry and Calculus II
 2000(180), Analytic Geometry and Calculus III
 2020(202), Introduction to Differential Equations
 2450(245), Elementary Linear Algebra
 3000(255), Discrete Structures
 4100(310), Advanced Calculus I

2) The related area requirements as described below must be satisfied.

Students seeking a double degree, either within this department or with another department, do not have to fulfill the related area requirements.

Bachelor of Arts in Mathematics
In addition to the core requirements and the College of Arts and Sciences’ foreign language requirement, three mathematics courses at the 4000(300) level or higher must be completed.  Of these, one must be

4400(340), Introduction to Abstract Algebra

B.S.Ed.  in secondary education with emphasis in mathematics.
In addition to the core requirements and the required education courses, three mathematics/statistics courses at the 4000(300) level or higher must be completed.  Of these, one must be

4400(340), Introduction to Abstract Algebra, and one must be chosen from:
4660(366), Foundations of Geometry or
4670(367), Introduction to Non-Euclidean Geometry

Bachelor of Science in Mathematics
In addition to the core requirements, the BS in Mathematics degree requires:

i) Completing all of the following:
4160(316), Functions of a Complex Variable
4400(340), Introductions to Abstract Algebra
4450(345), Linear Algebra

ii) Completing an additional three courses numbered above 4000(300) in mathematics, statistics or computer science, at least one of which must be in mathematics/statistics.

Degree Requirements in Computer Science
Candidates for the Bachelor of Science in Computer
Science degree must complete the following work:

1) Computer Science
1250(125), Introduction to Computing
2250(225), Programming and Data Structures
2700(240), Computer Systems: Architecture and Organization
2710(241), Computer Systems: Programming
3000(255), Discrete Structures
2260(274), Object-Oriented Programming with C++
2750(275), Advanced Programming with Unix
3130(278), Design and Analysis of Algorithms
4250(325), Programming Languages
4280(328), Program Translation Techniques
4760(376), Operating Systems

2) Mathematics and Statistics
 1800(80), Analytic Geometry and Calculus I
1900(175), Analytic Geometry and Calculus II
2000(180), Analytic Geometry and Calculus III
2450(245), Elementary Linear Algebra
1320(132), Applied Statistics I

3) Philosophy
4458(258), Ethics and the Computer

4) Five more elective courses, numbered above 4000(300) if in computer science, and above 2010(200) if in mathematics or statistics. At least three of these elective courses must be in computer science, and at least one must be in mathematics or statistics.

5) Satisfy the related area requirements as described below.

Related Area Requirements

Candidates for the B.A. in mathematics must satisfy the requirements in one of the groups below with a grade of C- or better.  Candidates for the B.S.Ed. in mathematics, B.S. in mathematics and B.S. in computer science must satisfy the requirements in two of the groups below with a grade of C- or better.

Candidates for the B.S. in computer science may not choose group 1. Candidates for the B.A. in mathematics, B.S.Ed. in mathematics, or B.S. in mathematics may not choose group 2 or 3.

Students seeking a double degree, either within this department or with another department, do not have to fulfill the related area requirements.

Related Area Courses
1) Computer Science:

Two courses from the following list:
2250(225), Programming and Data Structures
2700(240), Computer Systems: Architecture and Organization
3130(278), Design and Analysis of Algorithms
4140(314), Theory of Computation
4410(341), Computer Graphics
4440(344), Digital Image Processing

2) Mathematics (Analysis):
Two courses from the following list:
2020(202), Introduction to Differential Equations
4030(303), Applied Mathematics I
4100(310), Advanced Calculus
4160(316), Functions of a Complex Variable
4230(323), Numerical Analysis I

3) Mathematics (Algebra):

Two courses from the following list:
4350(335),Theory of Numbers
4400(340), Introduction to Abstract Algebra
4450(345), Linear Algebra
4550(355), Combinatorics

4) Statistics:
4200(320), Mathematical Statistics I
4210(321), Mathematical Statistics II

5) Biology:
2102(220), General Ecology

2103(222), General Ecology Laboratory
6) Biology:
2012(224), Genetics
4182(342), Population Biology

7) Chemistry:
1111(11), Introductory Chemistry I
1121(12), Introductory to Chemistry II

8) Chemistry:
3312(231), Physical Chemistry I
and another 3000(200)-level, or above, chemistry course.

9) Economics:
4100(365), Introduction to Econometrics,

and one of either:
4110(366), Applied Econometrics or
4130(367), Econometric and Time Series Forecasting

10) Philosophy:
3360(160), Formal Logic
3380(280), Philosophy of Science
4460(360), Advanced Formal Logic

11) Physics:
2111(111), Physics: Mechanics and Heat
2112(112), Physics: Electricity, Magnetism, and Optics

12) Physics:
3221(321), Mechanics
and another 3000(200) level, or above, physics course

13) Business Administration:
3320(252), Introduction to Operations Management
and one of  the following courses:
4330(308B), Production and Operations Management – Logistics
4324(308D), Production and Operations Management-Service Systems
4312(329), Business Forecasting
4326(330), Quality Assurance in Business
4350(375), Operations Research

14) Engineering:
2310(144), Statics
2320(145), Dynamics

Minor Requirements
The department offers minors in computer science, mathematics, and statistics. All courses presented for any of these minors must be completed with a grade of C- or better.

Minor in Computer Science
The requirements for the minor are:
1250(125), Introduction to Computing
2250(225), Programming and Data Structures
2700(240), Computer Systems: Architecture and Organization

and two additional courses computer science courses numbered above 2700(240).

A minimum of two computer science courses  numbered above 2700(240) must be taken in residence in the Department of Mathematics and Computer Science at UM-St. Louis.

Minor in Mathematics
The requirements for the minor are:
 1800(80), Analytic Geometry and Calculus I
1900(175), Analytic Geometry and Calculus II
2000(180), Analytic Geometry and Calculus III

and two additional three-hour mathematics courses numbered above 2400(240). A minimum of two mathematics courses numbered 2000(180) or above must be taken in residence in the Department of Mathematics and Computer Science at UM-St. Louis.

Minor in Statistics
The requirements for the minor are:
1320(132), Applied Statistics I
4200(320), Mathematical Statistics I

and two additional courses in statistics  numbered above 4200(320). A minimum of two statistics courses numbered above 2000(200) must be taken in residence in the Department of Mathematics and Computer Science at UM-St. Louis.

Graduate Studies

The Department of Mathematics and Computer Science offers an M.A. degree in mathematics, a Ph.D. degree in applied mathematics, and an M.S. degree in computer science.

Admission
Applicants must meet the general admission requirements of the Graduate School, described elsewhere in this Bulletin. Additional admission requirements for specific programs are listed below.

Mathematics Programs
Applicants must have at least a bachelor's degree in mathematics or in a field with significant mathematical content. Examples of such fields include computer science, economics, engineering and physics. An applicant’s record should demonstrate superior achievement in undergraduate mathematics.

Individuals may apply for direct admission to either the M.A. or Ph.D. program. Candidates for the M.A. degree may choose to concentrate in either pure or applied mathematics. A student in the M.A. program may petition the department for transfer to the Ph.D. program upon successful completion of 15 credit hours and fulfillment of additional requirements as listed below.

Students intending to enter the Ph.D. program must have a working ability in modern programming technologies. A student with a deficiency in this area may be required to take courses at the undergraduate level in computer science.

Applicants for the Ph.D. program must, in addition, submit three letters of reference and scores from the Graduate Record Examination (GRE) general aptitude test and the subject test in mathematics. Applicants who did not major in mathematics may substitute the subject test in another field.

Computer Science Program
Applicants for the M.S. Degree in Computer Science must have at least a bachelor's degree, preferably in computer science or in a related area. Students with bachelor's degrees outside computer science must demonstrate significant proficiency in computer science, either by taking the GRE subject area examination or by explicitly showing competence in the following areas.  Any area requirement can be satisfied through suitable experience or completed coursework, if approved by the Graduate Director.

  • Programming experience equivalent to at least two semesters, including knowledge of a modern structured language and a modern object-oriented language.
  • Elementary data structures.
  • Assembly language programming, computer architecture, or computer organization.
  • Design and analysis of algorithms
  • Basic knowledge of the Unix operating system and program development environment.

Students must also have completed mathematics courses equivalent to the following:
Two semesters of calculus.
Elementary linear algebra.
Discrete mathematical structures.
Elementary probability or statistics

A student missing some of the above requirements may be admitted on restricted status if there is strong supportive evidence in other areas. Special regulations of the Graduate School applying to students while they are on restricted status are described elsewhere in this Bulletin.

Preliminary Advisement
Incoming students are assigned advisers with whom they should consult before each registration period to determine an appropriate course of study. If necessary, students may be required to complete undergraduate course work without receiving graduate credit.

Degree Requirements

Master of Arts in Mathematics
Candidates for the M.A. degree must complete 30 hours of course work. All courses numbered below 400(5000) must be completed with grades of at least B. The courses taken must include those listed below in group A together with with additional courses discussed in B.

 Students who have already completed courses equivalent to those in A) may substitute other courses numbered above 4000(300). All substitutions of courses for those listed in A) require the prior approval of the graduate director.

A)  Mathematics core:
4100(310), Advanced Calculus
4160(316), Functions of a Complex Variable
4450(345), Linear Algebra

B)  M.A. candidates must also complete 15 hours of course work numbered 400(5000) or above, chosen with the prior approval of the graduate director.  Courses may be chosen to develop expertise in either pure or applied mathematics.

Thesis Option Part of B) may consist of an M.A. thesis  written under the direction of a faculty member in the Department of Mathematics and Computer Science. A thesis is not, however, required for this degree.  A student who wishes to write a thesis should enroll in 6 hours of Math 6900(490), M.A. Thesis.  Students writing an M.A. thesis must defend their thesis in an oral exam administered by a committee of three department members which includes the thesis director. 

Doctor of Philosophy in Applied Mathematics
The requirements for the Ph.D. degree include the following:

  1. Course work
  2. Ph.D. candidacy
  3. Doctoral dissertation

The requirements are described in detail below.

1. Course Work
A minimum of 60 hours of courses numbered 4000(300) or above.  At least 33 hours must be in courses numbered 5000(400) or above. All courses numbered below 5000(400) must be completed with a grade of at least B. Up to 9 hours can be in Math 7990(490), Ph.D. Dissertation Research. Courses outside the Department of Mathematics and Computer Science will require approval of the graduate director.

2. Advancement to Ph.D. Candidacy
Advancement to Ph.D. candidacy is a four-step process consisting of:

  1. Completing 18 hours of 5000(400) level courses other than Math 7990(499), Ph.D. Dissertation Research.
  2. Passing the comprehensive examinations.
  3. Selecting a Ph.D. committee and preparing a  dissertation proposal.
  4. Defending the dissertation proposal.

Qualifying Examination
A student must fulfill the following requirements.

Basic Requirement

Pass one written examination covering the fundamental topics from advanced calculus, complex variables and linear algebra-Math 4100(310), Math 4160(316), and Math 4450(345).  This examination would normally take place within the first 12 credit hours of study after admission to the Ph.D. program.

Additional Requirement

After fulfilling the basic requirement above, the student must meet one of the following:

  1. Pass a written examination in an area of the student’s interests.  This area will be approved by the graduate committee and will be based on a set of two or more graduate courses taken by the student.  This examination would normally take place within the first 24 credit hours of study after admission to the Ph.D. program.
  2. Write a survey paper in a specialized area under the direction of a member of the graduate faculty.  The student should propose to take this option when he/she has already finished at least 2 graduate level courses and has the approval of the graduate committee. The paper should be submitted within four semesters, at which time an oral examination given by a committee of at least three members of the graduate faculty must be passed.

Selection of a Ph.D. Committee and Preparation of a Dissertation Proposal.
The student is required to identify a dissertation adviser and an area of specialization for the dissertation. The area of specialization can be in a discipline complementary to mathematics. Usually, students select an adviser from contacts made through course work or in the seminar series. The adviser and student will then form a Ph.D. committee which may include faculty from other departments at UM-St. Louis. The committee advises the student on course work and research.

Each student must prepare a dissertation proposal. This is a substantial document describing the problem to be worked on and the methods to be used. It should also demonstrate the student's proficiency in written communication. The proposal is to be submitted to the Ph.D. committee for approval.

Dissertation Proposal Defense.  If the Ph.D. committee finds the student's dissertation proposal acceptable, a defense is scheduled. This is a public event in which the student demonstrates mastery of the necessary skills to begin research.

3. Dissertation and Dissertation Defense
Each Ph.D. candidate must write a dissertation which is an original contribution to the field on a topic approved by the candidate's Ph.D. Committee and the department, and which meets the standards and requirements set by the Graduate School including the public defense of the dissertation. Students working on a dissertation may enroll in Math 7990(499), Ph.D. Dissertation Research. A maximum of 9 hours in Math 7990(499) can be used toward the required hours of work in courses numbered 5000(400) or above.

Master of Science in Computer Science
Candidates for the M.S. degree in Computer Science must complete 30 hours of course work, subject to the Graduate School regulations. All courses numbered below 5000(400) must be completed with grades of at least B. Outside computer science, up to 6 hours of related course work is allowed upon permission of the Graduate Director. 

Students must receive credit in all areas of the following core requirements. Waiving or substituting for a specific requirement can be done on the basis of prior course work or experience at the discretion of the Graduate Director, but it will not reduce the total hours required for the degree.

  • Operating Systems, CS 4760(376) or CS 5760(476)
  • Programming Languages, CS 4250(325)
  • Computer Systems CS 5700(470)
  • Software Development, one of CS 5500(450), CS 5520(452), CS 5540(454), or CS 5560(456)
  • Advanced Data Structures and Algorithms, CS 5130(413)

Financial Assistance
Any student who intends to apply for financial assistance, in the form of a teaching assistantship or a research assistantship, is required to have three letters of recommendation submitted with the application to the graduate program in Mathematics or Computer Science. The application must include scores on the GRE general aptitude test. Applicants are also encouraged to submit scores in the GRE subject area test in Mathematics or Computer Science. Applications for financial assistance should be submitted before February 15 prior to the academic year in which the student expects to begin graduate study. Notifications of awards are generally made March 15, and students awarded financial assistance are expected to return letters of acceptance by April 15.

Career Outlook
Graduates from the Department of Mathematics and Computer Science have little difficulty in finding positions in industry, government, and education. The demand for individuals well-trained in statistics, computer science, and applied mathematics is greater than the available supply. In addition, a number of graduates in mathematics have elected careers in business and other related fields where they have found their logical and analytical skills to be well-rewarded.

Course Descriptions

Courses in this section are grouped as follows: Mathematics, Computer Science, and Probability and Statistics.

Students enrolling in introductory mathematics courses should check the prerequisites to determine if a satisfactory score on the Mathematics Placement Test is necessary. The dates on which this test is administered are given in the Schedule of Courses.

A minimum grade of C- is required to meet the prerequisite requirement for any course except with permission of the department.

Students who have earned 24 or more semester hours of credit at any accredited post-secondary institution(s) before the start of the fall 2002 semester must meet the general education requirements stipulated in the UM-St Louis 2001-2002 Bulletin.  The following courses fulfill the Natural Sciences and Mathematics breadth of study requirements as described in that Bulletin:

MATHEMATICS: 1020(20), 1030(30), 1035(35), *1150(50), 1070(70), 1080(80), 1100(100), 1102(102), 1105(105), *2510(151), **3520(152), 1900(175), 2000(180), 2020(202), 2450(245), 3000(255), 4030(303), 4060(306), 4100(310), 4110(311), 4160(316), 4230(323), 4240(324), 4270(327), 4350(335), 4400(340), 4410(341), 4450(345), 4500(350), 4550(355), 4580(358), 4620(362), 4640(364), 4660(366), 4670(367), 4800(380), 4890(389). COMPUTER SCIENCE:  1010(101), 1220(122), 1250(125), 1050(170), 2010(201), 2250(225), 2700(240), 2710(241), 3000(255), 2210(273), 2260(274), 2750(275), 3130(278), 4010(301), 4020(302), 4040(304), 4050(305), 4140(314), 4250(325), 4280(328), 4300(330), 4410(341), 4440(344), 4500(350), 4520(352), 4540(354), 4560(356), 4610(361), 4620(362), 4730(373), 4740(374), 4760(376), 4770(377), 4780(378), 4880(388), 4890(389). PROBABILITY AND STATISTICS: 1310(31), 1320(132), 2320(232), 4200(320), 4210(321), 4260(326), 4300(330), 4310(331), 4320(332), 4330(333)), 4390(339).

*Mathematics 1150(50) and 2510(151) fulfill this requirement only for students seeking the B.S. in education degree in Early Childhood Education, Elementary Education, and Special Education

**Mathematics 3250(152) fulfills this requirement only for students seeking the B.S. in education degree in middle school mathematics.

Mathematics

1020(20) Contemporary Mathematics (3) [MS]
Prerequisites: A satisfactory ACT Math score or a satisfactory score on the university’s mathematics placement examination.  Presents methods of problem solving, centering on problems and questions which arise naturally in everyday life. May include aspects of algebra and geometry, the mathematics of finance, probability and statistics, exponential growth, and other topics chosen from traditional and contemporary mathematics which do not employ the calculus. May be taken to meet the mathematical proficiency requirement, but may not be used as a prerequisite for other mathematics courses. Designed for students who do not plan to take Calculus. Credit will not be granted for Math 1020(20) if credit has been granted for Stat 1310(31), Math 1800(80), 1100(100), 1102(102), or 1105(105). Concurrent enrollment in Math 1020(20) and any of these courses is not permitted.

1030(30) College Algebra (3) [MS]
Prerequisites: A satisfactory ACT Math score or a satisfactory score on the university's mathematics placement examination. Topics in algebra and probability, polynomial functions, the binomial theorem, logarithms, exponentials, and solutions to systems of equations.

1035(35) Trigonometry (2) [MS]
Prerequisite: Math 1030(30) or concurrent registration. A study of the trigonometric and inverse trigonometric functions with emphasis on trigonometric identities and equations.

1070(70) Applied Mathematics of Interest (2)
Prerequisites: Math 1030(30). An introduction to the role of interest in applied mathematics. Topics include simple and compound interest, mathematics of annuities, amortization bonds, sinking funds, and mortgages.

1080(80) Analytic Geometry and Calculus I (5) [MS]
Prerequisites: Math 1030(30) and 1035(35), or a satisfactory ACT Math score along with a satisfactory score on the university's trigonometry examination, or a satisfactory score on both the university's mathematics proficiency examination and the university's trigonometry examination. This course provides an introduction to differential and integral calculus.  Topics include limits, derivatives, related rates, Newton’s method, the Mean-Value Theorem, Max-Min problems, the integral, the Fundamental Theorem of Integral Calculus, areas, volumes, and average values.

1100(100) Basic Calculus (3) [MS]
Prerequisite: Math 1030(30), or a satisfactory ACT Math score, or a satisfactory score on the university's mathematics proficiency examination. Introduction to plane analytic geometry and basic differential and integral calculus with application to various areas. No credit for Mathematics majors. Credit not granted for both Math 80(1800) and 100(1100).

1102(102) Finite Mathematics I (4)
Prerequisite: Math 1030(30), or a satisfactory ACT Math score, or a satisfactory score on the university's proficiency examination. Introductory logic and set theory, partitions and counting problems, elementary probability theory, stochastic processes, Markov chains, vectors and matrices, linear programming, and game theory.

1105(105) Basic Probability and Statistics (3) [MS]
Prerequisites: Math 1030(30), or a satisfactory ACT Math score, or a satisfactory score on the university's mathematics proficiency examination. An introduction to probability and statistics. Topics include the concept of probability and its properties, descriptive statistics, discrete and continuous random variables, expected value, distribution functions, the central limit theorem, random sampling and sampling distributions. Credit not granted for more than one of Stat 1310(31), Stat 1320(132) and Math 1105(105).

1150(50) Structure of Mathematical Systems I (3) [MS]
Prerequisites: 45 hours of college credit and one of the following: Math 1030(30), a satisfactory ACT Math score, or a satisfactory score on the university's mathematics proficiency examination. A study of sets, relations, functions, whole numbers, the integers and their properties, and the rational and real number systems. Credit will be granted only toward the B.S. in education degree in Early Childhood Education, Elementary Education, Middle School Education and Special Education.

1320(132) Applied Statistics I (3)
Prerequisites:  Math 1800(80) or 1100(100) or equivalent.  See Statistics 1320(132) in Probability and Statistics section that follows.

1900(175) Analytic Geometry and Calculus II (5)
Prerequisite: Math 1800(80). Topics include conic sections, rotations of axes, polar coordinates, exponential and logarithmic functions, inverse (trigonometric) functions, integration techniques, applications of the integral (including mass, moments, arc length, and hydrostatic pressure), parametric equations, infinite series, power and Taylor series.

2000(180) Analytic Geometry and Calculus III (5)
Prerequisite: Math 1900(175). Topics include vectors, cylindrical and spherical coordinates, vector-valued functions, arc length and curvature, functions of several variables, partial and directional derivatives, gradients, extrema, Lagrange multipliers, multiple integrals, change of variables, surface area, vector fields, Stokes’ Theorem.

2020(202) Introduction to Differential Equations (3)
Prerequisite: Math 2000(180). Topics will be chosen from linear differential equations, equations with constant coefficients, Laplace transforms, power series solutions, systems of ordinary differential equations.

2320(232) Applied Statistics II (3)
Prerequisite: Stat 1320(132) Same as Stat 2320(232) See Stat 2320(232) in Probability and Statistics section that follows.

2450(245) Elementary Linear Algebra (3)
Prerequisites: Math 1100(100) or 1900(175). An introduction to linear algebra. Topics will include complex numbers, geometric vectors in two and three dimensions and their linear transformations, the algebra of matrices, determinants, solutions of systems of equations, eigenvalues and eigenvectors.

2510(151) Structure of Mathematical Systems II (3) [MS]
Prerequisite: Math 1150(50). An introduction to probability and statistics. An intuitive study of elementary geometry. Introduction to the deductive theory of geometry and to coordinate geometry. Credit will be granted only toward the B.S. in education degree in Early Childhood Education, Elementary Education, Middle School Education and Special Education.

3000(255) Discrete Structures (3)
Prerequisite: Math 1900(175) or 1100(100), and CS 1250(125) or equivalent. Same as CS 2250(255) Treats fundamental ideas in discrete structures and serves as a foundation for subsequent course in both Mathematics and Computer Science. Provides an introduction to techniques of mathematical reasoning with examples derived from computer science. Topics include logic, set algebra, equivalence relations and partitions, functions, mathematical induction, elementary number theory, cardinality, recurrence relations, basic combinatorial methods, trees and graphs. Credit not granted for more than one of CS 2250(255) and Math 3000(255).

3520(152) Structure of Mathematical Systems III (3)[MS]
Prerequisite:  Math 2510(151).  Together with Math 1150(50) and 2510(151), this course teaches mathematics necessary for middle school mathematics certification. Topics from Math 1150(50) and 2510(151) are continued. Other topics include geometric constructions, similarity, coordinate geometry, normal distribution, combinatorics, and trigonometry. Credit granted only toward B.S. in Education degree in Early Childhood Education, Elementary Education, Special Education, and Middle School Education.

4030(303) Applied Mathematics I (3)
Prerequisites: Math 2020(202) and 2450(245). Topics chosen from Fourier series, special functions, partial differential equations, and boundary value problems.

4060(306) Applied Differential Equations (3)
Prerequisite: Math 2020(202) and 2450(245). The study of ordinary differential equations and partial differential equations is continued with applications in such areas as physics engineering and biology.

4100(310) Advanced Calculus I (3)
Prerequisite: CS/Math 3000(255) and 2000(180). Limits, continuity, and differentiability of functions of one and several variables, sequences and series, and the Riemann Stieltjes integral.

4110(311) Advanced Calculus II (3)
Prerequisite: Math 4100(310). Continuation of Math 4100(310). 

4160(316) Functions of a Complex Variable (3)
Prerequisite: Math 2020(202) or both CS/Math 3000(255) and Math 2000(180). Complex numbers and their geometrical representation, point sets, analytic functions of a complex variable, complex integration, Taylor and Laurent series, residue theorem, conformal mapping.

4230(323) Numerical Analysis I (3)
Prerequisites: Math 2020(202), 2450(245), and ability to program in an upper-level language. Solutions of equations, interpolation and approximation, numerical differentiation and integration, and numerical solution of initial value problems in ordinary differential equations. Selected algorithms will be programmed for solution on computers.

4240(324) Numerical Analysis II (3)
Prerequisite: Math 4230(323) or consent of instructor. Topics chosen from: the numerical solution of systems of linear  equations; the eigenvalue/eigenvector problem; numerical solution of Partial Differential Equations (PDE); numerical solution of stiff Ordinary Differential Equations (ODE); boundary value problems; sparse matrix methods; approximation theory; optimization theory; digital filters; integral equations.

4270(327) The Calculus of Variations (3)
Prerequisites: Math 2020(202) and 4100(310). Methods for optimizing functionals and their application. The Euler-Lagrange condition. Hamilton's principle, two dimensional variational problems, and isoperimetric problems. Approximate methods for the solution of variational problems.

4350(335) Theory of Numbers (3)
Prerequisite: CS/Math 3000(255) and Math 2000(180) or consent of instructor. Properties of integers, multiplicative functions, congruences, primitive roots, and quadratic residues.
4400(340) Introduction to Abstract Algebra I (3)
Prerequisite: CS/Math 3000(255) and Math 2000(180) or consent of the department. Introduction to groups, rings, and fields, with emphasis on groups and rings.

4410(341) Introduction to Abstract Algebra II (3)
Continuation of Math 4400(340) with emphasis on fields.

4450(345) Linear Algebra (3)
Prerequisites: CS/Math 3000(255), Math 2000(180) and Math 2450(245). Topics selected from vector spaces, bases, linear transformations, matrices, canonical forms, eigenvalues, hermitian and unitary matrices, inner product spaces, and quadratic forms.

4500(350) Special Readings (1-10)
Prerequisites: CS/Math 3000(255), Math 2000(180) and consent of instructor. 

4550(355) Combinatorics (3)
Prerequisite: CS/Math 3000((255) and Math 2000(180). Advanced counting methods are introduced, including the use of generating functions for the solution of recurrences and difference equations. Additional topics may include: graphs and trees, combinatorial designs, combinatorial games, error-correcting codes, and finite-state machines.

4580(358) Mathematical Logic (3)
Prerequisite: CS/Math 3000(255) and Math 2000(180) or Philosophy 4460(360). A study of the logic of mathematics by the axiomatic method, with a development of the propositional calculus and restricted predicate calculus emphasizing its application to the foundations of mathematics.

4620(362) Projective Geometry (3)
Prerequisites: CS/Math 3000(255), Math 2000(180) and Math 2450(245). Analytic approach to the study of projective spaces. Theorems of Desargues, Pascal, and Brianchon. Projective properties of conics.

4640(364) Introduction to Differential Geometry (3)
Prerequisite: CS/Math 3000(255) and Math 2000(180). Geometry of curves and surfaces in Euclidean three-space. Calculus on a surface. Intrinsic geometry of surfaces.

4660(366) Foundations of Geometry (3)
Prerequisite: CS/Math 3000(255) and Math 2000(180) or consent of department. A development of portions of Euclidean geometry from a selected set of axioms, including a discussion of consistency, independence, categoricity, and completeness of the axioms.

4670(367) Introduction to Non-Euclidean Geometry (3)
Prerequisite: CS/Math 3000(255) and Math 2000(180) or consent of the department. A summary of the history of the non-Euclidean geometries and a study of hyperbolic plane geometry.

4800(380) Introduction to Topology (3)
Prerequisite: CS/Math 3000(255) and Math 2000(180) or consent of the department. A study of topological spaces, including the concepts of limit, continuity, connectedness, compactness, etc. Special emphasis placed on, and examples taken from, the space of real numbers.

4890(389) Topics in Mathematics (3)
Prerequisite: Consent of instructor. A seminar on special topics in mathematics to be determined by the interests of the instructor. May be repeated for credit provided different topics are studied.

5010(401) Theory of Ordinary Differential Equations (3)
Prerequisite: Math 4100(310).  A theoretical treatment of ordinary differential equations including the existence and uniqueness of solutions of differential equations and systems of differential equations. The course treats such topics as systems of linear differential equations, eigenvalue problems, autonomous systems, and boundary value problems.

5020(402) Classical Applied Mathematics (3)
Prerequisites: Math 4100(310), 4160(316), and 4450(345) or consent of instructor. The course gives the deriviation of equations of mathematical physics such as Navier-Stokes' equations, Euler's equations, equations of elastic materials, and equations of electrodynamics, using scaling and conservation principles. The course also includes elements of the calculus of variations, the Euler-Lagrange equations and Hamiltonian theory.

5040(460) Calculus of Variations (3)
Prerequisites: Math 2020(202), 4100(310) and 4450(345). Classical functionals, minimization of functionals, Euler-Lagrange equations, appropriate function spaces, weak solutions, existence of solutions, approximation theory, practical applications and finite element approach to solutions will be covered.

5050(405) Computational Curves and Surfaces (3)
Prerequisite: Math 4100(310), 4230(323) and 4450(345), or consent of instructor. Construction of curves and surfaces using subdivision algorithms. Iterative refinement of discrete data in an easily programmable manner. Discussion of issues of convergence, shape control, relation to spline functions with uniform knots, multi resolution analysis, and wavelets.

5060(406) Computational Harmonic Analysis (3)
Prerequisites: Math 4030(303), Math 4100(310), and Math 4450(345). The course covers the basic of Fourier analysis and wavelet analysis. Topics include Fourier transforms and series, discrete Fourier transform, discrete cosine transform ad their fast computational schemes, fast wavelet transform, and the lifting scheme. Additional topics include industrial standards for image compression and several aspects of signal processing.

5100(410) Theory of Functions of a Real Variable (3)
Prerequisites: Math 4100(310) and 4800(380). The real number system, properties of functions of one or more real variables, mapping theorems. Introduction to measure and integration theory.

5110(411) Differentiable Manifolds (3)
Prerequisites: Math 4100(310), 4450(345), and 4800(380). An introduction to smooth manifolds and maps. Topics will include the Implicit Function Theorem, Sard's Theorem, transversality, intersection and degree theory, differential forms and integration on manifolds.

5140(414) Set Theory and Metric Spaces (3)
Prerequisites: Math 4100(310) or consent of instructor. Naïve set theory, cardinal arithmetic, ordinal numbers, the axiom of choice and equivalents, metric spaces, convergence, continuity, compactness, contraction principles and applications.  Construction of completions and examples like the real numbers and p-adic numbers.  Other topics could include the Stone-Weierstrass theorem and metrizability theorems.

5160(416) Functions of a Complex Variable (3)
Prerequisites: Math 4100(310), 4160(316), and 4800(380). Complex numbers, topology of the complex plane, analytic functions, conformal mappings, Taylor series, Laurent series, complex integration, residues, analytic continuation, representation of analytic functions, elliptic functions, normal families, Riemann theorem, majorization.

5270(427) Numerical Linear Algebra (3)
Prerequisite: Math 4230(323) and Math 4450(345) or consent of the instructor. The course includes solution of general and special linear systems. Techniques include methods such as splitting or Krylov subspaces. Additional topics are the eigenvalue problem and the method of least squares.

5300(430) Partial Differential Equations (3)
Prerequisites: Math 4100(310), 4160(316), 4450(345), and 4800(380). Classification of partial differential equations; Cauchy, Dirichlet, and Neumann problems; the fundamental solution; existence theorems of potential theory; eigenvalue problems; and Tricomi's problem.

5320(432) Applied Statistics (3)
Prerequisites: Statistics 4210(321) or consent of instructor. The course studies classical and recently developed statistical procedures selected from areas including analysis of variance, multivariate analysis, nonparametric or semiparametric methods and generalized linear models. Emphasis is on application of procedures, including the rationale underlying choice of procedures.

5350(435) Operations Research-Deterministic Models (3)
Prerequisites: Math 4450(345) or equivalent.  Same as MSIS 7350(428). A study of deterministic methods and models in operations research. This course provides an introduction to operations research and focuses on model building, solution and interpretation of results. Topics include formulation, solution, duality and sensitivity analysis in linear programming, integer programming, network flow models, nonlinear optimization, and dynamic programming.

5360(436) Operations Research-Stochastic Models (3) Prerequisites: Stat 4200(320) or equivalent.  Same as MSIS 7352(429). A study of stochastic methods and models in operations research. Provides an introduction to probabilistic models for decision making under uncertainty. Topics include stochastic processes, queuing theory and models, probabilistic inventory theory and models, Markovian decision problems, simulation and reliability.

5370(437) Quality Management (3)
Prerequisite: MSIS 5300(481) or Stat 4200(320) or consent of instructor.  Same as MSIS 5326(430). An applied course on total quality management. Quality improvement approaches are presented and the managerial implications and responsibilities in implementing these approaches are discussed. Topical coverage includes the construction and interpretation of control charts, graphical methods, quality function deployment, robust experiments for product design and improvement, mistake-proofing (poke-yoke), the Deming approach, Baldridge award criteria, quality cost audits, worker empowerment and reward systems. Cases involving both business processes and physical processes are used to illustrate successful quality improvement efforts.

5420(442) Algebra (3)
Prerequisites: Math 4400(340) and 4450(345). Basic fundamentals of the theory of groups, rings and fields.

5500(450) Directed Readings (1-6)
Prerequisite: Consent of instructor. Independent readings at an advanced level.

5550(452) Topics in Advanced Mathematics for the Teacher (3)
Prerequisite: Consent of instructor. This course will look at various topics in algebra, analysis, and geometry that will deepen a teacher's understanding of the mathematics of the precollegiate curriculum. It can be taken more than once for credit.

5600(404) Topics in Computation (3)
Prerequisite: Consent of instructor. The course will cover various advanced topics in computation and can be taken more than once for credit. Examples of such topics are: computer graphics, computer architecture, theories of language, analysis of operating systems, numerical geometry and computer aided design, etc.

5700(403) Topics in Applied Mathematics (3)
Prerequisite: Consent of instructor. The course will cover various advanced topics in applied mathematics, and can be taken more than once for credit. Examples of such topics are: Fast transforms, digital filters, etc.

5710(418) Topics in Analysis (3)
Prerequisite: Consent of instructor. Topics selected from the areas of Fourier analysis, harmonic analysis, Hilbert spaces, Banach algebras, special functions, generalized functions, partial differential equations. May be taken more than once for credit with consent of department.

5720(423) Topics in Numerical Analysis (3)
Prerequisite: Consent of instructor. The course will cover various advanced topics in numerical analysis and can be taken more than once for credit. Examples of such topics are: A.D.I. Techniques for solving p.d.e., finite element techniques, the algebraic eigenvalue problem, the software, etc.

5800(488) Topics in Topology (3)
Prerequisite: Consent of instructor. The course will cover topics selected from algebraic or differential topology and may be taken more than once for credit with the consent of the department.

5810(439) Topics in Number Theory (3)
Prerequisite: Consent of instructor. Topics selected from elementary, algebraic, analytic, and other branches of number theory. Examples of topics include the distribution of primes, the Riemann Zeta function, averages of arithmetic functions, the theory of partitions, ideal theory, and representations of integers by quadratic forms.

5820(448) Topics in Algebra (3)
Prerequisite: Consent of instructor. Topics selected from the theory of groups, rings, fields, algebras, and other algebraic systems. May be taken more than once for credit with consent of department.

6070(407) Time-Frequency Analysis (3)
Prerequisites: Math 5060(406). The course covers theoretical and practical aspects of several time-frequency methods. Included are linear transformations such as filtering, Zak, Gabor and wavelet transforms; bilinear transformations include the Winger-Ville distribution and other distributions of Cohen's class. Statistical methods of feature extraction and applications to signal compression are outlined as well.

6080(408) Advances in Wavelet Analysis (3)
Prerequisite: Math 5060(406). The course describes recent developments in several research areas connected with wavelet analysis. Included are frames, wavelet vectors, wavelet packets, wavelets on compact intervals and manifolds, adaptive (nonlinear) methods, and methods of computational physics. Applications include the sparsification of matrices, denoising and compression of signals.

6200(420) Probability Theory (3)
Prerequisite: Math 5100(410) may be taken concurrently. Combinatorial analysis, random walks, stochastic independence, random variables, laws of large numbers, generating functions, and branching processes.

6440(444) Lie Groups (3)
Prerequisites: Math 4400(340) and 5110(411). The course provides an introduction to Lie Groups, Lie Algebras, and their representations.

6600(428) Topics in Probability Theory (3)
Prerequisite: Consent of instructor. The course will cover advanced topics in probability theory and may be taken more than once for credit with the consent of the department

6700(470) Functional Analysis (3)
Prerequisites: Math 4450(345) and 5100(410). Algebraic and topological tools applied to problems in analysis. The topics chosen will usually include topological vector spaces, metric spaces, Banach spaces, Hilbert spaces, and Banach algebras.

6900(490) Master's Thesis (1-6)
Prerequisite: Consent of instructor. Thesis work under the supervision of a faculty member. The course is designed for those students intending to present a thesis as part of their M.A. program. Students who do not write a thesis cannot apply Math 6900(490) to a degree.

7990(499) Ph.D. Dissertation Research (1-9)
Prerequisites: Completion of comprehensive exams. May be taken for no more than nine hours.

Computer Science

1010(101) Introduction to Computers and the Internet (3)
Prerequisites: Same as for Math 1020(20) and Math 1030(30). Covers basic concepts and components of a PC, including microprocessor, disk, display, multimedia, printers, scanners, backup; survey of popular applications including e-mail, personal information managers, word processors, spreadsheets; brief discussion of computer languages; networking, terminology, methods for accessing information on remote computers; dialup access to computers including use of modems; overview of the Internet, popular browsers, World Wide Web, search engines, FTP, utilities, Hyper Text Markup Language, tools for Web page construction, security, privacy. Credit not granted for both CS 1010(101) and BA 1800(103).

1015(102a) Web Structures I (1)
Prerequisites: CS 1010(101) and Math 1030(30) or equivalent.  Introduction to Web page design and management using software such as GoLive.  Topics include graphical user interfaces, page templates and dynamic Web page publishing.

1016(102b) Web Structures II (1)
Prerequisites: CS 1015(102a or equivalent) Introduction to Java and Java Script. This is a project oriented course using Java and software such as GoLive for Web page design and Internet programming.

1050(170) User Interface Design and Event-Driven Programming with Visual Basic (3)
Prerequisite: Computer Science 1250(125) or knowledge of some programming language and consent of the instructor. This course explores programming in Visual Basic for event-driven applications. Design and implementation of graphical user interfaces (GUI) are explored as primary examples. Additional topics may include DDE, OLE, and interactions with databases.

1220(122) Computers and Programming (3)
Prerequisite: Math 1800(80) or 1100(100), or a grade of at least B in Math 1030(30). An overview of a computer system is presented. Structured design techniques are considered and applied to the development of computer programs. Aspects of the FORTRAN language will be studied including basic data types, subroutines and functions, arrays, and files. Credit not granted for both BA 1804(104) and CS 1220(122). 

1250(125) Introduction to Computing (3)
Prerequisite: Math 1800(80) or 1100(100), or a grade of at least B in Math 1030(30). An overview of a computer system is presented. Structured design techniques are considered and applied to the development of computer programs. Aspects of a high level language such as Pascal or C will be studied, including elementary and advanced data types and subprograms. Various features of the UNIX operating system will also be discussed.

2010(201) An Introduction to Java and Internet Programming (3)
Prerequisite: Math 1030(30). Introduces the Java programming language and its use in Internet programming. This course will involve programming assignments in Java and their interface with browsers using applets. Students will also be exposed to the Java’s windows toolkit -- the AWT. A brief introduction to object-oriented programming concepts will be provided. Other topics will include threads, virtual machines, byte code, and the Java security model.

2210(273) The C Programming Language (3)
Prerequisite: CS 2250(225) or the equivalent. The C language is introduced together with the associated tools which make up the UNIX C programming environment. The course is project-oriented and a portion of the practical work will involve UNIX systems programming. This course is intended for students who have completed the equivalent of CS 1250(125) and CS 2250(225) but without the C language. It may not be taken for credit if the student has taken CS 2250(225) with C.

2250(225) Programming and Data Structures (3)
Prerequisite: CS 1250(125). A continuation of CS 1250(125). Advanced programming techniques including recursion, divide-and-conquer, and backtracking will be considered. A discussion of dynamic data structures such as lists, binary trees, stacks, queues, and symbol tables will be presented. An introduction to modular programming, program specification and verification, and analysis of algorithms will be given.

2260(274) Object Oriented Programming with C++ (3)
Prerequisite: CS 225(2250). Introduces object-oriented concepts, terminology, and notation. The C++ language is explored, including topics such as dynamic memory, exception handling, function and class templates, operator overloading, inheritance, polymorphism, and generic programming with the standard template library. Additional topics may include GUI libraries.

2700(240) Computer Systems: Architecture and Organization (3)
Prerequisite: CS 2250(225). Introduces details of computer systems from architectural and organizational points of view. Topics discussed may include data representation, digital logic and basic circuits such as ALU, multiplexers, decoders, flip-flops, registers, RAM and ROM memory, memory hierarchies, I/O devices, pipelining, parallel and RISC architectures, etc.

2710(241) Computer Systems: Programming (3)
Prerequisite: CS 2700(240). Continues introduction of computer systems, with assembly programming and its application. Topics covered may include addressing modes, stack manipulations and applications for reentrant and recursive modules, memory interfacing, I/O device interfacing, and serial and parallel communication.

2750(275) Advanced Programming with Unix (3)
Prerequisite: CS 2250(225). Exploration of the Unix operating system, including its tools and utilities for program development, such as makefile, piping and redirection, shell scripts, regular expressions, and symbolic debuggers. In addition, this course explores advanced features of the C programming language, including various file processing, command-line and variable arguments, exception handling and generic interfacing.

3000(255) Discrete Structures (3)
Prerequisites: Math 1900(175) or 1100(100), and CS 1250(125) or equivalent.  Same as Math 3000(255). Treats fundamental ideas in discrete structures and serves as a foundation for subsequent course in both Mathematics and Computer Science. Provides an introduction to techniques of mathematical reasoning with examples derived from computer science. Topics include logic, set algebra, equivalence relations and partitions, functions, mathematical induction, elementary number theory, cardinality, recurrence relations, basic combinatorial methods, trees and graphs. Credit not granted for more than one of CS 3000(255), Math 250, and Math 3000(255).

3130(278) Design and Analysis of Algorithms (3)
Prerequisites: CS 2250(225), CS/Math 3000(255), Math 2450(245) and Stat 1320(132). Addresses the design and mathematical analysis of fundamental algorithms in computer science. Algorithms studied may involve search, sorting, data compression, string manipulation, graph traversal and decomposition, and algebraic and numeric manipulation.

4010(301) Web Programming Techniques (3)
Prerequisites: CS 2750(275). Provides an introduction to Web page development using current technologies such as HTML and XML. Programming in such languages as Perl, CGI scripting, Java script and Java. The current Web servers are compared for issues such as technology, capacity planning, and installation.

4020(302) Java and Internet Programming (3)
Prerequisites: CS 3010(301). A projects-oriented course using the Java programming language for Internet programming. The course focuses on current technologies in Java such as GUI toolkits, threads, the Java security model, and JavaBeans. Other topics may include sockets, IO Streams, server-side Java, and remote method invocation. 

4040(304) Electronic Commerce Protocols (3)
Prerequisites: CS 2750(275) and Math 2450(245). Provides a technical introduction to electronic commerce over the Internet, examining topics such as electronic data interchange, digital currency, and electronic catalogs. The course discusses technical issues such as telecommunications infrastructure, data warehousing, software agents, and storage retrieval of multimedia information. Other topics may include cryptographic techniques as applicable to web-site development, management of data in a secure manner, authentication and confidentiality, different levels of security (transaction, network, and protocol), and digital signatures.

4050(305) User Interface Development (3)
Prerequisites: CS 2750(275). Focuses on user interface design standards as a programming problem. It covers topics such as functional vs. aesthetic concerns, elegance and simplicity, interference between competing elements, visual variables, perceptual organization for visual structure, grid-based design of module and program, semiotics with images and representation.

4140(314) Theory of Computation (3)
Prerequisites: CS 3130(278). Covers finite state machines and pushdown automata, and their relationship to regular and context-free languages. Also covers minimization of automata, Turing machines, and undecidability. Other topics may include Church's Thesis, uncomputability, computational complexity, propositional calculus and predicate calculus.

4250(325) Programming Languages (3)
Prerequisites: CS 2260(274). A study of the principles of modern programming languages. The students perform a comparative study of syntax, semantics, and pragmatics of high-level programming languages. Also provides a discussion of list-processing, object-oriented, functional, procedural, or other programming paradigms.

4280(328) Program Translation Techniques (3)
Prerequisites: CS 2700(240), CS 2260(274), CS/Math 3000(255), Math 2450(245). Looks at the theory of programming languages as well as the theory of program translation as a means for dealing with the conceptual gap introduced by the levels of abstraction. Program translation mechanisms are studied as a means to explore the tradeoff between language expressiveness, translation, and execution effectiveness. Particular attention is paid to compilers, with emphasis on constraints induced by syntax and semantics.

4300(330) Introduction to Artificial Intelligence (3)
Prerequisites: CS 2260(274), CS 2750(275) and CS 3130(278). An overview of AI applications is presented. An AI programming language, such as Prolog or Lisp, is introduced. Fundamental AI problem solving techniques are applied to heuristic search and game playing. An introduction to knowledge representation and expert systems is given. Topics such as theorem proving, neural networks, and natural language processing may also be studied.

4410(341) Computer Graphics (3)
Prerequisites: CS 2260(274), CS 2750(275) and CS 3130(278). The basic architecture of various types of graphics systems is presented. Also presents a detailed description of the basic algorithms for 2-dimensional and 3-dimensional graphics systems. Algorithms for shading, hidden line removal, and rendering in the 3-D systems will be examined. The course involves significant project work.

4440(344) Digital Image Processing (3)
Prerequisites: CS 2260(274), CS 2750(275) and CS 3130(278). Focuses on low-level image processing data structures and algorithms for binary image processing, region and texture analysis, image filtering, edge detection, and contour following. Other topics include coding for storage, retrieval, transmission, and image restoration.

4500(350) Software Engineering (3)
Prerequisites: CS 2260(274) and CS 2750(275). Introduces software engineering as a discipline, discusses stages of software lifecycle, compares development models such as waterfall, prototyping and incremental/iterative, and compares structured and object-oriented methods. It also discusses software documentation, both internal and external verification/validation, quality assurance, testing methods, maintenance, project management and team structure, metrics, and available tools.

4520(352) Object-Oriented Analysis and Design (3)
Prerequisites: CS 4500(350). Concentrates on modeling using a visual language such as UML, in the context of a generic object-oriented development process. Discusses the object world, analysis/design goals as the driving development force, different system views, use cases, static and dynamic models, diagrams, modeling with patterns, and principles of responsibility assignments. The course may be supplemented with a CASE tool.

4540(354) Software System Architectures (3)
Concerned with the design, modeling, and evaluation of complex software systems at the architectural level of abstraction. Covers basic principles of architectural system design, and may cover topics such as multi-tiered and packaged architectures, model-view and model-service separation, design supports for distributed and client-server applications, design patterns, package interfaces, notation, persistence, and GUI frameworks.

4560(356) Software Development Processes (3)
Prerequisites: CS 4500(350) or CS 4520(352). This course is an in-depth study of software development processes, in the context of an actual project. Discussion includes object-oriented processes such as Rational Unified Process, as well as process management issues such as scheduling, risk-assessment, various metrics, and the selection of appropriate development methodology and tools.

4610(361) Database Management Systems (3)
Prerequisites: CS 2750(275) and CS 3130(278). Presents the foundations, concepts and principles of database design. Various models of data representation are considered, including the hierarchical and relational models. Also considers some of the implementation issues for database systems.

4620(362) Information Retrieval (3)
Prerequisites: CS 2750(275) and CS 3130(278). Presents deterministic models of information retrieval systems, including conventional Boolean, fuzzy set theory, p-norm, and vector space models. Other topics include probabilistic models, text analysis and automatic indexing, automatic query formulation, system-user adaptation and learning mechanisms, evaluation of retrieval, review of new theories and future directions, and intelligent information retrieval.

4730(373) Computer Networks and Communications (3)
Prerequisite: CS 2750(275) and Statistics 1320(132). Communication systems will be considered in the context of the ISO standard for systems interconnection. Various types of networks will be studied including wide area networks, local area networks, and fiber optic networks.

4740(374) Client-Server Architectures (3)
Prerequisites: CS 2750(275) and Math 2459(245). Studies communications systems in the context of the ISO standard for systems interconnection. There is hands-on exposure to development of client-server applications.

4760(376) Operating Systems (3)
Prerequisites: CS 2750(275), CS 2700(240), Statistics 1320(132) and Math 2450(245). Studies the structure of a generic operating system, considering in detail the algorithms for interprocess communication, process scheduling, resource management, memory management, file systems, and device management. Topics in security may also be examined. Examples from pertinent operating systems are presented throughout, and use of the algorithms in modern operating systems is examined. Substantial practical work, using the UNIX operating system is required.

4770(377)) Operating Systems for Telecommunications (3)
Prerequisites: CS 4520(352) or MS/IS 6806(423). The structure of a general operating system will be studied. The various components, including the interface with the underlying hardware, will be considered in detail. UNIX and Windows/NT will be considered as case studies throughout the course. The course will also emphasize hands on experience as a power user of at least one modern operating system.

4780(378) Systems Administration and Computer Security (3)
Prerequisites: CS 2750(275). Identifies and studies major issues of relevance to systems and networks management. Covers a wide range of topics from a basic primer on networking topics from the systems perspective to advanced technical issues of user authentication, encryption, and mail privacy. Discusses the latest advances in network management tools and computer security protocols.

4880(388) Individual Studies (1-3)
Prerequisites: CS 2750(275) and consent of instructor. Allows a student to pursue individual studies under the supervision of a faculty member. May include development of a software project. May be repeated for credit.

4890(389) Topics in Computer Science (3)
Prerequisite: Consent of instructor. A seminar on special topics in computer science to be determined by recent developments in the field and the interests of the instructor. May be repeated for credit with departmental consent.

5130(413) Advanced Data Structures and Algorithms (3)
Prerequisites: An elementary course in analysis of algorithms or consent of the instructor. This course covers analysis of time and space complexity of iterative and recursive algorithms along with performance bounds, design of data structures for efficient performance, sorting algorithms, probabilistic algorithms, divide and conquer strategies, various algorithms on graphs, and NP completeness.

5320(432) Introduction to Evolutionary Computation (3)
Prerequisite: CS 4300(330), or consent of instructor. This course introduces the concepts of nature-inspired problem solving population dynamics, Darwinian selection, and inheritance. It discusses problems applicable to evolutionary algorithms, overviews the existing models and instances, and analyzes specific instances such as genetic algorithms and genetic programming.

5340(434) Introduction to Machine Learning (3)
Prerequisite: CS 4300(330), or consent of instructor. This course introduces both symbolic and sub-symbolic approaches to machine intelligence. Specific topics covered may include data mining, supervised learning such as decision trees, and approximate methods such as fuzzy reasoning.

5360(436) Expert Systems (3)
Prerequisites: CS 4300(330), or consent of instructor. This course concentrates on issues related to building expert systems mimicking human-level expertise, including knowledge engineering processes leading to the design, construction, and evaluation of systems, relevant languages, tools, and shells, as well as representation, quality, and inference methods.

5380(438) Introduction to Neural Networks (3)
Prerequisites: CS 4300(330) or consent of instructor. This course introduces the concepts of connectionism, along with algorithms for simulating neural networks, discussion of alternative networks architectures and training algorithms. 

5400(440) Computer Vision (3)
Prerequisites: Graduate standing and consent of instructor. This course introduces computational models of visual perception and their implementation on computer systems. Topics include early visual processing, edge detection, segmentation, intrinsic images, image modeling, representation of visual knowledge, and image understanding.

5420(442) Visual Data Processing (3)
Prerequisites: Graduate standing and consent of instructor. This course introduces low-level concepts and techniques used in image processing, including methods for image capture, transformation, enhancement, restoration, and encoding.

5440(444) Pattern Recognition (3)
Prerequisites: Graduate standing and consent of instructor. This course provides an introduction to statistical decision theory, adaptive classifiers, and supervised and unsupervised learning. Different types of pattern recognition systems are introduced, including transducers, feature extractor, and decision units. Students are exposed to the application of the techniques to optical character recognition, speech processing, and remote sensing.

5500(450) Software Engineering (3)
Prerequisites: Graduate standing and consent of the instructor. This course introduces software engineering as a discipline, discusses stages of the software lifecycle, compares development models such as waterfall, prototyping and incremental/iterative, and compares structured and object-oriented methods. It also discusses software documentation, both internal and external, verification/validation, quality assurance, testing methods, maintenance, project management and team structure, metrics, and available tools. Topics are the same as CS 4500(350) but material is covered at a greater depth and additional projects are required. Credit not granted for both CS 4500(350) and CS 4400(450).

5520(452) Object Oriented Analysis and Design (3)
Prerequisites: CS 4500(350), CS 5500(450), or consent of the instructor. This course concentrates on modeling using a visual language such as UML, in the context of a generic object-oriented development process. It introduces the object world, analysis/design goals as the driving development force, different system views, use cases, static and dynamic models, diagrams, modeling and patterns, and principles of responsibility assignments. The course may be supplemented with a CASE tool. Topics are the same as CS 352(4520) but material is covered at a greater depth and additional projects are required. Credit not granted for both CS 352(4520) and CS 452(5520).

5540(454) Software Systems Architectures (3)
Prerequisites: One of the following: CS 4500(350), CS 5500(450), CS 4520(352), CS 5520(452), or consent of the instructor. This course is concerned with the design, modeling, and evaluation of complex software systems at the architectural level of abstraction. It covers basic principles of architectural system design, and may cover topics such as multi-tiered and packaged architectures, model-view and model-service separation, design support for distributed and client-server applications, design patterns, package interfaces, notation, persistence and GUI frameworks. Topics are the same as CS 4540(354) but material is covered at a greater depth and additional projects are required. Credit not granted for both CS 4540(354) and CS 5540(454).

5560(456) Software Development Processes (3)
Prerequisites: One of the following: CS 4500(350), CS 5500(450), CS 4520(352), CS 5520(452), or consent of the instructor. This course is an in-depth study of software development processes, in the context of an actual project. Discussion will include object-oriented processes such as the Rational Unified Process, as well as process management issues such as scheduling, risk-assessment, various metrics, and the selection of appropriate development methodology and tools. Topics are the same as CS 4560(356) but material is covered at a greater depth and additional projects are required. Credit not granted for both CS 4560(356) and CS 5560(456).

5610(461) Advanced Databases (3)
Prerequisites: Graduate standing and consent of instructor. This course is an in-depth study of database techniques, including normalization theory, object-oriented databases, statistical databases, distributed databases, and failure recovery. The course will also involve substantial readings from the current literature.

5620(462) Intelligent Information Retrieval (3)
Prerequisites: CS 4300(330) or consent of instructor. This course studies the use of AI techniques for the development of adaptive information retrieval systems. Techniques for analysis of information by statistical syntactical, and logical methods are also studied. Topics related to multimedia information are also discussed.

5640(464) Multimedia Information Systems (3)
Prerequisites: CS 4410(341) or CS 5400(440). This course studies the technical and human issues related to the design, construction, and use of computer programs that combine text, audio, video, graphics, animation, and graphical user interfaces. It also surveys applications and tools.

5700(470) Computer Systems (3)
Prerequisites: Background in computer organization or architecture or consent of instructor. This course focuses on parallel computing architectures, including RISC, pipelining, vector processing, SIMD, MIMD, and array processing. It introduces different memory and I/O subsystems, hardware description languages, and it demonstrates performance enhancement using different architectures studied. 

5730(473) Client/Server Computing (3)
Prerequisite: CS 4770(377) or MSIS 6836(496). The course will study communications systems in the context of ISO standards for systems interconnection. There will be hands on exposure to development of client-server applications.

5740(474) Parallel and Distributed Computing (3)
Prerequisites: Background in computer organization or architecture, or consent of instructor. This course introduces the fundamentals of parallel computation and algorithm design. It discusses general techniques for designing efficient parallel algorithms for fixed-connection parallel network architectures such as arrays, trees, and hypercubes.

5760(476)) Advanced Operating Systems and Network Management (3)
Prerequisites: CS 4760(376) or consent of instructor. This course provides a survey of contemporary operating systems principles, including overall design strategies for operating systems. The course also discusses communication and synchronization techniques for concurrent processes, and statistical analysis of job scheduling, process scheduling, I/O scheduling, and memory management.

5780(427) Systems Administration (3)
Prerequisite: CS 4760(376) or 4770(377) and MSIS 6838(496). The course will identify and study major issues of relevance to systems and networks management. It covers a wide range of topics from a basic primer on networking topics from the systems perspective to advanced technical issues of user authentication, encryption, and mail privacy. The course will discuss the latest advances in network management tools and computer security protocols.

5870(487) Computer Science Seminar (1-3)
Prerequisites: Graduate standing and consent of instructor. This is a seminar on various topics. Substantial student reading and participation is expected. It may be taken more than once for credit with the consent of the department.

5880(488) Computer Science Independent Project (1-3)
Prerequisites: Graduate standing and consent of instructor. This course offers the student an opportunity to work on an adviser-supervised project, individually or in a group. A student may repeat the course for up to 6 credit hours total, but at most 6 hours can be accumulated for CS 5880(488) and CS 6900(490).

5890(489) Topics in Computer Science (1-3)
Prerequisites: Graduate standing and consent of instructor. This course offers various topics not offered on a regular basis. It may be taken more than once for credit with the consent of the department.

6900(490) Thesis (1-6)
Prerequisites: Completion of at least 12 graduate credits and approval of research topic by thesis adviser. This course is designed for those students intending to present a thesis as part of their M.S. program. At most 6 hours can be accumulated for CS 5880(488) and CS 6900(490).

Probability and Statistics

1310(31) Elementary Statistical Methods (3)
Prerequisite: Math 1030(30), or a satisfactory ACT Math score, or a satisfactory score on the university’s mathematics proficiency exam.  An introduction to the basic ideas and tools of statistics. Introductory data analysis, statistical modeling, probability and statistical inference. Includes topics in estimation, prediction, and hypothesis testing. A major focus of the course in the analysis of data using a computer software package such as SAS. A student may not receive credit for more than one of Statistics 1310(31), Statistics 1320(132), and Math 1105(105).

1320(132) Applied Statistics I (3)
Prerequisite: Math 1800(80) or 1100(100) or equivalent. This is the first course of a one-year sequence in introductory probability and statistics.  It provides a comprehensive introduction to those models and methods which are most likely to be encountered by students in their careers in applied mathematics and the sciences.  Topics include descriptive statistics, basics of probability theory, random variables and their distributions, sampling distributions, confidence intervals, and hypothesis testing for population means and population proportions.  A student may not receive credit for more than one of Statistics 1320(132), Statistics 1310(31) and Math 1105(105).

2320(232) Applied Statistics II (3)
Prerequisite: Statistics 1320(132), or equivalent. This course is a continuation of Statistics 1320(132).  It provides a survey of a variety of important statistical methods which are useful in analyzing data.  Topics include single and multi-factor analysis of variance, simple and multiple linear regression, analysis of categorical data, and non-parametric statistical methods.

4200(320) Mathematical Statistics I (3)
Prerequisites: Statistics 1320(132) and Math 2000(180).  Introduction to theory of probability and statistics using concepts and methods of calculus.

4210(321) Mathematical Statistics II (3)
Prerequisite:  Statistics 4200(320).  Continuation of Statistics 4200(320).  Sampling distributions, estimation  theory, properties of estimators, hypothesis testing, Neyman-Pearson Theorem, likelihood ratio tests, introduction of analysis of variance and linear models.  Basics of some nonparametric procedures.

4260(326) Introduction to Stochastic Processes (3)
Prerequisite: Statistics 4200(320). Basic theory and applications of stochastic processes. Markov chains, martingales, recurrent and transient states, stationary distributions, ergodic theorem, renewal processes, discrete martingales and stationary processes.

4300(330) Multivariate Analysis (3)
Prerequisites: Math 2450(245) and Statistics 4200(320), or consent of instructor. Multivariate normal distribution and related sampling distributions. Procedures of statistical inference for the multivariate normal distributions, such as hypothesis testing, parameter estimations, multivariate regression, classification and discriminant analysis and principal components analysis.

4310(331) Analysis of Variance and Design of Experiments (3)
Prerequisites: Math 2450(245) and Statistics 4200(320) or consent of instructor.  An introduction to the analysis of variance with applications in completely randomized designs, randomized block designs, factorial experiments and split-plot type designs

4320(332) Regression Models in Statistics (3)
Prerequisites: Statistics 2320(232) or consent of instructor. A rigorous course focused on the applications of regression. The course is rigorous in that the basic regression models in one and several variables are carefully developed using matrix notation. Topics such as the extra sums of squares principle, the general linear hypothesis, and partial and sequential F-tests are carefully presented. The course will focus on using these tools to analyze many different data sets.

4330(333) Nonparametric Methods in Statistics (3)
Prerequisite: Statistics 4200(320) or consent of instructor. An introduction to nonparametric statistical procedures. Order statistics, rank order statistics and scores, tests of goodness of fit, linear rank tests for the location and scale problems and applications.

4390(339) Topics in Probability and Statistics (3)
Prerequisite: Consent of instructor. A seminar on special topics in probability and statistics to be determined by the interests of the instructor. May be determined by the interests of the instructor. May be repeated for credit provided different topics are studied.