Undergraduate Studies
General Education Requirements
All department 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
All department majors 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 courses of the department presented to meet the degree requirements must be completed with a grade of C or better. At least four courses numbered 3000 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. 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 higherlevel courses may not be taken for credit or quality points if the higherlevel 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, Analytic Geometry and Calculus II, or MATH 2000, Analytic Geometry and Calculus III. These students are urged to consult with the department before planning their programs. Credit for MATH 1800, Analytic Geometry and Calculus I, will be granted to those students who complete MATH 1900 with a grade of C or better.
Similarly, students who are ready to begin their computer science studies with CMP SCI 2250, Programming and Data Structures, will be granted credit for CMP SCI 1250, Introduction to Computing, once they complete CMP SCI 2250 with a grade of C or better.
Declaring the Mathematics Major
Students seeking to major in mathematics are first designated as “premathematics majors” until they have completed both MATH 1900 and MATH 2000 or equivalent courses. Upon successful completion of these two courses with grades of C or better, students will be allowed to declare mathematics as their major. Each of these courses must be completed successfully within two attempts.
Degree Requirements in Mathematics
All mathematics majors in all undergraduate programs must complete the mathematics core requirements.
Core Requirements
 The following courses are required:
CMP SCI 1250 Introduction to Computing 3 MATH 1320 Introduction to Probability and Statistics 3 MATH 1800 Analytic Geometry And Calculus I 5 MATH 1900 Analytic Geometry And Calculus II 5 MATH 2000 Analytic Geometry And Calculus III 5 MATH 2020 Introduction to Differential Equations 3 MATH 2450 Elementary Linear Algebra 3 MATH 3250 Foundations of Mathematics 3 or CMP SCI 3130 Design and Analysis of Algorithms MATH 4100 Real Analysis I 3 Total Hours 33  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 level or higher must be completed. Of these, one must be MATH 4400, Introduction to Abstract Algebra
Bachelor of Science in Mathematics
In addition to the core requirements, the B.S. in Mathematics degree requires:
 Completing all of the following:
MATH 4160 Complex Analysis I 3 MATH 4400 Introduction To Abstract Algebra I 3 MATH 4450 Linear Algebra 3 Total Hours 9 
Completing an additional three courses numbered above 4000 in mathematics, statistics or computer science, at least one of which must be in mathematics/statistics.
Bachelor of Science in Mathematics with an Emphasis in Data Science
Core Requirements  
CMP SCI 1250  Introduction to Computing  3 
CMP SCI 2250  Programming and Data Structures  3 
MATH 1320  Introduction to Probability and Statistics  3 
MATH 1800  Analytic Geometry and Calculus I  5 
MATH 1900  Analytic Geometry and Calculus II  5 
MATH 2000  Analytic Geometry and Calculus III  5 
MATH 2020  Introduction to Differential Equations  3 
MATH 2450  Elementary Linear Algebra  3 
MATH 3250  Foundations of Mathematics  3 
MATH 4100  Real Analysis I  3 
Specialized Requirements  
MATH 4005  Exploratory Data Analysis with R  3 
MATH 4070  Introduction to Nonlinear Optimization  3 
MATH 4200  Mathematical Statistics I  3 
MATH 4210  Mathematical Statistics II  3 
MATH 4250  Introduction to Statistical Methods in Learning and Modeling  3 
Elective Requirements  12  
Choose two courses from the following list and two additional courses in mathematics, statistics or computer science numbered above 4000:  
Applied Statistics  
Introduction to Scientific Computation  
Introduction to Highdimensional Data Analysis  
Bayesian Statistical Methods  
Introduction to Statistical Computing  
Introduction to Stochastic Processes  
Linear Algebra  
Total Hours  63 
There are no related area requirements.
Computer Science majors who would like to pursue the B.S. in Mathematics (Emphasis in Data Science) are not required to take MATH 2020 and must:
a) complete all courses in the core requirements, except for MATH 4100 and may substitute MATH 3000 for MATH 3250
b) complete all courses in the specialized requirements and one from elective requirements.
Bachelor of Science in Mathematics with an Emphasis in Fiscal Mathematics
Core Requirements  
CMP SCI 1250  Introduction to Computing  3 
MATH 1320  Introduction to Probability and Statistics  3 
MATH 1800  Analytic Geometry And Calculus I  5 
MATH 1900  Analytic Geometry And Calculus II  5 
MATH 2000  Analytic Geometry And Calculus III  5 
MATH 2020  Introduction to Differential Equations  3 
MATH 2450  Elementary Linear Algebra  3 
MATH 3250  Foundations of Mathematics  3 
MATH 4200  Mathematical Statistics I  3 
MATH 4210  Mathematical Statistics II  3 
Specialized Requirements  
MATH 3010  Financial Mathematics I  3 
MATH 3020  Financial Mathematics II  3 
FINANCE 3500  Financial Management  3 
MATH 4005  Exploratory Data Analysis with R  3 
In addition, two further courses in mathematics, statistics or computer science numbered above 4000.  6  
Related Requirements  
ECON 4100  Introduction to Econometrics  4 
ECON 4110  Applied Econometrics  4 
or ECON 4130  Business and Economic Forecasting  
Complete two of the following courses:  6  
Computer Applications in Finance  
Investments  
Financial Engineering: Applying Derivatives  
Fixed Income Analysis  
Introduction to Financial Institutions and Financial Markets  
Total Hours  68 
Related Area Requirements for majors in Mathematics
Candidates for the B.A. in Mathematics must satisfy the requirements in one of the groups below with a grade of Cor better. Candidates for the B.S.Ed. in Mathematics and B.S. in Mathematics must satisfy the requirements in two of the groups below with a grade of Cor better.
If candidates choose group 2, then they cannot apply either of the two courses listed in that group towards the additional 4000 level mathematics courses (beyond the core requirements) that must be completed for each of these degrees.
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  
Select two of the following:  6  
Programming and Data Structures  
Computer Organization and Architecture  
Design and Analysis of Algorithms  
Theory of Computation  
Introduction to Computer Graphics  
Introduction to Digital Image Processing  
2) Statistics  
MATH 4200  Mathematical Statistics I  3 
MATH 4210  Mathematical Statistics II  3 
3) Biology  
BIOL 2102  General Ecology  3 
BIOL 2103  General Ecology Laboratory  2 
4) Biology  
BIOL 2012  Genetics  3 
BIOL 4182  Population Biology  3 
5) Chemistry  
CHEM 1111  Introductory Chemistry I  5 
CHEM 1121  Introductory Chemistry II  5 
6) Chemistry  
CHEM 3312  Physical Chemistry I  3 
And another 3000level, or above, chemistry course.  3  
7) Economics  
ECON 1001  Principles of Microeconomics  3 
ECON 1002  Principles of Macroeconomics  3 
ECON 4100  Introduction to Econometrics  4 
8) Philosophy  
PHIL 3360  Formal Logic  3 
PHIL 3380  Philosophy of Science  3 
9) Physics  
PHYSICS 2111  Physics: Mechanics and Heat  5 
PHYSICS 2112  Physics: Electricity, Magnetism, and Optics  5 
10) Physics  
PHYSICS 3221  Mechanics  3 
And another 3000 level, or above, physics course.  3  
11) Business Administration  
SCMA 3320  Advanced Supply Chain and Operations Management  3 
SCMA 4350  Prescriptive Analytics and Optimization  3 
12) Engineering  
ENGR 2310  Statics  3 
ENGR 2320  Dynamics  3 
B.S. Ed. in Secondary Education with Emphasis in Mathematics
The B.S. Ed. is a professional education degree designed for students who wish to pursue a teaching career in secondary schools. Much of the disciplinespecific coursework parallels the B.A. or B.S. degree in the discipline; however, the Missouri Department of Elementary and Secondary Education (DESE) requires specific coursework for teacher certification. Therefore, students interested in the B.S. Ed. should contact the advising office (OASIS) 3145165937 in the College of Education for disciplinespecific requirements. Note: To obtain teaching certification, DESE requires a 3.0 GPA in the discipline and professional education coursework, as well as a 2.75 GPA overall.
B.A. or B.S. in Mathematics with Master’s Level Coursework for Secondary Teacher Certification
In addition to the B.S. Ed., students may opt to complete a B.A. or B.S. degree in their discipline as an undergraduate, followed by admission to the Graduate School for Master’s level teaching certification. The College of Education has a oneyear accelerated program for postgraduate certification called Teach in 12, or students can choose a traditional path to certification. Graduate coursework for certification can apply towards a Master’s Degree in Secondary Education, with additional coursework. Students interested in Master’s Level teacher certification should contact the advising office (OASIS) 3145165937 in the College of Education. Note: To obtain teaching certification, DESE requires a 3.0 GPA in the discipline and professional education coursework, as well as a 2.75 GPA overall.
Declaring the Computer Science Major
Students seeking to major in computer science are first designated as “precomputer science majors” until they have completed CMP SCI 2750 or equivalent course. Upon successful completion of this course with a grade of C or better, students will be allowed to declare computer science as their major. This course must be completed successfully within two attempts.
Degree Requirements in Computer Science
Candidates for the B. S. Computer Science degree must complete the following work:
1) Computer Science Core  
CMP SCI 1250  Introduction To Computing  3 
CMP SCI 2250  Programming And Data Structures  3 
CMP SCI 2261  ObjectOriented Programming  3 
CMP SCI 2700  Computer Organization and Architecture  3 
CMP SCI 2750  System Programming and Tools  3 
CMP SCI 3010  Web Programming  3 
CMP SCI 3130  Design and Analysis of Algorithms  3 
CMP SCI 4250  Programming Languages  3 
CMP SCI 4280  Program Translation  3 
CMP SCI 4500  Introduction to the Software Profession  3 
CMP SCI 4760  Operating Systems  3 
2) Computer Science Electives  
Select five more elective computer science courses, numbered above 3000.  15  
3) Mathematics and Statistics  
MATH 1320  Applied Statistics I  3 
MATH 1800  Analytic Geometry And Calculus I  5 
MATH 1900  Analytic Geometry And Calculus II  5 
MATH 2450  Elementary Linear Algebra  3 
MATH 3000  Discrete Structures  3 
4) Additional Skills  
ENGL 3130  Technical Writing  3 
Total Hours  70 
There are no related area requirements for majors in Computer Science
Bachelor of Science in Computing Technology
Candidates for the B. S. Computing Technology degree must complete the following courses:
Core  
CMP SCI 1250  Introduction to Computing  3 
CMP SCI 2250  Programming and Data Structures  3 
CMP SCI 2261  ObjectOriented Programming  3 
CMP SCI 2700  Computer Organization and Architecture  3 
CMP SCI 2750  System Programming and Tools  3 
CMP SCI 3010  Web Programming  3 
CMP SCI 4010  Advanced Web Development with Java  3 
CMP SCI 4500  Introduction to the Software Profession  3 
CMP SCI 4610  Database Management Systems  3 
INFSYS 3844  Developing Business Applications in .NET  3 
INFSYS 3868  Secure Software Development  3 
Computer Science Electives  
Select five more elective computer science courses, numbered 3000 and above. (May use up to two information system courses as part of this requirement with permission of the department chair.)  15  
Mathematics and Statistics  
MATH 1320  Introduction to Probability and Statistics  3 
MATH 1800  Analytic Geometry and Calculus I  5 
MATH 3000  Discrete Structures  3 
Additional Skills  
ENGL 3130  Technical Writing (MOTR ENGL 110)  3 
Total Hours  62 
There are no related area requirements for majors in Computing Technology.
BS and MS Dual Degree in Computer Science
BS and MS Dual Degree in Computer Science
The Integrated BS/MS ("2+3") dual degree program involves dual credit for qualified undergraduate Computer Science students. It allows the students to concurrently earn credit for some graduate courses while working on their undergraduate degree, reducing the total hours needed for the subsequent MS degree by up to 12 credit hours.
Entry Requirements
Undergraduate majors can apply for provisional admission to this program if:
 They have completed at least 60 credit hours of coursework.
 Their overall GPA is 3.0 or higher.
 NonCS majors must at the same time become CS majors.
Upon acceptance to the program in the provisional status, the student continues to work toward his/her undergraduate degree in computer science.
After completion of a minimum of 90 hours and no more than 30 hours away from the undergraduate degree, a provisionally admitted student applies for formal admission to the graduate program. At this point, the student must meet the entry requirements for admission to the M.S. degree in Computer Science.
Degree Requirements
After acceptance into the program, the student continues to complete his/her undergraduate degree. The student is reclassified as a graduate student from the next semester and must pay graduate fees. The student will be assigned a graduate adviser to help optimize the transition to the graduate program. The student continues taking the undergraduate courses but is also allowed to take courses reserved for graduate students. The student completes all the courses to fulfill the requirements to complete his/her M.S. degree in Computer Science – but must also complete the undergraduate requirements. Up to 12 credit hours can be counted towards both the undergraduate and graduate degrees, substantially reducing the hours needed to complete the graduate program by itself.
A student may file for and receive the undergraduate degree at any time when all the requirements are completed, before or in the same semester in which the Master's degree is completed. A student must still complete all the requirements to get a B.S. degree, regardless of whether the student files for the degree or not. A student may choose to finish the studies just with a B.S.
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:
CMP SCI 1250  Introduction To Computing  3 
CMP SCI 2250  Programming And Data Structures  3 
Select three additional computer science courses numbered 2000 or above.  9  
Total Hours  15 
A minimum of two computer science courses numbered above 2000 must be taken in residence in the Department of Mathematics and Computer Science at UMSL.
Minor in Mathematics
The requirements for the minor are:
MATH 1800  Analytic Geometry And Calculus I  5 
MATH 1900  Analytic Geometry And Calculus II  5 
MATH 2000  Analytic Geometry And Calculus III  5 
Select two additional threehour mathematics couses numbered above 2400 ^{1}  6 
^{1}  excluding MATH 2510 
A minimum of two mathematics courses numbered 2000 or above must be taken in residence in the Department of Mathematics and Computer Science at UMSL.
Minor in Statistics
The requirements for the minor are:
MATH 4200  Mathematical Statistics I  3 
MATH 4210  Mathematical Statistics II  3 
Select two additional courses in statistics numbered above 3000  6  
Total Hours  12 
A minimum of two statistics courses numbered above 3000 must be taken in residence in the Department of Mathematics and Computer Science at UMSL.
Certificate in Actuarial Studies
Actuaries use the tools of economics, finance, and mathematics to evaluate and price risk. They are employed by insurance companies, pension funds, consulting firms, and a variety of other financial institutions. The actuarial profession has consistently been ranked as one of the most desirable professions in which to be employed. To become an actuary one must satisfy certain educational requirements, pass exams offered by the Society of Actuaries, and complete professional courses.
The Certificate in Actuarial Studies is designed to provide the education needed for entry level employment in the actuarial profession. Those who complete the certificate will satisfy some of the Validation by Educational Experience requirement of the Society of Actuaries and be prepared to take the first two actuarial examinations (P and FM).
Completion of the certificate requires the following courses. Please note that many of these courses have prerequisites so anyone pursuing the certificate should work carefully with an academic advisor.
Required Courses
FINANCE 3500  Financial Management  3 
FINANCE 3521  Financial Engineering: Applying Derivatives  3 
MATH 3010  Financial Mathematics I  3 
MATH 3020  Financial Mathematics II  3 
MATH 4200  Mathematical Statistics I  3 
MATH 4210  Mathematical Statistics II  3 
Total Hours  18 
Residency Requirement: Of the above required six courses at least five must be taken at the University of MissouriSt. Louis.
Certificate in Computer Programming
The undergraduate Certificate in Computer Programming is an 18 credit hour program. It is designed to provide a quick, yet broad training in technologies leading to secure and interesting careers in computer programming or education. Students majoring or minoring in Computer Science may not earn this certificate.
A minimum GPA of 2.5 is required for admission.
A minimum of four courses (12 hours) must be taken in residence at UMSL. Courses may be substituted with the permission of the department. For more information, students can contact the department chair or email info@arch.edu.
Required Courses  
CMP SCI 1250  Introduction to Computing  3 
CMP SCI 2250  Programming and Data Structures  3 
CMP SCI 2261  ObjectOriented Programming  3 
Elective Courses  9  
Choose three of the following:  
Computer Organization and Architecture  
System Programming and Tools  
Web Programming  
Design and Analysis of Algorithms  
Cyber Threats and Defense  
Advanced Web Development with Java  
ClientSide Technologies  
Introduction to Android Apps: Android Fundamentals  
Introduction to iOS Programming and Apps  
iOS Apps  
Database Management Systems  
Developing Business Applications in .NET  
Total Hours  18 
Certificate in Internet and Web
The undergraduate Certificate in Internet and Web is a sixcourse (18 credit hours) program. It is designed to provide a broad training in technologies related to the Internet and Web, with flexibility allowing a student to satisfy specific interests. A minimum GPA of 2.5 is required for admission.
Required:  
CMP SCI 3010  Web Programming  3 
CMP SCI 4010  Advanced Web Development with Java  3 
CMP SCI 4011  ClientSide Technologies  3 
CMP SCI 4012  Introduction to Enterprise Web Development  3 
Choose two of the following:  6  
Introduction to Android Apps: Android Fundamentals  
Introduction to Intelligent Web  
Database Management Systems  
Computer Networks and Communications  
Introduction to Cloud Computing  
ECommerce  
Total Hours  18 
A minimum of four courses must be taken in residence at UMSL. Courses may be substituted with the permission of the department. For more information, students can contact the department chair or email info@arch.umsl.edu.
Certificate in Data Science
The certificate program provides basic training on skills required for working in growing and popular fields involving data and data analysis. It provides both statistical and computational background while also allowing to focus on specific technologies. A student pursuing this certificate can choose from one of the two tracks, the computational track and the statistical track. Each track consists of three required courses (9 credit hours) plus three additional elective courses (9 credit hours).
Required Courses for the Computational Track:
CMP SCI 4340  Introduction to Machine Learning  3 
CMP SCI 4342  Introduction to Data Mining  3 
Choose one from the following:  3  
Exploratory Data Analysis with R  
Mathematical Statistics I 
Required Courses for the Statistical Track:
MATH 4200  Mathematical Statistics I  3 
MATH 4210  Mathematical Statistics II  3 
Choose one from the following:  3  
Introduction to Statistical Methods in Learning and Modeling  
Introduction to Machine Learning 
Electives for both tracks:
Select additional three courses from the following:  9  
Introduction to Intelligent Web  
Introduction to Artificial Intelligence  
Introduction to Evolutionary Computation  
Introduction to Machine Learning  
Introduction to Data Mining  
Introduction to Biological Data Science  
Introduction to Deep Learning  
Exploratory Data Analysis with R  
Introduction to Highdimensional Data Analysis  
Mathematical Statistics I  
Mathematical Statistics II  
Bayesian Statistical Methods  
Introduction to Statistical Computing  
Introduction to Statistical Methods in Learning and Modeling  
Introduction to Stochastic Processes 
Residency requirement: of the required six courses at least five must be taken at the University of Missouri – St. Louis. Elective courses may be substituted with the permission of the program director. For more information, contact the department chair or email info@arch.umsl.edu.
Certificate in Mobile and Ubiquitous Computing
The undergraduate Certificate in Mobile and Ubiquitous Computing is a sixcourse (18 credit hours) program. It is designed to provide training in technologies and framework for mobile apps and computing. A minimum GPA of 2.5 is required for admission.
Required Courses:  
CMP SCI 4020  Introduction to Android Apps: Android Fundamentals  3 
CMP SCI 4220  Introduction to iOS Programming and Apps  3 
CMP SCI 4222  iOS Apps  3 
CMP SCI 4792  Mobile and Ubiquitous Computing  3 
Choose two of the following:  6  
Advanced Web Development with Java  
Database Management Systems  
Introduction to Cloud Computing  
Total Hours  18 
A minimum of four courses must be taken in residence in the Department of Mathematics and Computer Science at UMSL. Courses may be substituted with the permission of the department. For more information, students can contact the department chair or email info@arch.umsl.edu.
Graduate Studies
The Department of Mathematics and Computer Science offers an M.A. degree in mathematics with emphasis in mathematics, a Ph.D. degree in mathematical and computational sciences (with options in mathematics, computer science, and statistics), 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. Students in the M.A. program who want to transfer to the Ph.D. program upon successful completion of 15 credit hours must fill out a new application through Graduate Admissions.
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 recommendation and scores from the Graduate Record Examination (GRE) general aptitude test.
Computer Science Programs
Applicants must have at least a bachelor’s degree, preferably in computer science or in a related area. Applicants with bachelor’s degrees outside of computer science must demonstrate significant proficiency in computer science by showing competence (proving related academic or professional experience, or taking a test) in the following areas. Courses in parenthesis are UMSL courses that can be used to fulfill the requirement.
Programming skills in C or C++ and Java (CMP SCI 1250 or CMP SCI 2250, and CMP SCI 2261)
Proficiency with ObjectOriented concepts and terminology (CMP SCI 2261)
Proficiency with dynamic data structures (CMP SCI 2250)
Proficiency with computer organization, architecture, or assembly level programming (CMP SCI 2700)
Proficiency with design and time/space analysis of algorithms (CMP SCI 3130)
Familiarity with Unix/Linux/OSX and with commandline scripting with tools (CMP SCI 2750)
Students must also have satisfactorily completed mathematics courses equivalent to the following UMSL courses:
Two semesters of calculus (MATH 1800 and MATH 1900)
A course in elementary linear algebra (MATH 2450)
A course in discrete mathematics (MATH 3000)
An elementary course in probability or statistics (MATH 1320)
A student missing some of the above requirements may be admitted on restricted status if there is strong supportive evidence in other areas. The student will have to take the missing courses, or otherwise demonstrate proficiency. Special regulations of the Graduate School that apply to students on restricted status are described in the UMSL 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.
Students interested in the Ph.D. program in mathematical and computational sciences with the computer science option must follow the requirements for that program and that option.
Degree Requirements
Master of Arts in Mathematics
Candidates for the M.A. degree must complete 30 hours of course work with at least 15 hours of courses numbered 5000 or above. All courses numbered below 5000 must be completed with grades of at least B. The selections of the courses numbered 5000 or above need the prior approval of the graduate advisor. The courses taken must include those listed below in the mathematics core and other seven mathematics courses numbered 4000 or higher with at least five courses numbered 5000 or above.
Students who have already completed courses equivalent to those in the core may substitute other courses numbered above 4000. All substitutions of courses for those listed in the core require the prior approval of the graduate director.
Thesis Option
Either for the mathematics option or for the data science option, the noncore course work 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, 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.
MATH 4100  Real Analysis I  3 
MATH 4160  Complex Analysis I  3 
MATH 4450  Linear Algebra  3 
Electives ^{1}  21  
Total Hours  30 
^{1}  Electives must be seven mathematics courses numbered 4000 or higher with at least five courses numbered 5000 or above. 
Master of Arts in Mathematics with an Emphasis and Data Science
Candidates for the M.A. degree must complete 30 hours of course work with at least 15 hours of courses numbered 5000 or above. All courses numbered below 5000 must be completed with grades of at least B. The selections of the courses numbered 5000 or above need the prior approval of the graduate advisor. The courses taken must include those listed below in the mathematics core and other seven mathematics courses numbered 4000 or higher with at least five courses numbered 5000 or above. For the data science option, the courses taken must include the datascience core courses listed below and five elective courses chosen from the listed below in the datascience electives. Up to 2 courses in the datascience electives can be substituted with other courses upon student’s request and graduate program director’s approval.
Students who have already completed courses equivalent to those in the core may substitute other courses numbered above 4000. All substitutions of courses for those listed in the core require the prior approval of the graduate director.
Thesis Option
Either for the mathematics option or for the data science option, the noncore course work 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, 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.
Core Courses  
MATH 4005  Exploratory Data Analysis with R  3 
MATH 4200  Mathematical Statistics I  3 
MATH 4210  Mathematical Statistics II  3 
MATH 5070  Nonlinear Optimization  3 
MATH 5250  Statistical Methods in Learning and Modeling  3 
Elective Courses  15  
Choose five of the following courses:  
Bayesian Statistical Methods  
Introduction to Stochastic Processes  
Scientific Computation  
Highdimensional Data Analysis  
Statistical Computing  
Topics in Statistics and its Applications  
Topics in Computation  
Advanced Topics in Nonlinear Optimization  
Machine Learning  
Data Mining  
Total Hours  30 
BA/BS and MA Dual Degree Program in Mathematics
This is an integrated BA/BS and MA ("2+3") dual degree program in Mathematics: it is designed to provide an opportunity for mathematics majors at the University of MissouriSt Louis (UMSL) with a strong academic record to start earning graduate work credit before actually completing their undergraduate degree and to shorten, or accelerate, the time required as graduate students to earn their master’s degree. A student in this program can apply up to 12 credit hours of 4000andabove level courses towards both programs.
Entry Requirements
 Undergraduate math majors can apply for provisional admission for this program if:
 They have completed at least 60 credit hours of coursework and
 Their GPA is 3.0 or higher.
Students submit their applications to the department. Once a student is admitted in this provisional status, the student continues to work toward his/her undergraduate degree until the student completes 90102 undergraduate credit hours. Meanwhile the student will be advised to complete the required courses for graduate admission.
 A provisionally admitted student is reviewed for formal admission after completing 90 undergraduate credit hours. Minimal requirements for admission include:
 GPA of 3.0 or higher at the time of the review
 MATH 1320, MATH 2020, MATH 2450, MATH 3250  all completed with a grade of B or higher.
A student’s application meeting the minimal requirements does not mean the student is automatically admitted in this program. The math graduate committee will review the application and make a decision. In case the application is approved, the student needs to complete a formal application for admission into the graduate program and is recommended for admission by the graduate committee.
Degree Program
 The current separate requirements for BA/BS and MA in math remain unchanged.
 Once the student is admitted in this program, the student is allowed to take graduate courses (paid with graduate fees).
 The student in this program can apply up to 12 credit hours of 4000andabove level courses towards both the bachelor and master’s degrees. The student may get the BA/BS and MA degrees at the same time.
 In case a student cannot complete the master’s degree for some reason, up to 12 credit hours of graduate level courses can be applied towards the BA/BS degree.
 Students will pay graduate fees for all courses after being admitted and starting the program.
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. Of these, at least 18 hours must be numbered 5000 or above, with at least one course numbered 6000 or above, chosen with the prior approval of the Graduate Director. All courses numbered below 5000 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 satisfy all of the following core requirements:
CMP SCI 4760  Operating Systems  3 
CMP SCI 4250  Programming Languages  3 
CMP SCI 5700  Computer Systems  3 
CMP SCI 5500  Software Engineering  3 
CMP SCI 5130  Advanced Data Structures And Algorithms  3 
Total Hours  15 
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.
Additionally, students must attend at least five different seminars or colloquium presentations in the department.
Thesis Option
Students may choose to write an M.S. thesis 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 CMP SCI 6900,Thesis. Students writing an M.S. 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 Mathematical and Computational Sciences
The program has three options:
 Mathematics Option
 Computer Science Option
 Statistics Option
The requirements for the Ph.D. degree include the following:
 Course work
 Ph.D. candidacy

Doctoral dissertation
The requirements are described in detail below.
 Course Work
A minimum of 60 hours of courses numbered 4000 or above.
In the Mathematics Option, at least 33 hours must be in courses numbered 5000 or above.
In the Computer Science Option, at least 45 hours must be in courses numbered 5000 or above.
In the Statistics Option, at least 33 hours must be in courses numbered 5000 or above.
At most 9 hours of a student’s enrollment in MATH 7990 (Dissertation Research) may be counted. Students are expected to maintain a 3.0 average on a 4.0 scale. All courses numbered below 5000 must be completed with a grade of at least B. Courses outside the Department of Mathematics and Computer Science will require approval of the graduate director.
When students who have earned a Master’s degree are admitted to the doctoral program, appropriate credits of course work may be applied toward meeting the requirements for the doctoral degree, subject to Graduate School regulations and the approval of the graduate director. The same applied to those with some appropriate graduate credits but without a completed Master’s degree.  Ph.D. Candidacy
Advancement to Ph.D. candidacy is a threestep process consisting of: Completing 18 hours of 5000 level courses other than MATH 7990, Ph.D. Dissertation Research.
 Passing the comprehensive examination.

Selecting a Ph.D. committee and preparing a dissertation proposal and defense of the proposal.
Qualifying Examination
A student must fulfill the following requirements.
Basic Requirement
Pass one written examination covering fundamental topics. This examination would normally take place within the first 12 credit hours of study after admission to the Ph.D. program.
Mathematics Option
Topics from real analysis, complex analysis, and linear algebra:
MATH 4100  Real Analysis I  3 
MATH 4160  Complex Analysis I  3 
MATH 4450  Linear Algebra  3 
Total Hours  9 
Computer Science Option
Topics from the theory of programming languages, operating systems, analysis of algorithms, and computer systems:
CMP SCI 4250  Programming Languages  3 
CMP SCI 4760  Operating Systems  3 
CMP SCI 5130  Advanced Data Structures And Algorithms  3 
CMP SCI 5700  Computer Systems  3 
Total Hours  12 
Statistics Option
Topics from real analysis, linear algebra, and mathematical statistics:
MATH 4100  Real Analysis I  3 
MATH 4450  Linear Algebra  3 
MATH 4200  Mathematical Statistics I  3 
MATH 4210  Mathematical Statistics II  3 
Total Hours  12 
Additional Requirement
After fulfilling the basic requirement above, the student must meet one of the following:
 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.
 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.
In both parts 1) and 2), the graduate committee will determine if the topics are consistent with the option that the student is pursuing.
Dissertation Committee and Dissertation Proposal
After completing the comprehensive examinations, each student chooses a dissertation advisor and prepares a Dissertation Proposal. Usually students choose an advisor from contacts made through their course work. The dissertation committee will be formed, and the student will meet with this committee for an oral defense of his/her dissertation proposal. The dissertation proposal is a substantial document describing the problem to be worked on and the methods to be used, as well as demonstrating the student’s proficiency in written communication.
Doctoral Dissertation
Each Ph.D. candidate must write a dissertation that 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, Ph.D. Dissertation Research. A maximum of 9 hours in MATH 7990 can be used toward the required hours of work in courses numbered 5000 or above.
BS and MS Dual Degree in Computer Science
The Integrated BS/MS ("2+3") dual degree program involves dual credit for qualified undergraduate Computer Science students. It allows the students to concurrently earn credit for some graduate courses while working on their undergraduate degree, reducing the total hours needed for the subsequent MS degree by up to 12 credit hours.
Entry Requirements
Undergraduate majors can apply for provisional admission to this program if:
 They have completed at least 60 credit hours of coursework.
 Their overall GPA is 3.0 or higher.
 NonCS majors must at the same time become CS majors.
Upon acceptance to the program in the provisional status, the student continues to work toward his/her undergraduate degree in computer science.
After completion of a minimum of 90 hours and no more than 30 hours away from the undergraduate degree, a provisionally admitted student applies for formal admission to the graduate program. At this point, the student must meet the entry requirements for admission to the M.S. degree in Computer Science.
Degree Requirements
After acceptance into the program, the student continues to complete his/her undergraduate degree. The student is reclassified as a graduate student from the next semester and must pay graduate fees. The student will be assigned a graduate adviser to help optimize the transition to the graduate program. The student continues taking the undergraduate courses but is also allowed to take courses reserved for graduate students. The student completes all the courses to fulfill the requirements to complete his/her M.S. degree in Computer Science – but must also complete the undergraduate requirements. Up to 12 credit hours can be counted towards both the undergraduate and graduate degrees, substantially reducing the hours needed to complete the graduate program by itself.
A student may file for and receive the undergraduate degree at any time when all the requirements are completed, before or in the same semester in which the Master's degree is completed. A student must still complete all the requirements to get a B.S. degree, regardless of whether the student files for the degree or not. A student may choose to finish the studies just with a B.S.
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.
Mathematics and Computer Science Department Program Outcomes
The Mathematics and Computer Science Department offers the following degrees and has identified what students will know and be able to do after completing each program. Explore this page to learn more about the opportunities each program provides. Click a shortcut to jump down to the program of interest.
Bachelor of Science (B.S.) in Computer Science
Bachelor of Arts (B.A.) in Mathematics
Bachelor of Science (B.S.) in Mathematics
Bachelor of Science (B.S.) in Mathematics with Data Science option
Bachelor of Science (B.S.) in Mathematics with Fiscal Mathematics option
Certificate in Data Science
Certificate in Internet and Web
Certificate in Mobile Apps and Ubiquitous Computing
Minor in Computer Science
Minor in Mathematics
Minor in Statistics
Bachelor of Science (B.S.) in Computer Science
Upon completion of a BS in Computer Science at the University of Missouri St. Louis, students will be able to:
 Apply logical reasoning, algorithmic and mathematical principles, and computer science theory to understand and solve a wide variety of computational problems
 Analyze computing problems, their size and scope, and inputoutput requirements
 Analyze, evaluate, and compare alternative solutions to computing problems, with particular reference to computational complexity, scalability, and usability
 Compare multiple generalpurpose programming languages and select and use the appropriate languages for specific applications
 Design, implement (code) and document solutions to computational problems
 Create software systems following specific design and performance requirements within practical constraints
 Implement Internet applications on client and server sides
 Work effectively in teams to design, implement and evaluate solutions to computational problems
 Effectively communicate computer science concepts and solutions, verbally and in writing
 Recognize and promote the professional, social, ethical and legal issues and responsibilities in the computing / software profession
Bachelor of Arts (B.A.) in Mathematics
 A successful undergraduate should, upon completion, be able to:
 Write clear, logically consistent proofs.
 Read, understand and assess the veracity of logical arguments or mathematical proofs.
 Reformulate problems or questions in relevant mathematical terms.
 Solve problems which involve analysis, algebra or linear algebra, elementary number theory, elementary probability or statistics.
 Demonstrate basic proficiency in speaking, reading and writing in a language in addition to English.
Bachelor of Science (B.S.) in Mathematics
A successful undergraduate should, upon completion, be able to:
 Write clear, logically consistent proofs.
 Read, understand and assess the veracity of logical arguments or mathematical proofs.
 Reformulate problems or questions in relevant mathematical terms.
 Solve problems which involve analysis, algebra or linear algebra, elementary number theory.
 Interpret, formulate and solve applied problems in probability and statistics.
 Interpret, formulate and solve applied problems in mathematics relating to annuities, bonds and derivative investments.
Bachelor of Science (B.S.) in Mathematics with Data Science option
A successful undergraduate should, upon completion, be able to:
 Write clear, logically consistent proofs.
 Read, understand and assess the veracity of logical arguments or mathematical proofs.
 Reformulate problems or questions in relevant mathematical terms.
 Solve problems which involve analysis, algebra or linear algebra, elementary number theory.
 Interpret, formulate and solve problems and assess data related questions from an advanced probabilistic and statistical viewpoint.
Bachelor of Science (B.S.) in Mathematics with Fiscal Mathematics option
A successful undergraduate should, upon completion, be able to:
 Write clear, logically consistent proofs.
 Read, understand and assess the veracity of logical arguments or mathematical proofs.
 Reformulate problems or questions in relevant mathematical terms.
 Solve problems which involve analysis, algebra or linear algebra, elementary number theory.
 Interpret, formulate and solve applied problems in probability and statistics.
 Interpret, formulate and solve applied problems in mathematics relating to annuities, bonds and derivative investments.
Certificate in Data Science
Upon completion of a Certificate in Data Science at the University of Missouri St. Louis, students will be able to:
 Identify, interpret, and manage the computational issues involved in the handling of large volumes of data
 Apply algorithmic principles and statistical theories to analyze datasets
 Build and evaluate databased models
 Apply machine learning techniques to datamining problems
Certificate in Internet and Web
Upon completion of a Certificate in Internet and Web at the University of Missouri St. Louis, students will be able to:
 Identify and implement techniques for communicating complex information on the Web
 Use Web languages to integrate media and user interaction
 Design and develop Internet applications
 Use the stateoftheart languages and frameworks on both server and client sides
Certificate in Mobile Apps and Ubiquitous Computing
Upon completion of a Certificate in Mobile Apps and Ubiquitous Computing at the University of Missouri St. Louis, students will be able to:
 Identify and implement techniques for communicating complex information in the Internet, particularly for mobile and wireless platforms
 Use appropriate programming languages and tools to integrate media and user interaction
 Design and develop applications in mobile and wireless computing, using representative mobile devices and platforms
 Assess and implement security principles in mobile applications
 Evaluate the quality and performance of mobile applications
Minor in Computer Science
Upon completion of a Minor in Computer Science at the University of Missouri St. Louis, students will be able to:
 Identify and interpret the basic computational issues in problem solving
 Apply the tools and techniques necessary for programming practice
 Use at least two generalpurpose programming languages for solving computational problems
 Design, implement (code) and document solutions to computational problems
Minor in Mathematics
A successful undergraduate should, upon completion, be able to:
 Reformulate problems or questions in relevant mathematical terms.
 Solve problems which involve algebra or calculus (of one or several variables).
Minor in Statistics
A successful undergraduate should, upon completion, be able to:
 Reformulate problems or questions in relevant statistical terms.
 Solve problems which involve probability or statistical concepts and procedures.
Sample Four Year Plans
Mathematics BA Mathematics BS Computer Science BS
Mathematics BA
First Year  

Fall  Hours  Spring  Hours 
INTDSC 1003^{1}  1  CMP SCI 1250  3 
ENGL 1100  3  MATH 1800  5 
MATH 1030  3  EXPLORE  Humanities & Fine Arts  3 
MATH 1035  2  EXPLORE  Social Sciences  3 
EXPLORE  Humanities & Fine Arts  3  CORE  US History & Government  3 
EXPLORE  Social Sciences  
12  17  
Second Year  
Fall  Hours  Spring  Hours 
MATH 1320  3  MATH 2000  5 
MATH 1900  5  Foreign Language 1001  5 
Cultural Diversity Requirement  3  EXPLORE  Social Sciences  3 
CORE  Communication Proficiency  3  EXPLORE  Math & Sciences  3 
EXPLORE  Humanities & Fine Arts  3  
17  16  
Third Year  
Fall  Hours  Spring  Hours 
MATH 3250  3  MATH 2020  3 
ENGL 3100  3  MATH 2450  3 
Foreign Language 1002  5  MATH 4000+ level course  3 
Elective or minor  3  Foreign Language 2101  3 
14  12  
Fourth Year  
Fall  Hours  Spring  Hours 
MATH 4100  3  MATH 4400  3 
MATH 4000+ level course  3  Related area course  3 
Related area course  3  Elective or minor  9 
Elective or minor  6  
15  15  
Total Hours: 118 
^{1}  INTDSC 1003 is required only for firsttime freshmen and transfer students with less than 24 college credits. 
Please Note: This plan is an example of what a four year plan could look like for a typical student. Placement exam scores in math as well as the completion of coursework may change the plan. It should not be used in the place of regular academic advising appointments. All students are encouraged to meet with their advisor each semester. All requirements are subject to change.
Mathematics BS
First Year  

Fall  Hours  Spring  Hours 
INTDSC 1003  1  MATH 1800  5 
ENGL 1100  3  CMP SCI 1250  3 
MATH 1030  3  Cultural Diversity Requirement  3 
MATH 1035  2  EXPLORE  Social Sciences  
General Education  3  Elective or minor  3 
CORE – Communication Proficiency  3  
15  14  
Second Year  
Fall  Hours  Spring  Hours 
MATH 1320  3  MATH 2000  5 
MATH 1900  5  EXPLORE  Humanities & Fine Arts  3 
CORE – US History & Government  3  EXPLORE  Social Sciences  3 
EXPLORE  Humanities & Fine Arts  3  EXPLORE  Math & Sciences  3 
EXPLORE  Social Sciences  
14  14  
Third Year  
Fall  Hours  Spring  Hours 
MATH 3250  3  MATH 2020  3 
ENGL 3100  3  MATH 2450  3 
General Education  6  CMP SCI/ MATH/ STAT 4000+ level course  3 
Related area course  3  
Elective or minor  3  
12  15  
Fourth Year  
Fall  Hours  Spring  Hours 
MATH 4100  3  MATH 4400  3 
CMP SCI/ MATH/ STAT 4000+ level course  3  MATH 4160  3 
MATH/STAT 4000+ level course  3  MATH 4450  3 
Related Area courses  6  Related Area courses  6 
15  15  
Total Hours: 114 
^{1}  INTDSC 1003 is required only for firsttime freshmen and transfer students with less than 24 college credits. 
Please Note: This plan is an example of what a four year plan could look like for a typical student. Placement exam scores in math as well as the completion of coursework may change the plan. It should not be used in the place of regular academic advising appointments. All students are encouraged to meet with their advisor each semester. All requirements are subject to change.
Computer Science BS
First Year  

Fall  Hours  Spring  Hours 
INTDSC 1003^{1}  1  CMP SCI 1250  3 
ENGL 1100  3  MATH 1800  5 
MATH 1030  3  EXPLORE – Social Sciences  3 
MATH 1035  2  CORE – US History & Government  3 
EXPLORE – Humanities & Fine Arts  3  EXPLORE – Humanities & Fine Arts  3 
EXPLORE – Social Sciences  3  
15  17  
Second Year  
Fall  Hours  Spring  Hours 
CMP SCI 2250  3  CMP SCI 2261  3 
MATH 1320  3  CMP SCI 2700  3 
MATH 1900  5  CMP SCI 2750  3 
EXPLORE – Math & Sciences  3  EXPLORE – Math & Sciences  35 
CORE – Information Literacy  3  CORE – Communication Proficiency  3 
17  1517  
Third Year  
Fall  Hours  Spring  Hours 
CMP SCI 3010  3  CMP SCI 4250  3 
MATH 2450  3  CMP SCI 3130  3 
MATH 3000  3  CMP SCI 3000+ level elective  6 
ENGL 3130  3  EXPLORE – Humanities & Fine Arts  3 
Valuing Skills Elective  3  
15  15  
Fourth Year  
Fall  Hours  Spring  Hours 
CMP SCI 4280  3  CMP SCI 4500  3 
CMP SCI 3000+ level elective  6  CMP SCI 4760  3 
Cultural Diversity Requirement  3  CMP SCI 3000+ level elective  3 
EXPLORE – Social Sciences  3  Elective or minor  6 
15  15  
Total Hours: 124126 
^{1}  INTDSC 1003 is required only for firsttime freshmen and transfer students with less than 24 college credits. 
Please Note: This plan is an example of what a four year plan could look like for a typical student. Placement exam scores in math as well as the completion of coursework may change the plan. It should not be used in the place of regular academic advising appointments. All students are encouraged to meet with their advisor each semester . All requirements are subject to change.
Computer Science Courses
CMP SCI 1011 Introduction to the Internet and World Wide Web: 3 semester hours
Intended for any student wishing to utilize the Internet and World Wide Web more effectively. Topics include networking basics, the Internet and World Wide Web, browsers, search engines, Web Services, utilities, tools, online privacy and security. Students will learn to develop a personal web page using skills acquired in the course.
CMP SCI 1012 Learning to Program Using Virtual Worlds: 3 semester hours
Introduces modern programming principles without requiring the knowledge of a traditional programming language. Instead, this course utilizes a novel graphical approach that enables the student to create, populate, and manipulate virtual 3dimensional worlds which resemble video games. The development of these worlds allows students to gain direct experience and skills in using computers to solve problems. Students will create worlds of varying complexity.
CMP SCI 1250 Introduction to Computing: 3 semester hours
Prerequisites: MATH 1030 or MATH 1045 with B or better, or MATH 1100, or MATH 1800, or a 70% on the proctored UMSL ALEKS Math Placement obtained at most one year prior to enrollment in this course. This course provides an introduction to the concepts of computation, problem solving, and computer systems. It covers fundamental programming constructs, basic data types, and modularization using a modern high level language. Problem solving skills are developed through a progression of programming projects.
CMP SCI 2250 Programming and Data Structures: 3 semester hours
Prerequisite: CMP SCI 1250. Continuation of CMP SCI 1250. Discusses properties and implementation of abstract data types such as lists, trees, stacks and queues. Introduces procedural and class abstraction, basic program architecture, use of interfaces, modular programming, and file processing.
CMP SCI 2261 ObjectOriented Programming: 3 semester hours
Prerequisite: CMP SCI 2250. Introduces objectoriented concepts, terminology, and notation (UML) using Java. Covers encapsulation, classes, objects, inheritance, and the use of class libraries. Additional topics may include graphical user interfaces, applets, and related tools and technologies.
CMP SCI 2700 Computer Organization and Architecture: 3 semester hours
Prerequisites: CMP SCI 2250 (can be taken concurrently). This course introduces details of computer systems from architectural and organizational points of view. It covers data representation, basic digital logic circuits, memory types and hierarchies, I/O and storage devices, CPU architectures such as RISC, CISC, parallel, and multicore.
CMP SCI 2750 System Programming and Tools: 3 semester hours
Prerequisites: CMP SCI 2250 and CMP SCI 2700 (CMP SCI 2700 can be taken concurrently). This course covers systems programming, scripting, libraries, utilities, and development tools. Additional programming topics include piping, binary files, exception handling, commandline arguments and symbolic debugging. This course also explores tools available in the Unix/Linux environments.
CMP SCI 3010 Web Programming: 3 semester hours
Prerequisites: CMP SCI 2261 (can be taken concurrently) or INFSYS 3806. This course provides a survey of current Web technologies including markup languages (such as HTML/XHTML, CSS, XML), client side languages (such as JavaScript), server side languages (such as PERL, PHP), and Web protocols. Clientserver computing projects are a course requirement.
CMP SCI 3130 Design and Analysis of Algorithms: 3 semester hours
Prerequisites: CMP SCI 2250, MATH 1320, and MATH 3000. This course addresses the design and analysis of fundamental algorithms in computer science. Studies basic sorting algorithms, priority queues, order statistics, search trees, and hash tables. Analysis techniques may involve time and space complexity analysis of both iterative and recursive algorithms, analysis of algorithm correctness, and amortized complexity analysis. Additional topics may include data compression, string manipulation, greedy algorithms, dynamic programming, and graph traversal.
CMP SCI 3200 .NET Framework: 3 semester hours
Prerequisites: CMP SCI 3010. This course introduces the .NET framework and related languages and technologies. Topics will include Visual Studio and C# for OOP and web applications. Additional topics may include ASP.NET with MVC, data access, and windows communication.
CMP SCI 3410 Video Game Design and Development: 3 semester hours
Prerequisites: CMP SCI 2261. This course covers major aspects of the design and development of video games, including world/level design, game UI design, game character design, game engine programming, 2D/3D modeling and rendering, game physics and animation. This is a projectbased course in which students learn to apply acquired knowledge and skills to building a video game in a team environment.
CMP SCI 3710 Assembly Language Programming: 3 semester hours
Prerequisite: CMP SCI 2700. Explores machine architecture concepts and principles through a study of assembly language programming. Topics covered include integer and floating point arithmetic, procedures, conditional processing, strings, macros, and interfaces to high level languages. Programming projects using a commercially available assembly language will be required.
CMP SCI 3760 Cyber Threats and Defense: 3 semester hours
Prerequisites: CMP SCI 2250. This course provides students with the basic foundation knowledge in various cyber threats, defense methods and mechanisms. For cyber threats, the course uses an adversary model (resources, capabilities, intent, motivation, access) to cover threats such as password cracking, backdoors, trojans, viruses, wireless attacks, sniffing, spoofing, session hijacking, denial of service, DDoS, BOTs, MAC spoofing, web app attacks, zeroday exploits, and vulnerabilities that enable them. Cyber threat topics include attack timing, social engineering, attack indication, attack trees, insider problem, covert channels, and threat information sources (e.g., CERT). Typical cyber defense mechanisms will also be covered including intrusion detection, honeypot and honeynets, network monitoring and traffic analysis, access control, DMZ and proxies, network hardening.
CMP SCI 3780 Software Security: 3 semester hours
Prerequisites: CMP SCI 2261, CMP SCI 2750, and CMP SCI 3010. This course introduces the basic software security principles and pitfalls, including topics such as buffer, integer and string problems, runtime errors, SQL and command injection. Additional topics may include data protection, secure file access, password and network security.
CMP SCI 3990 Undergraduate Internship in Computer Science: 3 semester hours
Prerequisites: Consent of Advisor. The internship provides for a student to attain field experience in an organization related to Computer Science. A student is engaged offcampus for an assignment of at least 320 hours working on a project as directed by his/her supervisor in the host organization. The project should be approved by the student's academic advisor, or a designated faculty member, who will monitor the student's progress. The course cannot be repeated for credit.
CMP SCI 4010 Advanced Web Development with Java: 3 semester hours
Prerequisites: CMP SCI 2261 and CMP SCI 3010; or graduate standing. This course covers more advanced Java topics, along with related concepts and technologies for Web development. Topics may include database connectivity, multi threading, security, networking, MVC pattern, testing and source control for Java applications, and serverside topics such as servlets and web servers.
CMP SCI 4011 ClientSide Technologies: 3 semester hours
Prerequisites: CMP SCI 3010. This course explores in depth the current stateoftheart frontend, clientside technologies, focusing on JavaScript. Topics may include MongoDB, AngularJS, React, jQuery, Node.js, Express.js, and CSS.
CMP SCI 4012 Introduction to Enterprise Web Development: 3 semester hours
Prerequisites: CMP SCI 4010. This course covers design and implementation issues for enterprise web development, and some popular advanced technologies. Topics include MVC and persistence frameworks, such as Spring and Hibernate. Other topics may include Java Web services, EJB, messaging standards such as JMS, and Java EE design patterns. Students will develop enterpriselevel web application projects. Credit cannot be earned for both CMP SCI 4012 and CMP SCI 5012.
CMP SCI 4020 Introduction to Android Apps: Android Fundamentals: 3 semester hours
Prerequisites: CMP SCI 4010, or consent of the instructor. This course covers the fundamental programming principles, software architecture and user experience considerations underlying handheld software applications and their development environments. Involves indepth, handson examples, implemented on the Android Platform, and discussion of security. Credit not granted for both CMP SCI 4020 and CMP SCI 5020.
CMP SCI 4030 Introduction to Intelligent Web: 3 semester hours
Prerequisites: CMP SCI 3010 and CMP SCI 3130. This course covers the application of artificial intelligence and other modern techniques to help construct, navigate, and experience the Web. Topics may include retrieval models, classification, mining, association, topology, and indexing algorithms such as PageRank and HITS. Credit cannot be earned for both CMP SCI 4030 and CMP SCI 5030.
CMP SCI 4140 Theory of Computation: 3 semester hours
Prerequisites: CMP SCI 3130 or graduate standing. This course provides an introduction to the theory of computation. It describes basic computational models, such as finite state machines, pushdown automata, Turing machines and grammars. It also covers the concept of nondeterministic computation and the relationships between different computational models. Additionally it discusses decidability, reducibility, and classification of problems into complexity classes based on their time and space complexity, such as P, NP, and PSPACE.
CMP SCI 4220 Introduction to iOS Programming and Apps: 3 semester hours
Prerequisites: CMP SCI 2261 or INFSYS 3806 or graduate standing. This course will use Swift for building iOS apps. It also introduces Xcode, Interface Builder, basic design patterns like MVC and delegation, and core libraries for Swift and iOS. Additional topics may include network communication, data persistence, basic animation, and mapping. This is a projectoriented class that will require significant use of a Mac with Xcode installed.
CMP SCI 4222 iOS Apps: 3 semester hours
Prerequisites: CMP SCI 4220 or consent of the instructor. This course focuses on building more sophisticated iOS apps. May include networking such as web services, Bluetooth and wifi connectivity, graphics and animation in 2d and 3d, autolayouts, OpenGL, advanced data sources such as plist and core data, source control and unit testing. May also discuss security topics. Credit not granted for both CMP SCI 4222 and CMP SCI 5222.
CMP SCI 4250 Programming Languages: 3 semester hours
Prerequisites: CMP SCI 2261 or graduate standing. This course studies the principles, approaches, and tradeoffs in modern programming languages, including a comparative study of syntax, semantics, and pragmatics. It also examines major programming paradigms: objectoriented, imperative, functional and logic.
CMP SCI 4280 Program Translation: 3 semester hours
Prerequisites: CMP SCI 2700, CMP SCI 2750, CMP SCI 3130, and CMP SCI 4250, or graduate standing. This course focuses on methods, techniques, and mechanisms used to create the abstraction from high level programming to machine level execution. Using program translation as an example of a complex task, this course also teaches how to manage and develop solutions for complex programming problems using modular incremental development and testing using an individual semester long project.
CMP SCI 4300 Introduction to Artificial Intelligence: 3 semester hours
Prerequisites: CMP SCI 3130. This course provides an introduction to artificial intelligence. The list of topics may include search, planning, knowledgebased reasoning, probabilistic inference, machine learning, natural language processing, and practical applications. Credit cannot be granted for both CMP SCI 4300 and CMP SCI 5300.
CMP SCI 4320 Introduction to Evolutionary Computation: 3 semester hours
Prerequisites: CMP SCI 2261, CMP SCI 2750 and CMP SCI 3130. This course introduces the concepts of natureinspired problem solving with artificial evolution using selection, crossover, mutation and inheritance. It discusses applications of evolutionary algorithms, overviews the existing models and instances, and analyzes specific instances such as genetic algorithms, evolutionary programming, evolution strategies, and genetic programming. Credit not granted for both CMP SCI 4320 and CMP SCI 5320.
CMP SCI 4340 Introduction to Machine Learning: 3 semester hours
Prerequisites: CMP SCI 2261 and CMP SCI 3130. This course provides an introduction to machine learning in the context of applications such as data mining, natural language processing, and adaptive computer systems. The course reviews several supervised, unsupervised, and reinforcement machine learning techniques such as naive Bayes networks, clustering, and decision trees. Selected concepts in computational learning theory may also be covered. Credit cannot be granted for both CMP SCI 4340 and CMP SCI 5340.
CMP SCI 4342 Introduction to Data Mining: 3 semester hours
Prerequisites: CMP SCI 2261 and CMP SCI 3130. This course provides an introduction to data mining principles, algorithms and applications. Topics may include data preprocessing, data transformation, similarity and dissimilarity measures, data representation, classification techniques, association analysis, cluster analysis, regression, dimension reduction, and anomaly detection. Credit not granted for both CMP SCI 4342 and CMP SCI 5342.
CMP SCI 4370 Introduction to Biological Data Science: 3 semester hours
Prerequisites: CMP SCI 3130 or consent of instructor. This course provides an introduction into several key areas of biological data science, with a focus upon genetic data. Relevant background topics in genetics, current issues, and a variety of available resources will be explored. Upon successful completion of this course, the student will be able to evaluate algorithms for analyzing genetic data, including assessments of sources of errors and analysis of time and space complexity; address shortcomings in existing approaches; and implement efficient and effective software for exposing information hidden in genetic data. Credit cannot be granted for both CMP SCI 4370 and CMP SCI 5370.
CMP SCI 4390 Introduction to Deep Learning: 3 semester hours
Prerequisites: CMP SCI 3130 or consent of instructor. This course introduces mathematical foundations for deep learning, and follows with practical applications using selected domains such as image classification or protein predictions. It also covers dense neural networks, convolutional neural networks, recurrent neural networks, and other stateoftheart networks. Credit cannot be granted for both CMP SCI 4390 and CMP SCI 5390.
CMP SCI 4410 Introduction to Computer Graphics: 3 semester hours
Prerequisites: CMP SCI 2250 and MATH 2450. This course covers the theoretical foundation and algorithms for computer graphics. Students learn the basics of graphics programming for modeling, rendering, and animation of 2D and 3D objects, using standard graphics API. A brief discussion of special graphics hardware, such as GPU, may be included. Credit cannot be granted for both CMP SCI 4410 and CMP SCI 5410.
CMP SCI 4420 Introduction to Digital Image Processing: 3 semester hours
Prerequisites: MATH 1900, MATH 2450, CMP SCI 2750, and CMP SCI 3130. This course focuses on image analysis and visual perception. Students learn data structures and algorithms for image processing, region and texture analysis, image filtering, edge detection, contour following, and image enhancement in both spatial and frequency domain. Other topics may include color processing, coding for storage, retrieval, transmission, and image restoration. Credit cannot be granted for both CMP SCI 4420 and CMP SCI 5420.
CMP SCI 4500 Introduction to the Software Profession: 3 semester hours
Prerequisites: CMP SCI 2261, CMP SCI 3010, and MATH 3000. This course focuses on software development and on the skills required for success in the software profession. Topics related to software development may include software process, models and views, software architectures, documentation, and testing strategies. Topics related to the profession may include ethics, licensing, copyright, trademarks, and professional conduct. Individual and group projects, research, and presentations may be required in this capstone course.
CMP SCI 4520 Introduction to ObjectOriented Analysis and Design: 3 semester hours
Prerequisites: CMP SCI 2261 and CMP SCI 3130. This course covers objectoriented development, using UML and following an agile process. It discusses elements of analysis, requirements, design, implementation and deployment, such as use cases, static and dynamic models, patterns, and frameworks. This course includes a semester long project. Credit not granted for both CMP SCI 4520 and CMP SCI 5520.
CMP SCI 4610 Database Management Systems: 3 semester hours
Prerequisites: CMP SCI 3010 and MATH 3000; or graduate standing. This course focuses on database theory and applications, with emphasis on the relational model. Topics include database design, modeling, file systems, indexing, integrity constraints, relational algebra, normalization, transaction processing, and concurrency control. Students are exposed to emerging DBMS technologies and applications. Several programming projects will be required using a popular SQL server.
CMP SCI 4700 Computer Forensics: 3 semester hours
Prerequisites: CMP SCI 2750 and CMP SCI 3010; or graduate standing. This course explores topics and methodologies for examining digital evidence, along with some principles of the investigative process. Includes memory, file system, operating system, network, and mobile device forensics. This course addresses both theory and handson aspects for conducting digital forensic examinations.
CMP SCI 4730 Computer Networks and Communications: 3 semester hours
Prerequisites: CMP SCI 2750 and MATH 1320; or graduate standing. This course provides a broad overview of computer networks and communications. Covers the fundamental principles and protocols across the whole layering structure of the Internet protocol stack. A topdown approach covers multiple topics including network application layer, transport layer, network layer, link layer, and physical layer protocols. May also include a range of related technologies such as WWW, HTTP, FTP, DNS, SMTP, TCP, UDP, ICMP, IPv4, IPv6, OSPF, RIP, BGP, IEEE 802.11 (WiFi), cellular networks, LANs, Ethernet, CSMA/CD, CDMA, multimedia networking, network management, and security in Internet.
CMP SCI 4732 Introduction to Cryptography for Computer Security: 3 semester hours
Prerequisites: MATH 3000 or consent of instructor. This course provides an introduction to cryptography as it applies to computer security. It describes cryptographic codemaking and codebreaking, and how they are integrated within larger security systems. Topics include symmetric encryption algorithms like AES, asymmetric encryption using prime number factorization and elliptic curves, message authentication codes, key exchange protocols and attacks on all these systems. Additional topics may include onion networks and blockchain technology, as well as possible attacks on those systems. Credit cannot be granted for more than one of CMP SCI 4732, CMP SCI 4780, and CMP SCI 5732.
CMP SCI 4740 Introduction to High Performance Computing: 3 semester hours
Prerequisites: CMP SCI 2750 and CMP SCI 3130. This course introduces algorithms for multiprocessor and multicore architectures. Students learn the models of modern parallel computation and techniques to take advantage of parallel architectures for distributed and shared memory multiprocessor architectures. Credit not granted for both CMP SCI 4740 and CMP SCI 5740.
CMP SCI 4750 Introduction to Cloud Computing: 3 semester hours
Prerequisites: CMP SCI 2750. This course provides an introduction to development and deployment of applications in the cloud space. Touches on different aspects of cloud computing such as IaaS, PaaS, and SaaS. Includes significant discussion on legal and security aspects of clouds in the marketplace. May also include public, private, and hybrid clouds, and Internet of Things. Credit not granted for both CMP SCI 4750 and CMP SCI 5750.
CMP SCI 4760 Operating Systems: 3 semester hours
Prerequisites: CMP SCI 2750 and CMP SCI 3130; or graduate standing. This course covers 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. It presents examples from contemporary operating systems and requires practical projects implemented within a modern operating system or simulator environment.
CMP SCI 4780 Computer and Network Security: 3 semester hours
Prerequisites: CMP SCI 4730 or graduate standing. This course provides a broad overview of computer and network security technologies and concerns from multiple perspectives, such as cryptography, Public Key Infrastructures (PKI), hashes and message digests, computer viruses and malware, email security, TCP/IP security, IPSec, Secure Socket Layer (SSL), Transport Layer Security (TLS), Virtual Private Networks (VPN), Firewall, AAA (Authentication, Authorization, Accounting), wireless and mobile systems security, secure identifications (IDs), cloud security, privacy and integrity, network attacks, system monitoring, and Intrusion Detection System (IDS). Management and human factors related to security will also be discussed.
CMP SCI 4782 Information Security: 3 semester hours
Prerequisites: CMP SCI 4730 or CMP SCI 4732 or CMP SCI 4780 or consent of instructor. This course covers topics related to maintaining security in an organizational infrastructure, including risk analysis of the environment, access level and control including multifactor authentication, and detection capabilities to ensure adequate security monitoring. Additional topics may include network level protections, firewalls, intrusion detection/prevention systems, securing web and mobile applications, securing cloud implementations, and overall architectural considerations for system security. Credit not granted for both CMP SCI 4782 and CMP SCI 5782.
CMP SCI 4792 Mobile and Ubiquitous Computing: 3 semester hours
Prerequisites: CMP SCI 4730 or consent of instructor. This course covers mobile and wireless networking and provides a comprehensive treatment of wireless data and telecommunication networks. Topics include recent trends in mobile and wireless networking, wireless coding and modulation, wireless signal propagation, wireless local area networks, millimeter wave gigabit wireless networks, vehicular wireless networks, white spaces, Bluetooth and Bluetooth Smart, wireless personal area networks, wireless protocols for Internet of Things (IoT), and cellular networks.
CMP SCI 4794 Introduction to Security of IoT Systems: 3 semester hours
Prerequisites: CMP SCI 4730 or consent of instructor. This course covers the cuttingedge techniques on the emerging edge cloud and wireless/mobile Internet of Things (IoT) systems. It covers the IoT reference architecture, integrated IoT security architecture, major threats and vulnerabilities with the IoT devices and edge cloud, and defense mechanisms. It includes handson labs on both the vulnerabilities and defense of the systems. Credit cannot be granted for both CMP SCI 4794 and CMP SCI 5794.
CMP SCI 4880 Individual Studies: 13 semester hours
Prerequisites: Consent of instructor. This course allows a student to pursue individual studies under the supervision of a faculty member. It may include development of a software project. The course may be repeated for credit.
CMP SCI 4890 Topics in Computer Science: 3 semester hours
Prerequisites: Consent of the Instructor. This course covers a special topic in computer science to be determined by recent developments in the field and the interests of the instructor. This course may be taken for credit more than once so long as the topic discussed in each semester is different.
CMP SCI 5012 Enterprise Web Development: 3 semester hours
Prerequisites: CMP SCI 4010 or consent of instructor. Covers design and implementation issues for enterprise web development, and some popular advanced technologies. Topics include MVC and persistence frameworks, such as Spring and Hibernate. Other topics may include Java Web services, EJB, messaging standards such as JMS, and Java EE design patterns. Students will develop enterpriselevel web application projects. Credit cannot be earned for both CMP SCI 4012 and CMP SCI 5012.
CMP SCI 5020 Android Apps: Android Fundamentals: 3 semester hours
Prerequisites: CMP SCI 4010 or consent of instructor. Covers the fundamental programming principles, software architecture and user experience considerations underlying handheld software applications and their development environments. Involves indepth, handson examples, implemented on the Android Platform, and discussion of security. Credit not granted for both CMP SCI 4020 and CMP SCI 5020.
CMP SCI 5030 Intelligent Web: 3 semester hours
Prerequisite: Graduate standing. This course covers the application of artificial intelligence and other modern techniques to help construct, navigate, and experience the Web. Topics may include retrieval models, classification, mining, association, topology, and indexing algorithms such as PageRank and HITS. Credit cannot be earned for both CMP SCI 4030 and CMP SCI 5030.
CMP SCI 5130 Advanced Data Structures and Algorithms: 3 semester hours
Prerequisites: Graduate standing in Computer Science. 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.
CMP SCI 5222 Advanced iOS Apps: 3 semester hours
Prerequisites: CMP SCI 4220 or consent of instructor. Focuses on building sophisticated apps using iOS. Will cover recent developments in networking such as web services, Bluetooth and wifi connectivity, graphics and animation in 2d and 3d, autolayouts, OpenGL, advanced data sources such as plist and core data, source control and unit testing. May also discuss security topics. Credit not granted for both CMP SCI 4222 and CMP SCI 5222.
CMP SCI 5300 Artificial Intelligence: 3 semester hours
Prerequisites: Graduate standing. This course provides an introduction to artificial intelligence. The list of topics may include search, planning, knowledgebased reasoning, probabilistic inference, machine learning, natural language processing, and practical applications. Credit cannot be granted for both CMP SCI 4300 and CMP SCI 5300.
CMP SCI 5320 Evolutionary Computation: 3 semester hours
Prerequisites: Graduate standing in Computer Science. This course introduces the concepts of natureinspired problem solving with artificial evolution using selection, crossover, mutation and inheritance. It discusses applications of evolutionary algorithms, overviews the existing models and instances, and analyzes specific instances such as genetic algorithms, evolutionary programming, evolution strategies, and genetic programming. Credit not granted for both CMP SCI 4320 and CMP SCI 5320.
CMP SCI 5340 Machine Learning: 3 semester hours
Prerequisites: Graduate standing in Computer Science. This course provides an introduction to machine learning in the context of applications such as data mining, natural language processing, and adaptive computer systems. The course reviews several supervised, unsupervised, and reinforcement machine learning techniques such as naive Bayes networks, clustering, and decision trees. Selected concepts in computational learning theory may also be covered. Credit cannot be granted for both CMP SCI 4340 and CMP SCI 5340.
CMP SCI 5342 Data Mining: 3 semester hours
Prerequisites: Graduate standing in Computer Science. This course provides an introduction to data mining principles, algorithms and applications. Topics may include data preprocessing, data transformation, similarity and dissimilarity measures, data representation, classification techniques, association analysis, cluster analysis, regression, dimension reduction, and anomaly detection. Credit not granted for both CMP SCI 4342 and CMP SCI 5342.
CMP SCI 5370 Biological Data Science: 3 semester hours
Prerequisites: Graduate standing in Computer Science or consent of instructor. This course provides an introduction into several key areas of biological data science, with a focus upon genetic data. Relevant background topics in genetics, current issues, and a variety of available resources will be explored. Upon successful completion of this course, the student will be able to evaluate algorithms for analyzing genetic data, including assessments of sources of errors and analysis of time and space complexity; address shortcomings in existing approaches; and implement efficient and effective software for exposing information hidden in genetic data. Credit cannot be granted for both CMP SCI 4370 and CMP SCI 5370.
CMP SCI 5390 Deep Learning: 3 semester hours
Prerequisites: Graduate standing in Computer Science. This course reviews a typical machine learning recipe, mathematical foundations for deep learning, and provides an introduction to deep learning. Topics include dense neural networks, convolutional neural networks, and recurrent neural networks. The course will cover building, training, and using deep neural networks for solving various machine learning problems like image classification and protein contact prediction. Credit cannot be granted for both CMP SCI 4390 and CMP SCI 5390.
CMP SCI 5410 Computer Graphics: 3 semester hours
Prerequisites: Graduate standing in Computer Science. This course covers the theoretical foundation and algorithms of computer graphics. Students learn the basics of graphics programming for modeling, rendering, and animation of 2D and 3D objects, using standard graphics API. A brief discussion of special graphics hardware, such as GPU, may be included. Credit cannot be granted for both CMP SCI 4410 and CMP SCI 5410.
CMP SCI 5420 Digital Image Processing: 3 semester hours
Prerequisites: Graduate Standing in Computer Science. This course focuses on image analysis and visual perception. Students learn data structures and algorithms for image processing, region and texture analysis, image filtering, edge detection, contour following, and image enhancement in both spatial and frequency domain. Other topics may include color processing, coding for storage, retrieval, transmission, and image restoration. Credit cannot be granted for both CMP SCI 4420 and CMP SCI 5420.
CMP SCI 5500 Software Engineering: 3 semester hours
Prerequisite: Graduate standing. Introduces software engineering as a discipline, discusses stages of the software life cycle, compares development models such as waterfall, prototyping and incremental/iterative, covers requirements analysis, effort and cost estimation, compares structured and objectoriented analysis and design methods. Discusses verification/validation, quality assurance, software reliability, testing methods, maintenance, documentation, project management and team structure, metrics, and available tools.
CMP SCI 5520 Object Oriented Analysis and Design: 3 semester hours
Prerequisite: Graduate Standing in Computer Science. This course covers objectoriented development, illustrated with a visual modeling language and following an agile process. Discusses elements of analysis, requirements, design, implementation, and deployment such as use cases, static and dynamic diagrams, patterns, and frameworks. This course includes a semester long project starting with requirements and culminating with deployment. Credit not granted for both CMP SCI 4520 and CMP SCI 5520.
CMP SCI 5620 Intelligent Information Retrieval: 3 semester hours
Prerequisites: CMP SCI 4300 or CMP SCI 5300. This course studies techniques for analysis of information by statistical, syntactical, and logical methods. Topics related to multimedia information are also discussed.
CMP SCI 5700 Computer Systems: 3 semester hours
Prerequisite: Graduate standing in Computer Science. 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.
CMP SCI 5732 Cryptography for Computer Security: 3 semester hours
Prerequisites: Graduate standing. This course provides an introduction to cryptography as it applies to computer security. It describes cryptographic codemaking and codebreaking, and how they are integrated within larger security systems. Topics include symmetric encryption algorithms like AES, asymmetric encryption using prime number factorization and elliptic curves, message authentication codes, key exchange protocols and attacks on all these systems. Additional topics may include onion networks and blockchain technology, as well as possible attacks on those systems. Credit cannot be grant for more than one of CMP SCI 4732, CMP SCI 4780, and CMP SCI 5732.
CMP SCI 5740 High Performance Computing: 3 semester hours
Prerequisite: Graduate Standing in Computer Science. This course introduces algorithms for multiprocessor and multicore architectures. Students learn the models of modern parallel computation and techniques to take advantage of parallel architectures for distributed and shared memory multiprocessor architectures. Credit not granted for both CMP SCI 4740 and CMP SCI 5740.
CMP SCI 5750 Cloud Computing: 3 semester hours
Prerequisites: Graduate standing. Provides an introduction to development and deployment of applications in the cloud space. Touches on different aspects of cloud computing such as IaaS, PaaS, and SaaS. Includes significant discussion on legal and security aspects of clouds in the marketplace. May also include public, private, and hybrid clouds, and Internet of Things. Credit not granted for both CMP SCI 4750 and CMP SCI 5750.
CMP SCI 5782 Advanced Information Security: 3 semester hours
Prerequisites: CMP SCI 4730 or CMP SCI 4732 or CMP SCI 4780 or CMP SCI 5732 or consent of instructor. The topics covered in this course are risk analysis to understand the security requirements of an environment; access controls to understand the level of controls needed for different practical situations, including multifactor authentication; detection capabilities, to ensure adequate security monitoring for information systems; network level protections, with firewalls, intrusion detection/prevention systems; securing the web and mobile applications and cloud implementations; and overall security architecture to understand how various controls can provide the securityindepth that is required in the current environment. Credit not granted for both CMP SCI 4782 and CMP SCI 5782.
CMP SCI 5794 Security of IoT Systems: 3 semester hours
Prerequisites: CMP SCI 4730 or consent of the department. This course covers the cuttingedge techniques on the emerging edge cloud and wireless/mobile Internet of Things (IoT) systems. It covers the IoT reference architecture, integrated IoT security architecture, major threats and vulnerabilities with the IoT devices and edge cloud, and defense mechanisms. It includes handson labs on both the vulnerabilities and defense of the systems. Credit cannot be granted for both CMP SCI 4794 and CMP SCI 5794.
CMP SCI 5870 Computer Science Seminar: 13 semester hours
Prerequisites: Graduate standing. 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.
CMP SCI 5880 Computer Science Independent Project: 13 semester hours
Prerequisites: Graduate standing and consent of instructor. This course offers the student an opportunity to work on an advisorsupervised 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 CMP SCI 5880 and CMP SCI 6900.
CMP SCI 5890 Topics in Computer Science: 13 semester hours
Prerequisites: Graduate standing. This course offers various topics not offered on a regular basis. This course may be taken for credit more than once so long as the topic discussed in each semester is different.
CMP SCI 5900 Graduate Internship in Computer Science: 3 semester hours
Prerequisites: Graduate standing in computer science and consent of the department. The internship provides for a student to attain field experience in an organization related to Computer Science. A student is employed offcampus for an assignment of at least 320 hours working on a project as directed by his/her supervisor in the host organization. The project should be approved by the student's academic advisor, or a designated faculty member, who will monitor the student's progress. The student is responsible for having the project supervisor at the company establish contact with the academic advisor to establish schedule and goals, and a procedure to evaluate the goals. The student will submit a written report to the advisor at the end of internship. The course cannot be repeated for credit. Students completing this course will be allowed only up to three hours of Independent Study (CMP SCI 5880).
CMP SCI 6320 Advances in Evolutionary Computation: 3 semester hours
Prerequisites: CMP SCI 5320. This course focuses on some advanced topics in genetic and evolutionary computation (both theory and applications). Topics may include genetic algorithm variants, intelligent metaheuristics, evolutionary machine learning, differential evolution, swarm intelligence, learning classifier systems, and Markov models. A substantial part of the course will be based on selected topics from recent literature. This is a projectbased course, with the project typically involving literature search and conducting and reporting research. Projects may involve developing specific applications or implementing a specific model.
CMP SCI 6340 Genetic Programming: 3 semester hours
Prerequisites: CMP SCI 5320. This course provides an indepth exploration of Genetic programming, including advanced concepts such as scalability, evolution of modularity and regularity, and constrained evolution with CGP, STGP, or CFGbased GP. It may be reading, research, or application oriented.
CMP SCI 6410 Topics in Computer Graphics: 3 semester hours
Prerequisites: CMP SCI 4410 or CMP SCI 5410. This course covers various aspects of advanced graphics techniques, such as geometric modeling, rendering, shading, texturing, and computer animation. The course provides an indepth study of recent advanced topics in computer graphics.
CMP SCI 6420 Topics in Image Processing and Multimedia: 3 semester hours
Prerequisites: CMP SCI 5420. This course covers new developments in digital image processing, computer vision, and multimedia. Topics to be covered may include image databases, object tracking, and largescale data visualization.
CMP SCI 6900 Thesis: 16 semester hours
Prerequisites: Completion of at least 12 graduate credits and approval of research topic by thesis advisor. 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 CMP SCI 5880 and CMP SCI 6900.
Mathematics Courses
MATH 0005 Intermediate Algebra: 3 semester hours
Prerequisites: A satisfactory score on the UMSL Math Placement Examination, obtained at most one year prior to enrollment in this course. Preparatory material for college level mathematics courses. Covers systems of linear equations and inequalities, polynomials, rational expressions, exponents, quadratic equations, graphing linear and quadratic functions. This course carries no credit towards any baccalaureate degree.
MATH 1020 Contemporary Mathematics (MOTR MATH 120): 3 semester hours
Prerequisites: A satisfactory score on the UMSL Math Placement Examination, obtained at most one year prior to enrollment in this course. 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 if credit has been granted for MATH 1310, MATH 1800, MATH 1100, MATH 1102, or MATH 1105. Concurrent enrollment in MATH 1020 and any of these courses is not permitted.
MATH 1021 Choice and Chance: 3 semester hours
Same as PHIL 1021. Prerequisites: A satisfactory score on the UMSL Math Placement Examination, obtained at most one year prior to enrollment in this course. This course provides an introduction to inductive logic and the theory of probability in an organized and systematic way, so as to give students tools for more effective decisionmaking. We will introduce the probability calculus, basic concepts of utility theory, decision theory and different approaches to understanding probability. This course is designed to be accessible to students of all levels. Satisfies mathematics proficiency.
MATH 1025 Geometry in the Real World: 3 semester hours
Prerequisites: A satisfactory score on the UMSL Math Placement Examination, obtained at most one year prior to enrollment in this course. Presents topics in geometry designed to enrich the student's understanding of mathematics. Geometry as it applies to the physical world and such fields as art, music, nature, motion, architecture and city planning will be examined. This course is designed to be accessible to students of all levels. Satisfies mathematics proficiency.
MATH 1030 College Algebra (MOTR MATH 130): 3 semester hours
Prerequisites: A satisfactory score on the UMSL Math Placement Examination, obtained at most one year prior to enrollment in this course, or approval of the department. Topics in algebra and probability, polynomial functions, the binomial theorem, logarithms, exponentials, and solutions to systems of equations.
MATH 1035 Trigonometry: 2 semester hours
Prerequisite: MATH 1030 or MATH 1040, or concurrent registration in either of these two courses, or a satisfactory score on the UMSL Math Placement Examination, obtained at most one year prior to enrollment in this course. A study of the trigonometric and inverse trigonometric functions with emphasis on trigonometric identities and equations.
MATH 1040 College Algebra for Science and Engineering: 4 semester hours
Prerequisites: A satisfactory score on the UMSL Math Placement Examination, obtained at most one year prior to enrollment in this course. Topics in this course include factoring, simplifying rational functions, functions and their graphs, solving linear and nonlinear equations, polynomial functions, inverse functions, the binomial theorem, logarithms, exponentials, solutions to systems of equations using matrices, solutions to nonlinear systems of equations, and sequences.
MATH 1045 PreCalculus (MOTR MATH 150): 5 semester hours
Prerequisites: A satisfactory score on the UMSL Math Placement Examination, obtained at most one year prior to enrollment in this course, or consent of the department. This course covers topics including factoring, simplifying rational functions, functions and their graphs, solving linear and nonlinear equations, polynomial functions, inverse functions, the binomial theorem, logarithms, exponentials, solutions to systems of equations using matrices, solutions to nonlinear systems of equations, and sequences. Students will also study trigonometric and inverse trigonometric functions with emphasis on trigonometric identities and equations.
MATH 1100 Basic Calculus: 3 semester hours
Prerequisites: MATH 1030 or MATH 1040 or MATH 1045 or a satisfactory score on the UMSL ALEKS Placement Examination, obtained at most one year prior to enrollment in this course. This course introduces plane analytic geometry and basic differential and integral calculus with applications to various areas. No credit for Mathematics majors. Credit not granted for both MATH 1800 and MATH 1100.
MATH 1102 Finite Mathematics: 3 semester hours
Prerequisites: MATH 1030 or MATH 1040 or MATH 1045 or a satisfactory score on the UMSL ALEKS Math Placement Examination, obtained at most one year prior to enrollment in this course. This course introduces logic and set theory, partitions and counting problems, elementary probability theory, stochastic processes, Markov chains, vectors and matrices, linear programming, and game theory.
MATH 1105 Basic Probability and Statistics: 3 semester hours
Prerequisites: MATH 1030 or MATH 1040 or MATH 1045 or a satisfactory score on the UMSL ALEKS Math Placement Examination, obtained at most one year prior to enrollment in this course. 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 MATH 1310, MATH 1320, and MATH 1105.
MATH 1150 Structure of Mathematical Systems I: 3 semester hours
Prerequisites: 45 hours of college credit and a satisfactory score on the UMSL Math Placement Examination, obtained at most one year prior to enrollment in this course OR successful completion of MATH 1020 or MATH 1030 no more than 2 years prior to enrollment in this course. This course examines topics including problem solving, patterns, sets, numeration systems, whole numbers and operations, positive rational numbers and operations, and an introduction to variables and equations, with an emphasis placed on using multiple techniques for each of the aforementioned topics.
MATH 1310 Elementary Statistical Methods: 3 semester hours
Prerequisites: MATH 1030 or MATH 1040 or MATH 1045 or a satisfactory score on the UMSL ALEKS Math Placement Examination, obtained at most one year prior to enrollment in this course. An introduction to the basic tools and elementary methods of statistics, such as testing of hypotheses, analysis of variance, method of least squares, and time series. A student may not receive credit for more than one of MATH 1310, MATH 1320, and MATH 1105.
MATH 1320 Introduction to Probability and Statistics: 3 semester hours
Prerequisites: MATH 1030 or MATH 1040 or MATH 1045 or consent of the department. The course will cover basic concepts and methods in probability and statistics. Topics include descriptive statistics, probabilities of events, random variables and their distributions, sampling distributions, estimation of population parameters, confidence intervals and hypothesis testing for population means and population proportions, chisquare tests. A student may not receive credit for more than one of MATH 1310, MATH 1320 and MATH 1105.
MATH 1800 Analytic Geometry and Calculus I: 5 semester hours
Prerequisites: MATH 1030 and MATH 1035, or MATH 1040 and MATH 1035, or MATH 1045, or a satisfactory score on the UMSL ALEKS Math Placement Examination, obtained at most one year prior to enrollment in this course, or approval of the department. This course provides an introduction to differential and integral calculus. Topics include limits, derivatives, related rates, Newton's method, the MeanValue Theorem, MaxMin problems, the integral, the Fundamental Theorem of Integral Calculus, areas, volumes, and average values.
MATH 1900 Analytic Geometry and Calculus II: 5 semester hours
Prerequisite: MATH 1800. Topics include conic sections, rotation 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.
MATH 2000 Analytic Geometry and Calculus III: 5 semester hours
Prerequisite: MATH 1900. Topics include vectors, cylindrical and spherical coordinates, vectorvalued 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.
MATH 2010 Introduction to Inquiry Approaches to STEM Education (STEP I): 1 semester hour
Same as CHEM 2010, PHYSICS 2010, BIOL 2010, and SEC ED 2010. Prerequisites: Concurrent enrollment BIOL 1821, BIOL 1831, CHEM 1111, CHEM 1121, PHYSICS 2111, PHYSICS 2112, MATH 1800, or MATH 1900 or have a declared STEM major. Students who want to explore teaching careers become familiar with lesson plan development by writing, teaching and observing lessons in a local school class. Students build and practice inquirybased lesson design skills and become familiar with and practice classroom management in the school setting. As a result of the STEP I experiences students should be able to decide whether to continue to explore teaching as a career and ultimately finishing the remainder of the WE TEACH MO curriculum leading to teacher certification. The classroom observations and teaching represent a major field component and requires at least one two hour block of free time during the school day once a week.
MATH 2011 Designing InquiryBased STEM Experiences (STEP II): 1 semester hour
Same as CHEM 2011, PHYSICS 2011, BIOL 2011, and SEC ED 2011. Prerequisites: BIOL 2010, CHEM 2010, PHYSICS 2010, MATH 2010, or SEC ED 2010. Students explore teaching careers, become familiar with STEM school setting through observing and discussing the school environment and by developing and teaching inquirybased lessons.
MATH 2020 Introduction to Differential Equations: 3 semester hours
Prerequisite: MATH 2000. Topics will be chosen from: linear differential equations, equations with constant coefficients, laplace transforms, power series solutions, systems of ordinary differential equations.
MATH 2300 Introduction to Discrete Structures: 3 semester hours
Prerequisites: MATH 1100 or MATH 1800, and CMP SCI 1250. This course treats fundamental mathematical concepts in discrete structures useful for computer science. Topics include logic, sets, equivalence relations and partitions, functions, elementary number theory, cardinality, basic combinatorial methods, trees and graphs.
MATH 2450 Elementary Linear Algebra: 3 semester hours
Prerequisite: MATH 1100 or MATH 1900. 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 eingenvectors.
MATH 2510 Structure of Mathematical Systems II: 3 semester hours
Prerequisites: MATH 1150. Topics include an introduction to probability, statistics, and displays of data; a study of elementary geometry, including points, lines, planes, angles, properties of triangles, properties of quadrilaterals, other 2 and 3dimensional shapes; similarity; measurement and conversions; Pythagorean Theorem; perimeter; area; surface area, and volume. This course does not apply towards the elective requirements for any of the majors, minors or related areas in mathematics and statistics.
MATH 3000 Discrete Structures: 3 semester hours
Prerequisites: MATH 1800 or MATH 1100, and CMP SCI 1250 or equivalent. This course introduces fundamental concepts and important data structures in Discrete Mathematics and serves as an important foundation for subsequent courses in Computer Science. It provides a formal system on which mathematical reasoning is based, and various problemsolving strategies with emphasis on the algorithmic approach (both iterative and recursive). Topics include logic, sets, functions and relations; methods of proof, including mathematical induction; elements of number theory; order of growth and basic analysis of algorithms efficiency; recurrence relations; basic counting methods; graphs and trees. This course does not apply towards the elective requirements for any of the majors, minors or related areas in mathematics and statistics.
MATH 3010 Financial Mathematics I: 3 semester hours
Prerequisites: MATH 1900 or MATH 1100, and MATH 1320 or SCMA 3300 (or equivalents). This course introduces the theory of interest, annuities (certain), annuities with differing pay periods, amortization schedules and sinking funds.
MATH 3020 Financial Mathematics II: 3 semester hours
Prerequisites: MATH 3010. This course introduces the premiumdiscount formula for bonds, bond amortization, term structure of interest rates and pricing theory for options.
MATH 3100 Problem Solving in Mathematics: 1 semester hour
Prerequisite: MATH 2000. Course will train students to solve and write solutions to challenging mathematical problems, like those found in competitive exams like the Putnam Exam.
MATH 3250 Foundations of Mathematics: 3 semester hours
Prerequisites: MATH 1900 and CMP SCI 1250. The course will focus on developing an understanding of proofs and rigorous mathematical reasoning. Topics will include logic, sets, relations, functions, number theory, and counting methods.
MATH 3320 Applied Statistics: 3 semester hours
Prerequisites: MATH 1320. The course will cover topics including multiple regression, analysis of variance, generalized linear models, and applications of these methods. Using R for statistical analysis will be part of the course.
MATH 3520 Structure of Mathematical Systems III: 3 semester hours
Prerequisites: MATH 2510. Topics from MATH 1150 and MATH 2510 are continued. Other topics include integers and the real number system, relations and functions, coordinate system and linear equations, congruence, geometric constructions, geometric proofs, isometries, tessellations, and trigonometry. This course does not apply towards the elective requirements for any of the majors, minors or related areas in mathematics and statistics.
MATH 4005 Exploratory Data Analysis with R: 3 semester hours
Prerequisites: MATH 1320, MATH 2000 and MATH 2450. This course covers data analysis methods with R. It introduces the basic goals and techniques of the data science process, methods of characterizing and visualizing data and building predictive and inferential models. R will be introduced at the beginning of the class and then used throughout the rest of the class.
MATH 4030 Applied Mathematics I: 3 semester hours
Prerequisite: MATH 2020 and MATH 2450. Topics chosen from Fourier series, special functions, partial differential equations, and boundary value problems.
MATH 4060 Applied Differential Equations: 3 semester hours
Prerequisites: MATH 2020 and MATH 2450. The study of ordinary differential equations and partial differential equations is continued with applications in such areas as physics, engineering and biology.
MATH 4070 Introduction to Nonlinear Optimization: 3 semester hours
Prerequisites: MATH 1320, MATH 2000, MATH 2450 and (MATH 3000 or MATH 3250). This course will introduce the theory, methods, and applications of nonlinear optimization. It will cover convex functions, convex analysis, linear and quadratic programs, semidefinite programming and other optimization problems. Topics may include duality theory, algorithms of descent method, Newton's method and interiorpoint methods, and applications to signal processing, statistics and other fields will be covered. Credit cannot be earned for both MATH 4070 and MATH 5070.
MATH 4080 Introduction to Scientific Computation: 3 semester hours
Prerequisites: MATH 2000 and MATH 2450. This course will introduce fundamental algorithms in numerical linear algebra, matrix factorizations including SVD and QR, direct and iterative methods for solving linear systems, least squares problems and eigenvalue problems. Other topics covered will be chosen from numerical integration and differentiation, iterative methods for ODEs and PDEs, Discrete Fourier transform and FFT, spline smoothing and kernel smoothing. Credit cannot be earned for both MATH 4080 and MATH 5080.
MATH 4090 Introduction to Highdimensional Data Analysis: 3 semester hours
Prerequisites: MATH 1320, MATH 2000 and MATH 2450. This course introduces several advanced classical and modern techniques for modeling and analysis of highdimensional datasets with lowdimensional structures. The topics covered in this course include principal component analysis, factor analysis, clusteringbased methods, and sparse and lowrank recovery theory and algorithms. Credit cannot be earned for both MATH 4090 and MATH 5090.
MATH 4100 Real Analysis I: 3 semester hours
Prerequisites: MATH 3250, or CMP SCI 3130, or consent of instructor. This course provides an introduction to real analysis in one variable. Topics include the real number system, limits, continuity, differentiability, and sequences and series of functions.
MATH 4160 Complex Analysis I: 3 semester hours
Prerequisites: MATH 2000 or consent of the instructor. This course introduces complex numbers and their geometrical representation, point sets, analytic functions of a complex variable, complex integration, Taylor and Laurent series, residue theorem, and conformal mapping.
MATH 4200 Mathematical Statistics I: 3 semester hours
Prerequisites: MATH 1320 and MATH 2000. Introduction to the theory of probability and statistics using concepts and methods of calculus.
MATH 4210 Mathematical Statistics II: 3 semester hours
Prerequisites: MATH 4200. Continuation of MATH 4200. Sampling distributions, estimation theory, properties of estimators, hypothesis testing, NeymanPearson Theorem, likelihood ratio tests, introduction of analysis of variance and linear models. Basics of some nonparametric procedures.
MATH 4220 Bayesian Statistical Methods: 3 semester hours
Prerequisites: MATH 1320, MATH 2000 or MATH 1100; or consent of the instructor. This course introduces Bayesian methods in data analysis and the use of the R language and BUGS. The first half of the course covers inferential theorems and computation methods on fundamental Bayesian statistics, such as estimation, hypothesis testing, MCMC methods, model selection and hierarchical modeling. The second half of the course concentrates on particular models used in practice, such as Bayesian generalized linear models, Bayesian twofactor ANOVA, Bayesian logistic and probit models.
MATH 4225 Introduction to Statistical Computing: 3 semester hours
Prerequisites: MATH 1320, MATH 2000 and MATH 2450. This course will introduce fundamental algorithms in Monte Carlo methods: random variable generation, Monte Carlo integration, Monte Carlo optimization, Markov chain Monte Carlo, MetropolisHastings algorithm, Gibbs sampler, Langevin algorithms and Hamilton Monte Carlo, perfect, iterated and sequential importance sampling. Other topics covered may include particle systems, hidden Markov models, parallel and cloud computing. Credit cannot be earned for both MATH 4225 and MATH 5225.
MATH 4230 Numerical Analysis I: 3 semester hours
Prerequisites: MATH 2020, MATH 2450, and the ability to program in an upperlevel language. Solutions of equations, interpolation and approximation numerical differentiation and integration, and numerical solutions of initial value problems in ordinary differential equations. Selected algorithms will be programmed for solution on computers.
MATH 4250 Introduction to Statistical Methods in Learning and Modeling: 3 semester hours
Prerequisites: MATH 1320, MATH 2000 and MATH 2450. This course will introduce basic statistical principles and methods for modeling, inference, prediction and classification. The topics will be chosen from linear regression, basis expansion methods, kernel smoothing methods, model regularization, model selection and assessment, and other nonparametric methods. Credit cannot be earned for both MATH 4250 and MATH 5250.
MATH 4260 Introduction to Stochastic Processes: 3 semester hours
Prerequisites: MATH 4200. Basic theory and applications of stochastic processes. Markov chains, recurrent and transient states, stationary distributions, ergodic theorem, renewal processes, discrete martigales and stationary processes.
MATH 4350 Theory of Numbers: 3 semester hours
Prerequisites: MATH 2450 and either MATH 3000 or MATH 3250; or consent of instructor. This course examines the properties of integers, multiplicative functions, congruences, primitive roots, and quadratic residues.
MATH 4390 Topics in Probability and Statistics: 3 semester hours
Prerequisites: Consent of instructor. A seminar on special topics in probability and statistics to be determined by the interests of the instructor. May be repeated for credit provided different topics are studied.
MATH 4400 Introduction to Abstract Algebra I: 3 semester hours
Prerequisites: MATH 2450 and either MATH 3250 or CMP SCI 3130; or consent of instructor. This course introduces groups, rings, and fields, with an emphasis on groups and rings.
MATH 4450 Linear Algebra: 3 semester hours
Prerequisites: MATH 2450 and either MATH 3250 or CMP SCI 3130; or consent of instructor. This course focuses on topics selected from vector spaces, bases, linear transformations, matrices, canonical forms, eigenvalues, hermitian and unitary matrices, inner product spaces, and quadratic forms.
MATH 4460 Introduction to Coding Theory: 3 semester hours
Prerequisites: MATH 2450 and either MATH 3000 or MATH 3250. This course is an introductory course in coding theory. Topics may include linear codes, generator and parity check matrices, dual codes, weight and distance, encoding and decoding, and the Sphere Packing Bound; various examples of codes like the Hamming codes, Golay codes, binary ReedMuller codes, and the hexacode; Shannon's theorem for the binary symmetric channel, upper and lower bounds on the size of linear and nonlinear codes; constructions and properties of finite fields, basic theory of cyclic codes; concepts of idempotent generator, generator polynomial, zeros of a code, and defining sets, special families of BCH and ReedSolomon cyclic codes as well as generalized ReedSolomon codes. Credit cannot be granted for both MATH 4460 and MATH 5460.
MATH 4500 Special Readings: 110 semester hours
Prerequisites: 6 credit hours at the Math 4000 level and consent of the instructor. Advanced topics in Mathematics. May be repeated for credit if the topic differs.
MATH 4550 Combinatorics: 3 semester hours
Prerequisites: MATH 2450 and either MATH 3000 or MATH 3250; or consent of instructor. This course introduces advanced counting methods 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, errorcorrecting codes, and finitestate machines.
MATH 4580 Mathematical Logic: 3 semester hours
Prerequisites: MATH 2450 and one of MATH 3250, CMP SCI 3130, or PHIL 4460; or consent of instructor. This course focuses on 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.
MATH 4620 Projective Geometry: 3 semester hours
Prerequisites: MATH 2000, MATH 2450, and either MATH 3250 or CMP SCI 3130; or consent of instructor. This course provides an analytic approach to the study of projective spaces. Theorems of Desargues, Pascal, and Brianchon and projective properties of conics are studied.
MATH 4660 Foundations of Geometry: 3 semester hours
Prerequisites: MATH 2450 and either MATH 3250 or CMP SCI 3130; or consent of instructor. This course focuses on 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.
MATH 4670 Introduction to NonEuclidean Geometry: 3 semester hours
Prerequisites: MATH 2000, MATH 2450, and either MATH 3250 or CMP SCI 3130; or consent of instructor. This course focuses on a summary of the history of the nonEuclidean geometries and a study of hyperbolic plane geometry.
MATH 4800 Introduction to Topology: 3 semester hours
Prerequisites: MATH 2000 and either MATH 3250 or CMP SCI 3130; or consent of instructor. This course focuses on the study of topological spaces, including the concepts of limit, continuity, connectedness, compactness, etc. Special emphasis is placed on, and examples taken from, the space of real numbers.
MATH 4890 Topics in Mathematics: 3 semester hours
Prerequisite: Consent of instructor.
MATH 4995 Internship in Actuarial Science: 13 semester hours
Same as ECON 4995. Prerequisites: Junior standing and consent of program director. Supervised offcampus training in a private or public sector position in which the student applies the knowledge and skills learned in their actuarial science coursework. The internship is monitored by a faculty member and the student must provide a written report at the end of the project. This course may be repeated for a maximum of 6 credit hours.
MATH 5060 Computational Harmonic Analysis: 3 semester hours
Prerequisites: MATH 4030, MATH 4100 and MATH 4450. The course covers the basics of Fourier analysis and wavelet analysis. Topics include Fourier transforms and series, discrete Fourier transform, discrete cosine transform and 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.
MATH 5070 Nonlinear Optimization: 3 semester hours
Prerequisites: Graduate standing. This course will introduce the theory, methods, and applications of nonlinear optimization. It will cover convex functions, convex analysis, linear and quadratic programs, semidefinite programming and other optimization problems. Topics chosen from duality theory, algorithms of descent method, Newton’s method and interiorpoint methods, and applications to signal processing, statistics and other fields will be covered. Topics are the same as Math 4070 but material is covered at a greater depth and additional projects/assignments are required. Credit cannot be earned for both Math 4070 and Math 5070.
MATH 5080 Scientific Computation: 3 semester hours
Prerequisites: Graduate standing. This course will introduce fundamental algorithms in numerical linear algebra, matrix factorizations including SVD and QR, direct and iterative methods for solving linear systems, least squares problems and eigenvalue problems. Other topics covered will be chosen from numerical integration and differentiation, iterative methods for ODE's and PDE's, Discrete Fourier transform and FFT, spline smoothing and kernel smoothing. Topics are the same as MATH 4080 but material is covered at a greater depth and additional projects/assignments are required. Credit cannot be earned for both MATH 4080 and MATH 5080.
MATH 5090 Highdimensional Data Analysis: 3 semester hours
Prerequisites: Graduate standing. This course introduces several advanced classical and modern techniques for modeling and analysis of highdimensional datasets with lowdimensional structures. The methods covered in this course include principal component analysis, factor analysis, clusteringbased methods, and sparse and lowrank recovery theory and algorithms.Topics are the same as MATH 4090 but material is covered at a greater depth and additional projects/assignments are required. Credit cannot be earned for both MATH 4090 and MATH 5090.
MATH 5100 Real Analysis II: 3 semester hours
Prerequisites: MATH 4100. Introduction to measure and integration. Topics include the RiemannStieltjes integral, Lebesgue measure, measurable functions, the Lebesgue integral, RadonNikodym and Fubini theorems and the basics of Lpspaces.
MATH 5110 Differentiable Manifolds: 3 semester hours
Prerequisites: MATH 4100, MATH 4450, and MATH 4800. 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.
MATH 5140 Set Theory and Metric Spaces: 3 semester hours
Prerequisites: MATH 4100 or consent of instructor. Naive set theory, cardinal arithmetic, ordinal numbers, the axiom of choice and equivalents, metric spaces, convergence, continuity, compactness, contraction principals and applications. Construction of completions and examples like real numbers and padic numbers. Other topics could include the StoneWeierstrass theorem and metrizability theorems.
MATH 5160 Complex Analysis II: 3 semester hours
Prerequisites: MATH 4160 and either MATH 4100 or MATH 4800. A second course in complex analysis, emphasizing the theory of analytic functions, and including various topics like the Riemann mapping theorem, normal families, analytic continuation, representations of analytic functions, and elliptic functions.
MATH 5225 Statistical Computing: 3 semester hours
Prerequisites: Graduate standing. This course will introduce fundamental algorithms in Monte Carlo methods: random variable generation, Monte Carlo integration, Monte Carlo optimization, Markov chain Monte Carlo, MetropolisHastings algorithm, Gibbs sampler, Langevin algorithms and Hamilton Monte Carlo, perfect, iterated and sequential importance sampling. Other topics covered may include particle systems, hidden Markov models, parallel and cloud computing. Topics are the same as Math 4085 but material is covered at a greater depth and additional projects/assignments are required. Credit cannot be earned for both MATH 4225 and MATH 5225.
MATH 5250 Statistical Methods in Learning and Modeling: 3 semester hours
Prerequisites: Graduate standing. This course will introduce basic statistical principles and methods for modeling, inference, prediction and classification. The topics will be chosen from linear regression, basis expansion methods, kernel smoothing methods, model regularization, other nonparametric methods, and model selection and assessment. Topics are the same as MATH 4250 but material is covered at a greater depth and additional projects/assignments are required. Credit cannot be earned for both MATH 4250 and MATH 5250.
MATH 5320 Topics in Statistics and its Applications: 3 semester hours
Prerequisites: MATH 4210 or consent of instructor. The course studies classical and recently developed statistical procedures selected from areas including multivariate analysis, linear and nonlinear models, nonparametric methods, and statistical learning. Emphasis is on applications of the procedures.
MATH 5460 Coding Theory: 3 semester hours
Prerequisites: Graduate standing. This course is an introductory course in coding theory. Topics may include linear codes, generator and parity check matrices, dual codes, weight and distance, encoding and decoding, and the Sphere Packing Bound; various examples of codes like the Hamming codes, Golay codes, binary ReedMuller codes, and the hexacode; Shannon’s theorem for the binary symmetric channel, upper and lower bounds on the size of linear and nonlinear codes; constructions and properties of finite fields, basic theory of cyclic codes; concepts of idempotent generator, generator polynomial, zeros of a code, and defining sets, special families of BCH and ReedSolomon cyclic codes as well as generalized Reed–Solomon codes. Topics are the same as MATH 4460 but material is covered at a greater depth and additional projects/assignments are required. Credit cannot be granted for both MATH 4460 and MATH 5460.
MATH 5500 Directed Readings: 16 semester hours
Prerequisite: Consent of instructor. Independent readings at an advanced level.
MATH 5550 Topics in Advanced Math for the Teacher: 3 semester hours
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.
MATH 5600 Topics in Computation: 3 semester hours
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.
MATH 5700 Topics in Applied Mathematics: 3 semester hours
Prerequisite: Consent of instructor. The course will cover various advanced topics on applied mathematics, and can be taken more than once for credit. Examples of such topics are: fast transforms, digital filters, etc.
MATH 5710 Topics in Analysis: 3 semester hours
Prerequisites: MATH 5100 or consent of instructor. Topics selected from the areas of Fourier analysis, harmonic analysis, functional analysis, special functions, generalized functions, and partial differential equations. May be taken more than once for credit with consent of department.
MATH 5770 Advanced Topics in Nonlinear Optimization: 3 semester hours
Prerequisites: MATH 4070 or MATH 5070; or consent of the instructor. Topics chosen from theory and algorithms of Lagrange multipliers, algorithms for solving variational inequalities, forwardbackward splitting algorithms and proximal alternating minimization algorithm for nonconvex optimization problems.
MATH 5820 Topics in Algebra: 3 semester hours
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.
MATH 6900 Masters Thesis: 16 semester hours
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 to a degree.
MATH 7990 Ph.D. Dissertation Research: 19 semester hours
Prerequisites: Completion of comprehensive examinations. May be taken for no more than nine hours.
Cezary Janikow
Associate Professor and Chair
Ph.D., University of North Carolina at Chapel Hill
Sanjiv K. Bhatia
Professor
Ph.D., University of NebraskaLincoln
Uday K. Chakraborty
Professor
Ph.D., Jadavpur University
Qingtang Jiang
Professor
Ph.D., Peking University
Prabhakar A. Rao
Professor
Ph.D., University of California, Berkeley
Haiyan Cai
Associate Professor
Ph.D., University of Maryland
Adrian Clingher
Associate Professor
Ph.D., Columbia University
Ronald Dotzel
Associate Professor
Ph.D., Rutgers University
Ravindra Girivaru
Associate Professor
Ph.D., University of Madras
Wenjie He
Associate Professor
Ph.D., University of Georgia
Henry Kang
Associate Professor
Ph.D., Korea Advanced Institute of Science and Technology (KAIST)
Nevena Maric
Associate Professor
Ph.D., University of Sao Paulo
Badri Adhikari
Assistant Professor
Ph.D., University of MissouriColumbia
Sharlee Climer
Assistant Professor
Ph.D., Washington University
Jianli Pan
Assistant Professor
Ph.D., Washington University
Yuefeng Wu
Assistant Professor
Ph.D., North Carolina State University
Shahla Peterman
Teaching Professor
M.S., University of WisconsinMadison
Galina Piatnitskaia
Teaching Professor
Ph.D., Moscow Institute of Physics and Technology
Qiang Sun Dotzel
Associate Teaching Professor
M.A., University of MissouriSt. Louis
Nazire Koc
Associate Teaching Professor
M.S., Southern Illinois University, Carbondale
Emily Ross
Associate Teaching Professor
M.A., Saint Louis University
Jennifer Shrensker
Associate Teaching Professor
M.A., Washington University
David J. Covert
Assistant Teaching Professor
Ph.D., University of MissouriColumbia
Mark W. Hauschild
Assistant Teaching Professor
Ph.D., University of MissouriSt. Louis
Guannan (Gary) Hu
Assistant Teaching Professor
Ph.D., The University of Kansas
Steven Riegerix
Assistant Teaching Professor
M.S., University of MissouriSt. Louis
Ilgin Sager
Assistant Teaching Professor
Ph.D., Ankara University
Albert Stanger
Assistant Teaching Professor and Math Academic Center Supervisor
M.A., University of MissouriSt. Louis
Raymond Balbes
Professor Emeritus
Ph.D., University of California, Los Angeles
William Connett
Professor Emeritus
Ph.D., University of Chicago
Richard Friedlander
Professor Emeritus
Ph.D., University of California, Los Angeles
Wayne L. McDaniel
Professor Emeritus
Ph.D., Saint Louis University
Stephen Selesnick
Professor Emeritus
Ph.D., University of London
Jerrold Siegel
Professor Emeritus
Ph.D., Cornell University
Frederick Wilke
Associate Professor Emeritus
Ph.D., University of MissouriColumbia
John Antognoli
Teaching Professor Emeritus
M.A., University of MissouriSt. Louis