The Department of Mathematics and Computer Science offers the Bachelor of Science Degree in Mathematics

the Bachelor of Science Degree in Computer Science, the Department endeavors to give students a sound

background for a basic understanding of science; to give prospective teachers a professional attitude, a strong

subject matter foundation and adequate skills and techniques in the application and the teaching of the material;

and, to show students that mathematics is a living and vital discipline by seeing it applied in the classroom and

in the various fields of industry.

The Computer Science program will teach students about object-oriented and procedural programming

techniques, data structures and database management, operating systems and distributed computing in order to

provide them with a fundamental understanding of those concepts of computer science that will enable them to

adapt to and function in any current computing environment.

The Department of Mathematics and Computer Science provides the courses for education students with

mathematics as the teaching field. See the Bachelor of Science in Education for specific requirements.
**Why Study Mathematics? **

Mathematics is a rich field with a storied history of brilliant thinkers such as Archimedes, Euclid, Fermat, Newton, Gauss, Emmy Noether and West Virginia native John Nash. A wide variety of fields, including biology, chemistry, physics, statistics, computer science, engineering, actuarial science and economics are fundamentally dependent on mathematics. Indeed, it is impossible to find a field of study today in which mathematics has no application. In Galileo’s words, “Mathematics is the language in which God has written the universe.”

**Why Study Computer Science? **

Computer Science is the systematic study of using computers to solve problems. It involves hardware design, analysis of algorithms and software development. It is a dynamic field that develops the principles that will guide future technological advances in many industries and areas of life. Computer Science has applications in virtually every major field, including banking, business, engineering, mathematics, physics, chemistry, biology, communications and entertainment, to name just a few.
sub1();
sub2();
sub3();
sub4();
sub5();
sub6();
sub7();
sub8();
sub9();
sub10();
function sub1() {
var sub1 = Math.floor(Math.random()*10000)+1;
sub1 = sub1.toString();
jQuery('#sub1title').attr('href', '#'+sub1+'');
jQuery('#sub1title').prop('class', ''+sub1+'');
jQuery('#sub1title').prop('id', '1'+sub1+'');
jQuery('.'+sub1+' + div').prop('id', ''+sub1+'');
}
function sub2() {
var sub2 = Math.floor(Math.random()*10000)+1;
sub2 = sub2.toString();
jQuery('#sub2title').attr('href', '#'+sub2+'');
jQuery('#sub2title').prop('class', ''+sub2+'');
jQuery('#sub2title').prop('id', '2'+sub2+'');
jQuery('.'+sub2+' + div').prop('id', ''+sub2+'');
}
function sub3() {
var sub3 = Math.floor(Math.random()*10000)+1;
sub3 = sub3.toString();
jQuery('#sub3title').attr('href', '#'+sub3+'');
jQuery('#sub3title').prop('class', ''+sub3+'');
jQuery('#sub3title').prop('id', '3'+sub3+'');
jQuery('.'+sub3+' + div').prop('id', ''+sub3+'');
}
function sub4() {
var sub4 = Math.floor(Math.random()*10000)+1;
sub4 = sub4.toString();
jQuery('#sub4title').attr('href', '#'+sub4+'');
jQuery('#sub4title').prop('class', ''+sub4+'');
jQuery('#sub4title').prop('id', '4'+sub4+'');
jQuery('.'+sub4+' + div').prop('id', ''+sub4+'');
}
function sub5() {
var sub5 = Math.floor(Math.random()*10000)+1;
sub5 = sub5.toString();
jQuery('#sub5title').attr('href', '#'+sub5+'');
jQuery('#sub5title').prop('class', ''+sub5+'');
jQuery('#sub5title').prop('id', '5'+sub5+'');
jQuery('.'+sub5+' + div').prop('id', ''+sub5+'');
}
function sub6() {
var sub6 = Math.floor(Math.random()*10000)+1;
sub6 = sub6.toString();
jQuery('#sub6title').attr('href', '#'+sub6+'');
jQuery('#sub6title').prop('class', ''+sub6+'');
jQuery('#sub6title').prop('id', '6'+sub6+'');
jQuery('.'+sub6+' + div').prop('id', ''+sub6+'');
}
function sub7() {
var sub7 = Math.floor(Math.random()*10000)+1;
sub7 = sub7.toString();
jQuery('#sub7title').attr('href', '#'+sub7+'');
jQuery('#sub7title').prop('class', ''+sub7+'');
jQuery('#sub7title').prop('id', '7'+sub7+'');
jQuery('.'+sub7+' + div').prop('id', ''+sub7+'');
}
function sub8() {
var sub8 = Math.floor(Math.random()*10000)+1;
sub8 = sub8.toString();
jQuery('#sub8title').attr('href', '#'+sub8+'');
jQuery('#sub8title').prop('class', ''+sub8+'');
jQuery('#sub8title').prop('id', '8'+sub8+'');
jQuery('.'+sub8+' + div').prop('id', ''+sub8+'');
}
function sub9() {
var sub9 = Math.floor(Math.random()*10000)+1;
sub9 = sub9.toString();
jQuery('#sub9title').attr('href', '#'+sub9+'');
jQuery('#sub9title').prop('class', ''+sub9+'');
jQuery('#sub9title').prop('id', '9'+sub9+'');
jQuery('.'+sub9+' + div').prop('id', ''+sub9+'');
}
function sub10() {
var sub10 = Math.floor(Math.random()*10000)+1;
sub10 = sub10.toString();
jQuery('#sub10title').attr('href', '#'+sub10+'');
jQuery('#sub10title').prop('class', ''+sub10+'');
jQuery('#sub10title').prop('id', '10'+sub10+'');
jQuery('.'+sub10+' + div').prop('id', ''+sub10+'');
}
**Undergraduate Level**

Bachelor of Science in Mathematics (Applied Option)

Bachelor of Science in Mathematics (Classical Option)

Bachelor of Science in Mathematics (Computational Science Option)

Bachelor of Science in Computer Science

Bachelor of Science in Computer Science (Data Science Option)

Minor in Mathematics

Minor in Computer Science

Minor in Data Science

Minor in Cybersecurity

Minor in Information Technology**Graduate Level**

Master of Science in Computer Science
**Course Rotations**

Mathematics Course Rotation

Computer Science Course Rotation

sub1();
sub2();
sub3();
sub4();
sub5();
sub6();
sub7();
sub8();
sub9();
sub10();
function sub1() {
var sub1 = Math.floor(Math.random()*10000)+1;
sub1 = sub1.toString();
jQuery('#sub1title').attr('href', '#'+sub1+'');
jQuery('#sub1title').prop('class', ''+sub1+'');
jQuery('#sub1title').prop('id', '1'+sub1+'');
jQuery('.'+sub1+' + div').prop('id', ''+sub1+'');
}
function sub2() {
var sub2 = Math.floor(Math.random()*10000)+1;
sub2 = sub2.toString();
jQuery('#sub2title').attr('href', '#'+sub2+'');
jQuery('#sub2title').prop('class', ''+sub2+'');
jQuery('#sub2title').prop('id', '2'+sub2+'');
jQuery('.'+sub2+' + div').prop('id', ''+sub2+'');
}
function sub3() {
var sub3 = Math.floor(Math.random()*10000)+1;
sub3 = sub3.toString();
jQuery('#sub3title').attr('href', '#'+sub3+'');
jQuery('#sub3title').prop('class', ''+sub3+'');
jQuery('#sub3title').prop('id', '3'+sub3+'');
jQuery('.'+sub3+' + div').prop('id', ''+sub3+'');
}
function sub4() {
var sub4 = Math.floor(Math.random()*10000)+1;
sub4 = sub4.toString();
jQuery('#sub4title').attr('href', '#'+sub4+'');
jQuery('#sub4title').prop('class', ''+sub4+'');
jQuery('#sub4title').prop('id', '4'+sub4+'');
jQuery('.'+sub4+' + div').prop('id', ''+sub4+'');
}
function sub5() {
var sub5 = Math.floor(Math.random()*10000)+1;
sub5 = sub5.toString();
jQuery('#sub5title').attr('href', '#'+sub5+'');
jQuery('#sub5title').prop('class', ''+sub5+'');
jQuery('#sub5title').prop('id', '5'+sub5+'');
jQuery('.'+sub5+' + div').prop('id', ''+sub5+'');
}
function sub6() {
var sub6 = Math.floor(Math.random()*10000)+1;
sub6 = sub6.toString();
jQuery('#sub6title').attr('href', '#'+sub6+'');
jQuery('#sub6title').prop('class', ''+sub6+'');
jQuery('#sub6title').prop('id', '6'+sub6+'');
jQuery('.'+sub6+' + div').prop('id', ''+sub6+'');
}
function sub7() {
var sub7 = Math.floor(Math.random()*10000)+1;
sub7 = sub7.toString();
jQuery('#sub7title').attr('href', '#'+sub7+'');
jQuery('#sub7title').prop('class', ''+sub7+'');
jQuery('#sub7title').prop('id', '7'+sub7+'');
jQuery('.'+sub7+' + div').prop('id', ''+sub7+'');
}
function sub8() {
var sub8 = Math.floor(Math.random()*10000)+1;
sub8 = sub8.toString();
jQuery('#sub8title').attr('href', '#'+sub8+'');
jQuery('#sub8title').prop('class', ''+sub8+'');
jQuery('#sub8title').prop('id', '8'+sub8+'');
jQuery('.'+sub8+' + div').prop('id', ''+sub8+'');
}
function sub9() {
var sub9 = Math.floor(Math.random()*10000)+1;
sub9 = sub9.toString();
jQuery('#sub9title').attr('href', '#'+sub9+'');
jQuery('#sub9title').prop('class', ''+sub9+'');
jQuery('#sub9title').prop('id', '9'+sub9+'');
jQuery('.'+sub9+' + div').prop('id', ''+sub9+'');
}
function sub10() {
var sub10 = Math.floor(Math.random()*10000)+1;
sub10 = sub10.toString();
jQuery('#sub10title').attr('href', '#'+sub10+'');
jQuery('#sub10title').prop('class', ''+sub10+'');
jQuery('#sub10title').prop('id', '10'+sub10+'');
jQuery('.'+sub10+' + div').prop('id', ''+sub10+'');
}
**CS 100. Introduction to Computers and their Applications (3 credit hours)**

Computer history, application and ethics, operating systems, word processing, spreadsheets, databases, and integrating applications, data communications and the internet computer security and privacy.

Prerequisite(s): 19 or above in Math ACT.

**CS 101. Programming Fundamentals (3 credit hours)**

The fundamental concepts of programming using C. Historical and social context of computing and an overview of computer science as a discipline.

Prerequisite(s): Eligibility for MATH 120.

**CS 102. The Object-Oriented Paradigm (3 credit hours)**

The fundamental concepts of object-oriented programming using language such as C++, JAVA, or another object-oriented programming language of the instructor’s choice.

Prerequisite(s): C or better in CS 101.

**CS 202. FORTRAN Programming I (3 credit hours)**

Structured FORTRAN with documentation, input- output, loops and logic statements. Prerequisite(s): MATH 120, CS 101.

**CS 204. Introduction to COBOL Programming (3 credit hours)**

Provides the basic elements of the computer language necessary to run programs with an emphasis on business applications.

Prerequisite(s): CS 101.

**CS 210. Fundamentals of Operating Systems (3 credit hours)**

An introduction to the organization of computer operating systems and the range of computer operations available through efficient use of operating systems.

Prerequisite(s): CS 102

**CS 214. Introduction to Visual Basic (3 credit hours)**

This course introduces students to the standard visual basic forms, controls and event procedures. Sequential and random access file handling, database access and general language structure will be explored.

Prerequisite(s): CS 101.

**CS 230. Database Management Systems (3 credit hours)**

This course presents the history of database management systems, the logical and physical structures of several ent models, and deals in a practical, experiential way with the design of databases and the management systems that control them.

Prerequisite(s): CS 102.

**CS 236. Introduction to PASCAL (3 credit hours)**

The basic concepts and skills, including general problem-solving techniques, files and text processing and abstract data structures.

Prerequisite(s): CS 101.

**CS 240. Data Communications and Networking (3 credit hours)**

An introduction to the theories, terminology, equipment and distribution media associated with data communications and networking.

Prerequisite(s): CS 102.

**CS 250. Data Structures and Algorithms (3 credit hours)**

An introduction to the implementation and use of abstract data types including dynamic arrays, linked lists, stack, queues, three hash tables and heaps as well as algorithms that operate on these structures with a preliminary study of algorithmic complexity.

Prerequisite(s): CS 102 and Math 205.

**CS 266. Introduction to JAVA (3 credit hours)**

This course introduces students to the JAVA programming language. This object-oriented language is gaining popularity for developing secure, platform-independent applications and is often the language of choice for internet applications.

Prerequisite(s): CS 102.

**CS 299. Special Topics (1-4 credit hours)**

A sophomore-level course designed for a topic of special current interest.

Prerequisite(s): As stated by the offering.

**CS 309. Software Engineering (3 credit hours)**

Application of the tools, methods and disciplines of computer science to solving real-world problems. Topics include: the software process, software life-cycle models, software teams, quality assurance, project duration and cost estimation.

Prerequisite(s): CS 250.

**CS 310. Computer Architecture and Assembly Language (3 credit hours)**

An introduction to the design and organization of computer systems. Introduction to tradeoff evaluation based on Amdahl’s Law and discussion of fundamental building blocks of computer systems including the arithmetic logic unit (ALU), floating point unit (FPU), memory hierarchy and input-output (I/O) system. Study includes the instruction set architecture (ISA), a companion of RISC and CISC architecture.

Prerequisite(s): CS 102 and MATH 205.

**CS 311. Object-Oriented Programming (3 credit hours)**

Object-oriented programming using languages such as C++, Java, Smalltalk, Delphi. Prerequisite(s): CS 250.

**CS 335. Introduction to Systems Analysis (3 credit hours)**

Life cycle of business information study, design, development, and operating phases, feasibility, project control.

Prerequisite(s): CS 250.

**CS 336. Scripting Languages (3 credit hours)**

Shell scripts and batch files, programming using interpreted languages such as PERL, Python, PHP, JavaScript or VBScript for automation of system administration tasks and web programming. Prerequisite(s): CS 102

**CS 355. Big Data Analytics (3 credit hours)**

Introduction to distributed computing and architecture, mapreduce fundamentals, big data ingestion and warehousing.

Prerequisite(s): CS 230 or CS 250

**CS 365. GUI Programming (3 credit hours)**

Graphical user interface design and implementation using visual programming tools and libraries.

Prerequisite(s): CS 250.

**CS 390. Directed Student Research in Computer Science. (1-3 Credits)**

CS 390 provides students with an introduction to the research and project design process as applied with the computing field. Students will learn about the tools of the trade and work through design principles starting with the articulation of a question, reviewing methods of exploration, gathering evidence, communicating results, and assessing/evaluating research or project outcomes.

Prerequisite(s): Permission of the instructor.

**CS 395. Internship. (1-3 credits)**

Placement of Computer Science students in business, industry and government to gain experience in applications of computer science in a work environment in a supervised setting. Prerequisite: Approval of the Department Chair.

**CS 399. Special Topics (1-3 credit hours) **

A junior-level course designed for a topic of special current interest, including televised courses. Prerequisite(s): As stated for each offering.

**CS 405. Algorithms (3 credit hours)**

Design and analysis of algorithms and data structures, asymptotic analysis, recurrence relations, probabilistic analysis, divide and conquer, searching, sorting and graph processing algorithms.

Prerequisite(s): CS 250.

**CS 408. Senior Seminar (2 credit hours)**

Integrates the work completed in the various courses. Reading and research oriented. (To be taken in one of the last two semesters prior to graduation.)

**CS 410. Systems Administration (3 credit hours)**

Maintenance of a multi-user computer system, managing services, managing users, managing data, file systems, networking and security.

Prerequisite(s): CS 240 and CS 336.

**CS 415. Theory of Computing (3 credit hours)**

Formal grammars and languages, Chomsky Normal Form, Greibach Normal Form, finite automata, pushdown automata, turing machines, computability.

Prerequisite(s): CS 250 and CS 311.

**CS 425. Compiler Design (3 credit hours)**

Introduces the theory and practice of programming language translation. Topics include compiler design, lexical analysis, parsing, symbol tables, declaration and storage management, code generation and optimization techniques.

Prerequisite(s): CS 250 and CS 310.

**CS 445. Embedded Systems (3 credit hours)**

An introduction to embedded system design and implementation, including specifications and modeling of embedded systems, hardware/software co-design, development methodologies and system verification and implementation with CAD tools.

Prerequisite(s): CS 310 or equivalent.

**CS 455. Applied Data Mining (3 credit hours)**

Data transformations, pattern discovery, cluster analysis, data mining and analytics, machine learning algorithms.

Prerequisite(s): MATH 355

sub1();
sub2();
sub3();
sub4();
sub5();
sub6();
sub7();
sub8();
sub9();
sub10();
function sub1() {
var sub1 = Math.floor(Math.random()*10000)+1;
sub1 = sub1.toString();
jQuery('#sub1title').attr('href', '#'+sub1+'');
jQuery('#sub1title').prop('class', ''+sub1+'');
jQuery('#sub1title').prop('id', '1'+sub1+'');
jQuery('.'+sub1+' + div').prop('id', ''+sub1+'');
}
function sub2() {
var sub2 = Math.floor(Math.random()*10000)+1;
sub2 = sub2.toString();
jQuery('#sub2title').attr('href', '#'+sub2+'');
jQuery('#sub2title').prop('class', ''+sub2+'');
jQuery('#sub2title').prop('id', '2'+sub2+'');
jQuery('.'+sub2+' + div').prop('id', ''+sub2+'');
}
function sub3() {
var sub3 = Math.floor(Math.random()*10000)+1;
sub3 = sub3.toString();
jQuery('#sub3title').attr('href', '#'+sub3+'');
jQuery('#sub3title').prop('class', ''+sub3+'');
jQuery('#sub3title').prop('id', '3'+sub3+'');
jQuery('.'+sub3+' + div').prop('id', ''+sub3+'');
}
function sub4() {
var sub4 = Math.floor(Math.random()*10000)+1;
sub4 = sub4.toString();
jQuery('#sub4title').attr('href', '#'+sub4+'');
jQuery('#sub4title').prop('class', ''+sub4+'');
jQuery('#sub4title').prop('id', '4'+sub4+'');
jQuery('.'+sub4+' + div').prop('id', ''+sub4+'');
}
function sub5() {
var sub5 = Math.floor(Math.random()*10000)+1;
sub5 = sub5.toString();
jQuery('#sub5title').attr('href', '#'+sub5+'');
jQuery('#sub5title').prop('class', ''+sub5+'');
jQuery('#sub5title').prop('id', '5'+sub5+'');
jQuery('.'+sub5+' + div').prop('id', ''+sub5+'');
}
function sub6() {
var sub6 = Math.floor(Math.random()*10000)+1;
sub6 = sub6.toString();
jQuery('#sub6title').attr('href', '#'+sub6+'');
jQuery('#sub6title').prop('class', ''+sub6+'');
jQuery('#sub6title').prop('id', '6'+sub6+'');
jQuery('.'+sub6+' + div').prop('id', ''+sub6+'');
}
function sub7() {
var sub7 = Math.floor(Math.random()*10000)+1;
sub7 = sub7.toString();
jQuery('#sub7title').attr('href', '#'+sub7+'');
jQuery('#sub7title').prop('class', ''+sub7+'');
jQuery('#sub7title').prop('id', '7'+sub7+'');
jQuery('.'+sub7+' + div').prop('id', ''+sub7+'');
}
function sub8() {
var sub8 = Math.floor(Math.random()*10000)+1;
sub8 = sub8.toString();
jQuery('#sub8title').attr('href', '#'+sub8+'');
jQuery('#sub8title').prop('class', ''+sub8+'');
jQuery('#sub8title').prop('id', '8'+sub8+'');
jQuery('.'+sub8+' + div').prop('id', ''+sub8+'');
}
function sub9() {
var sub9 = Math.floor(Math.random()*10000)+1;
sub9 = sub9.toString();
jQuery('#sub9title').attr('href', '#'+sub9+'');
jQuery('#sub9title').prop('class', ''+sub9+'');
jQuery('#sub9title').prop('id', '9'+sub9+'');
jQuery('.'+sub9+' + div').prop('id', ''+sub9+'');
}
function sub10() {
var sub10 = Math.floor(Math.random()*10000)+1;
sub10 = sub10.toString();
jQuery('#sub10title').attr('href', '#'+sub10+'');
jQuery('#sub10title').prop('class', ''+sub10+'');
jQuery('#sub10title').prop('id', '10'+sub10+'');
jQuery('.'+sub10+' + div').prop('id', ''+sub10+'');
}
**CS 505. LIBRARY RESEARCH (2 credit hours)**

Extensive library research techniques in a particular Computer Science area. Staff assigns a topic and supervises the project.*A maximum of two credits of CS 505 may be counted toward a Master’s in Computer Science.*

**CS 510. ADVANCED OPERATING SYSTEMS (3 credit hours)**

Advanced topics in operating systems, such as: multi-tasking, synchronization mechanisms, distributed system architecture, client-server models, distributed mutual exclusion and concurrency control, agreement protocols, load balancing, failure recovery, fault tolerance, cryptography, multiprocessor operating systems.

**CS 515. THEORY OF COMPUTATION (3 credit hours)**

Finite automata theory, including determinism vs. nondeterminism, regular expressions, non-regular languages, and algorithms for finite automata. Context free languages including grammars, parsing, and properties. Turing machines and their functions. Undecidability. Computational complexity, including the classes P and NP.

**CS 530. ADVANCED DATABASE MANAGEMENT SYSTEMS (3 credit hours)**

Transaction management; query processing and optimization; organization of database systems, advanced indexing, multi-dimensional data, similarity-based analysis, performance evaluation, new database applications.

**CS 540. NETWORK PROGRAMMING (3 credit hours)**

Socket and client-server programming, remote procedure calls, data compression standards and techniques, real-time protocols (e.g: chat, etc, web-related programming (CGI, Java/Javascript, HTTP, etc.,) network management (SNMP-based management, dynamic/CORBA-based management).

**CS 597. INTERNSHIP (1-3 credit hours)**

Participation in private corporations, public agencies, or non-profit institutions. Students will be required to have a faculty coordinator as well as a contact in the outside organization, to participate with them in regular consultations on the project, and to submit a final report to both. On completion of internship, the outside contact should provide the faculty coordinator with a letter evaluating student's performance during the internship period.*At most 3 credits can be accepted towards the M.S. degree.*

**CS 599. SPECIAL TOPICS (1-4 credit hours)**

An in-depth study of special topics proposed by members of the Computer Science graduate faculty.*Open to graduate students.*

**CS 605. ANALYSIS OF ALGORITHMS (3 credit hours)**

Techniques for designing efficient algorithms, including choice of data structures, recursion, branch and bound, divide and conquer, and dynamic programming. Complexity analysis of searching, sorting, matrix multiplication, and graph algorithms. Standard NP-complete problems and polynomial transformation techniques.

**CS 609. ADVANCED SOFTWARE ENGINEERING (3 credit hours)**

Advanced design methods including formal methods, component-based design, design with patterns and frameworks, and architectural-based designs. Modern software processes such as Extreme Programming and Cleanroom software development. Issues and problems associated with large-scale software project failures and techniques for preventing them.

**CS 610. ADVANCED COMPUTER ARCHITECTURE (3 credit hours)**

Design methodology; processor design; computer arithmetic: algorithms for addition, multiplication, floating point arithmetic; microprogrammed control; memory organization; introduction to parallel architectures.

**CS 611. COMPUTER SECURITY (3 credit hours)**

Principles and practice of Computer Network Security. Cryptography, authentication protocols, public key infrastructures, IP/www/E-commerce security, firewalls, VPN, and intrusion detection.

**CS 612. PARALLEL AND DISTRIBUTED COMPUTING (3 credit hours)**

General concepts in the design and implementation of parallel and distributed systems, covering all the major branches such as Cloud Computing, Grid Computing, Cluster Computing, Supercomputing, and Many-core Computing.

**CS 613. COMPUTER GRAPHICS (3 credit hours)**

Graphics hardware; graphics primitives; two-dimensional and three-dimensional viewing; basic modeling, input and display devices, data structures, architectures, primitives, and geometrical transformations appropriate to computer graphics.

**CS 615. MACHINE LEARNING AND DATA MINING (3 credit hours)**

Fundamentals of machine learning including rote learning, learning from examples, learning from observations, and learning by analogy; knowledge acquisition for expert systems. Information processing techniques and mathematical tools to assemble, access, and analyze data for decision support and knowledge discovery.

**CS 645. REAL-TIME EMBEDDED SYSTEMS (3 credit hours)**

An overview of the unique concepts and techniques needed to design and implement computer systems having real-time response requirements in an embedded environment. It contrasts the concepts and techniques of real time and embedded systems with those of more traditional computer systems. Topics include: Basic concepts of real time and embedded systems, hardware features, programming languages, real time operating systems, synchronization techniques, performance optimization and current trends in real time and embedded systems such as incorporating internet connectivity.

**CS 697. DIRECTED STUDENT RESEARCH (1-3 credit hours)**

An independent research topic designed by the student with the assistance of a graduate faculty advisor who supervises the project. The topic should be acceptable to the advisor and the chair. Limited to specific problems in the Computer Science field.*A maximum of three credits of CS 697 may be counted toward a Master’s in Computer Science. Variable contact hours.*

**CS 699. THESIS PREPARATION (1-9 credit hours)**

An independent research project designed by the student with assistance from the Thesis advisor and acceptable to the Thesis committee.*Variable contact hours. Course is graded pass/fail only.*

sub1();
sub2();
sub3();
sub4();
sub5();
sub6();
sub7();
sub8();
sub9();
sub10();
function sub1() {
var sub1 = Math.floor(Math.random()*10000)+1;
sub1 = sub1.toString();
jQuery('#sub1title').attr('href', '#'+sub1+'');
jQuery('#sub1title').prop('class', ''+sub1+'');
jQuery('#sub1title').prop('id', '1'+sub1+'');
jQuery('.'+sub1+' + div').prop('id', ''+sub1+'');
}
function sub2() {
var sub2 = Math.floor(Math.random()*10000)+1;
sub2 = sub2.toString();
jQuery('#sub2title').attr('href', '#'+sub2+'');
jQuery('#sub2title').prop('class', ''+sub2+'');
jQuery('#sub2title').prop('id', '2'+sub2+'');
jQuery('.'+sub2+' + div').prop('id', ''+sub2+'');
}
function sub3() {
var sub3 = Math.floor(Math.random()*10000)+1;
sub3 = sub3.toString();
jQuery('#sub3title').attr('href', '#'+sub3+'');
jQuery('#sub3title').prop('class', ''+sub3+'');
jQuery('#sub3title').prop('id', '3'+sub3+'');
jQuery('.'+sub3+' + div').prop('id', ''+sub3+'');
}
function sub4() {
var sub4 = Math.floor(Math.random()*10000)+1;
sub4 = sub4.toString();
jQuery('#sub4title').attr('href', '#'+sub4+'');
jQuery('#sub4title').prop('class', ''+sub4+'');
jQuery('#sub4title').prop('id', '4'+sub4+'');
jQuery('.'+sub4+' + div').prop('id', ''+sub4+'');
}
function sub5() {
var sub5 = Math.floor(Math.random()*10000)+1;
sub5 = sub5.toString();
jQuery('#sub5title').attr('href', '#'+sub5+'');
jQuery('#sub5title').prop('class', ''+sub5+'');
jQuery('#sub5title').prop('id', '5'+sub5+'');
jQuery('.'+sub5+' + div').prop('id', ''+sub5+'');
}
function sub6() {
var sub6 = Math.floor(Math.random()*10000)+1;
sub6 = sub6.toString();
jQuery('#sub6title').attr('href', '#'+sub6+'');
jQuery('#sub6title').prop('class', ''+sub6+'');
jQuery('#sub6title').prop('id', '6'+sub6+'');
jQuery('.'+sub6+' + div').prop('id', ''+sub6+'');
}
function sub7() {
var sub7 = Math.floor(Math.random()*10000)+1;
sub7 = sub7.toString();
jQuery('#sub7title').attr('href', '#'+sub7+'');
jQuery('#sub7title').prop('class', ''+sub7+'');
jQuery('#sub7title').prop('id', '7'+sub7+'');
jQuery('.'+sub7+' + div').prop('id', ''+sub7+'');
}
function sub8() {
var sub8 = Math.floor(Math.random()*10000)+1;
sub8 = sub8.toString();
jQuery('#sub8title').attr('href', '#'+sub8+'');
jQuery('#sub8title').prop('class', ''+sub8+'');
jQuery('#sub8title').prop('id', '8'+sub8+'');
jQuery('.'+sub8+' + div').prop('id', ''+sub8+'');
}
function sub9() {
var sub9 = Math.floor(Math.random()*10000)+1;
sub9 = sub9.toString();
jQuery('#sub9title').attr('href', '#'+sub9+'');
jQuery('#sub9title').prop('class', ''+sub9+'');
jQuery('#sub9title').prop('id', '9'+sub9+'');
jQuery('.'+sub9+' + div').prop('id', ''+sub9+'');
}
function sub10() {
var sub10 = Math.floor(Math.random()*10000)+1;
sub10 = sub10.toString();
jQuery('#sub10title').attr('href', '#'+sub10+'');
jQuery('#sub10title').prop('class', ''+sub10+'');
jQuery('#sub10title').prop('id', '10'+sub10+'');
jQuery('.'+sub10+' + div').prop('id', ''+sub10+'');
}
Estimation, problem solving, sets, whole and rational number operations and properties, the set of integers, elementary number theory.

Problem solving, number systems, logic, consumer math, basic algebra and geometry, basic probability and statistics.

Linear and quadratic equations; radical expressions; polynomial, rational, exponential and logarithmic functions; systems of linear equations; matrices; linear programming; input/output models; applications to business and economics.

Quadratic equations, radical expressions, complex numbers, systems of linear equations, graphs of functions, exponentials and logarithms.

Estimation, problem solving, sets, whole and rational number operations and properties, the set of integers, elementary number theory.

Estimation, problem solving, sets, whole and rational number operations and properties, the set of integers, elementary number theory.

Problem solving, number systems, logic, consumer math, basic algebra and geometry, basic probability and statistics.

Problem solving, number systems, logic, consumer math, basic algebra and geometry, basic probability and statistics.

Linear and quadratic equations; radical expressions; polynomial, rational, exponential and logarithmic functions; systems of linear equations; matrices; linear programming; input/output models; applications to business and economics.

Linear and quadratic equations; radical expressions; polynomial, rational, exponential and logarithmic functions; systems of linear equations; matrices; linear programming; input/output models; applications to business and economics.

Quadratic equations, radical expressions, complex numbers, systems of linear equations, graphs of functions, exponentials and logarithms.

Quadratic equations, radical expressions, complex numbers, systems of linear equations, graphs of functions, exponentials and logarithms.

sub1();
sub2();
sub3();
sub4();
sub5();
sub6();
sub7();
sub8();
sub9();
sub10();
function sub1() {
var sub1 = Math.floor(Math.random()*10000)+1;
sub1 = sub1.toString();
jQuery('#sub1title').attr('href', '#'+sub1+'');
jQuery('#sub1title').prop('class', ''+sub1+'');
jQuery('#sub1title').prop('id', '1'+sub1+'');
jQuery('.'+sub1+' + div').prop('id', ''+sub1+'');
}
function sub2() {
var sub2 = Math.floor(Math.random()*10000)+1;
sub2 = sub2.toString();
jQuery('#sub2title').attr('href', '#'+sub2+'');
jQuery('#sub2title').prop('class', ''+sub2+'');
jQuery('#sub2title').prop('id', '2'+sub2+'');
jQuery('.'+sub2+' + div').prop('id', ''+sub2+'');
}
function sub3() {
var sub3 = Math.floor(Math.random()*10000)+1;
sub3 = sub3.toString();
jQuery('#sub3title').attr('href', '#'+sub3+'');
jQuery('#sub3title').prop('class', ''+sub3+'');
jQuery('#sub3title').prop('id', '3'+sub3+'');
jQuery('.'+sub3+' + div').prop('id', ''+sub3+'');
}
function sub4() {
var sub4 = Math.floor(Math.random()*10000)+1;
sub4 = sub4.toString();
jQuery('#sub4title').attr('href', '#'+sub4+'');
jQuery('#sub4title').prop('class', ''+sub4+'');
jQuery('#sub4title').prop('id', '4'+sub4+'');
jQuery('.'+sub4+' + div').prop('id', ''+sub4+'');
}
function sub5() {
var sub5 = Math.floor(Math.random()*10000)+1;
sub5 = sub5.toString();
jQuery('#sub5title').attr('href', '#'+sub5+'');
jQuery('#sub5title').prop('class', ''+sub5+'');
jQuery('#sub5title').prop('id', '5'+sub5+'');
jQuery('.'+sub5+' + div').prop('id', ''+sub5+'');
}
function sub6() {
var sub6 = Math.floor(Math.random()*10000)+1;
sub6 = sub6.toString();
jQuery('#sub6title').attr('href', '#'+sub6+'');
jQuery('#sub6title').prop('class', ''+sub6+'');
jQuery('#sub6title').prop('id', '6'+sub6+'');
jQuery('.'+sub6+' + div').prop('id', ''+sub6+'');
}
function sub7() {
var sub7 = Math.floor(Math.random()*10000)+1;
sub7 = sub7.toString();
jQuery('#sub7title').attr('href', '#'+sub7+'');
jQuery('#sub7title').prop('class', ''+sub7+'');
jQuery('#sub7title').prop('id', '7'+sub7+'');
jQuery('.'+sub7+' + div').prop('id', ''+sub7+'');
}
function sub8() {
var sub8 = Math.floor(Math.random()*10000)+1;
sub8 = sub8.toString();
jQuery('#sub8title').attr('href', '#'+sub8+'');
jQuery('#sub8title').prop('class', ''+sub8+'');
jQuery('#sub8title').prop('id', '8'+sub8+'');
jQuery('.'+sub8+' + div').prop('id', ''+sub8+'');
}
function sub9() {
var sub9 = Math.floor(Math.random()*10000)+1;
sub9 = sub9.toString();
jQuery('#sub9title').attr('href', '#'+sub9+'');
jQuery('#sub9title').prop('class', ''+sub9+'');
jQuery('#sub9title').prop('id', '9'+sub9+'');
jQuery('.'+sub9+' + div').prop('id', ''+sub9+'');
}
function sub10() {
var sub10 = Math.floor(Math.random()*10000)+1;
sub10 = sub10.toString();
jQuery('#sub10title').attr('href', '#'+sub10+'');
jQuery('#sub10title').prop('class', ''+sub10+'');
jQuery('#sub10title').prop('id', '10'+sub10+'');
jQuery('.'+sub10+' + div').prop('id', ''+sub10+'');
}
**Areas of Interest**

Real-Time Embedded Systems, Energy-Efficient Computing, Software/Hardware Codesign, Statistical Analysis, Cloud Computing, Combinatorics (finite geometry and algebraic coding theory), Algorithms, etc.

**Selected Presentations**

Mr. Alemayehu Mengste presented in the 33rd IEEE International Performance Computing and Communications Conference (Poster Session) with title “Reducing (m, k)-missing rate for overloaded real-time systems”, Austin, Texas, U.S.A., Dec 5-7, 2014.

Dr. Sonya Armstrong presented in the World Congress of Psychiatry with title "a statistical analysis of a Nigerian project on autism", September 2014.

Dr. Linwei Niu presented in the 2013 International Conference on Advanced Materials and Information Technology Processing with title “Low Power Scheduling for Embedded Real-Time Systems with Quality of Service Constraint”, Los Angeles, CA, U.S.A., Oct, 2013

**Selected Publications**

The recent department publications are listed on the College of Natural Sciences and Mathematics website.

Linwei Niu, Gang Quan, "Peripheral-Conscious Scheduling for Weakly Hard Real-Time Systems", International Journal of Embedded Systems, Volume 7, No. 1, page 11-25, 2015.

Tianyi Wang, Linwei Niu, Shaolei Ren and Gang Quan, "Multi-Core Fixed-Priority Scheduling of Real-Time Tasks with Statistical Deadline Guarantee", IEEE/ACM Design, Automation & Test in Europe Conference (DATE’15), Grenoble, France, March 9-13, 2015.

Qiushi Han, Ming Fan, Linwei Niu and Gang Quan, "Energy Minimization for Fault Tolerant Scheduling of Periodic Fixed-Priority Applications on Multiprocessor Platforms", IEEE/ACM Design, Automation & Test in Europe Conference (DATE’15), Grenoble, France, March 9-13, 2015.

Alemayehu Mengste, Linwei Niu, "Reducing (m, k)-missing rate for overloaded real-time systems", 33rd IEEE International Performance Computing and Communications Conference (IPCCC’14 Poster Session), Austin, Texas, U.S.A., Dec 5-7, 2014.

Qiushi Han, Linwei Niu, Gang Quan, Shaolei Ren, Shangping Ren, "Energy efficient fault-tolerant earliest deadline first scheduling for hard real-time systems", Journal of Real-Time Systems: the International Journal of Time-Critical Computing Systems, Volume 50 Issue 5-6, pages 592-619, November, 2014

Linwei Niu, "Power-Low Scheduling for Real-Time Embedded Systems with QoS Constraints", WIT Transactions on Engineering Sciences, Volume 87, page 389-395, 2014.

Linwei Niu, "Energy-Efficient Scheduling for (m,k)-firm Real-Time Control Systems", International Journal of Automation and Power Engineering, Volume 3 Issue 1, page 28-31, January 2014

Linwei Niu, "Low Power Scheduling for Embedded Real-Time Systems with Quality of Service Constraints", 3rd International Conference on Advanced Materials and Information Technology Processing (AMITP’13), Los Angeles, CA, U.S.A., Oct 1-2, 2013

R. D. Baker, G. L. Ebert and K. L. Wantz, "Enumeration of Orthogonal Buekenhout Unitals , Designs, Codes and Cryptography" , 55 (2010), 261--283.

R. D. Baker, G. L. Ebert and K. L. Wantz, "Enumeration of Nonsingular Buekenhout Unitals, Note di Mathematica", 29 (2009), 69--90.

R. D. Baker, K. L. Wantz, "An arc partition of the Hughes plane using a field-theoretic model, Innovations in Incidence Geometry", 2 (2005), 83--92.

R. D. Baker, G. L. Ebert and T. Penttila, "Hyperbolic fibrations and q-clans , Designs, Codes and Cryptography", 34 (2005), 295--305.

R. D. Baker, K. L. Wantz, "Unitals in the code of the Hughes plane, J. Combinatorial Designs", 12 (2004), 35--38.

R. D. Baker, C. Culbert, G. L. Ebert and K. E. Mellinger, "Odd order flag-transitive affine planes of dimension three over their kernel , Advances in Geometry", Special Issue (2003), S215-S223.

R. D. Baker, A. Bonisoli, A. Cossidente and G. L. Ebert, "Cap partitions of the Segre variety S1,3", Discrete Mathematics , 255, (2002), 7--12. [This is the Proceedings of Combinatorics '98, Palermo, Italy .]

R. D. Baker, G. L. Ebert, Singer line orbits in PG(3,q) , "J. Statistical Planning and Inference", 95 (2001), 75--88.

R. D. Baker, G. L. Ebert, K. H. Leung, and Q. Xiang, "A trace conjecture and flag-transitive planes", J. Combinatorial Theory- Ser. A , 95 (2001), 158--168.

R. D. Baker, G. L. Ebert and K. L. Wantz, "Regular hyperbolic fibrations, Advances in Geometry", 1 (2001), 119--144.

R. D. Baker, J. M. Dover, G. L. Ebert, and K. L. Wantz, "Perfect Baer subplane partitions and three-dimensional flag-transitive planes , Designs, Codes and Cryptography", 21, (2000), 19-39.

R. D. Baker, J. M. Dover, G. L. Ebert, and K. L. Wantz, "Baer subgeometry partitions", J. Geometry, 67, (2000), 23--34.
sub1();
sub2();
sub3();
sub4();
sub5();
sub6();
sub7();
sub8();
sub9();
sub10();
function sub1() {
var sub1 = Math.floor(Math.random()*10000)+1;
sub1 = sub1.toString();
jQuery('#sub1title').attr('href', '#'+sub1+'');
jQuery('#sub1title').prop('class', ''+sub1+'');
jQuery('#sub1title').prop('id', '1'+sub1+'');
jQuery('.'+sub1+' + div').prop('id', ''+sub1+'');
}
function sub2() {
var sub2 = Math.floor(Math.random()*10000)+1;
sub2 = sub2.toString();
jQuery('#sub2title').attr('href', '#'+sub2+'');
jQuery('#sub2title').prop('class', ''+sub2+'');
jQuery('#sub2title').prop('id', '2'+sub2+'');
jQuery('.'+sub2+' + div').prop('id', ''+sub2+'');
}
function sub3() {
var sub3 = Math.floor(Math.random()*10000)+1;
sub3 = sub3.toString();
jQuery('#sub3title').attr('href', '#'+sub3+'');
jQuery('#sub3title').prop('class', ''+sub3+'');
jQuery('#sub3title').prop('id', '3'+sub3+'');
jQuery('.'+sub3+' + div').prop('id', ''+sub3+'');
}
function sub4() {
var sub4 = Math.floor(Math.random()*10000)+1;
sub4 = sub4.toString();
jQuery('#sub4title').attr('href', '#'+sub4+'');
jQuery('#sub4title').prop('class', ''+sub4+'');
jQuery('#sub4title').prop('id', '4'+sub4+'');
jQuery('.'+sub4+' + div').prop('id', ''+sub4+'');
}
function sub5() {
var sub5 = Math.floor(Math.random()*10000)+1;
sub5 = sub5.toString();
jQuery('#sub5title').attr('href', '#'+sub5+'');
jQuery('#sub5title').prop('class', ''+sub5+'');
jQuery('#sub5title').prop('id', '5'+sub5+'');
jQuery('.'+sub5+' + div').prop('id', ''+sub5+'');
}
function sub6() {
var sub6 = Math.floor(Math.random()*10000)+1;
sub6 = sub6.toString();
jQuery('#sub6title').attr('href', '#'+sub6+'');
jQuery('#sub6title').prop('class', ''+sub6+'');
jQuery('#sub6title').prop('id', '6'+sub6+'');
jQuery('.'+sub6+' + div').prop('id', ''+sub6+'');
}
function sub7() {
var sub7 = Math.floor(Math.random()*10000)+1;
sub7 = sub7.toString();
jQuery('#sub7title').attr('href', '#'+sub7+'');
jQuery('#sub7title').prop('class', ''+sub7+'');
jQuery('#sub7title').prop('id', '7'+sub7+'');
jQuery('.'+sub7+' + div').prop('id', ''+sub7+'');
}
function sub8() {
var sub8 = Math.floor(Math.random()*10000)+1;
sub8 = sub8.toString();
jQuery('#sub8title').attr('href', '#'+sub8+'');
jQuery('#sub8title').prop('class', ''+sub8+'');
jQuery('#sub8title').prop('id', '8'+sub8+'');
jQuery('.'+sub8+' + div').prop('id', ''+sub8+'');
}
function sub9() {
var sub9 = Math.floor(Math.random()*10000)+1;
sub9 = sub9.toString();
jQuery('#sub9title').attr('href', '#'+sub9+'');
jQuery('#sub9title').prop('class', ''+sub9+'');
jQuery('#sub9title').prop('id', '9'+sub9+'');
jQuery('.'+sub9+' + div').prop('id', ''+sub9+'');
}
function sub10() {
var sub10 = Math.floor(Math.random()*10000)+1;
sub10 = sub10.toString();
jQuery('#sub10title').attr('href', '#'+sub10+'');
jQuery('#sub10title').prop('class', ''+sub10+'');
jQuery('#sub10title').prop('id', '10'+sub10+'');
jQuery('.'+sub10+' + div').prop('id', ''+sub10+'');
}
sub1();
sub2();
sub3();
sub4();
sub5();
sub6();
sub7();
sub8();
sub9();
sub10();
function sub1() {
var sub1 = Math.floor(Math.random()*10000)+1;
sub1 = sub1.toString();
jQuery('#sub1title').attr('href', '#'+sub1+'');
jQuery('#sub1title').prop('class', ''+sub1+'');
jQuery('#sub1title').prop('id', '1'+sub1+'');
jQuery('.'+sub1+' + div').prop('id', ''+sub1+'');
}
function sub2() {
var sub2 = Math.floor(Math.random()*10000)+1;
sub2 = sub2.toString();
jQuery('#sub2title').attr('href', '#'+sub2+'');
jQuery('#sub2title').prop('class', ''+sub2+'');
jQuery('#sub2title').prop('id', '2'+sub2+'');
jQuery('.'+sub2+' + div').prop('id', ''+sub2+'');
}
function sub3() {
var sub3 = Math.floor(Math.random()*10000)+1;
sub3 = sub3.toString();
jQuery('#sub3title').attr('href', '#'+sub3+'');
jQuery('#sub3title').prop('class', ''+sub3+'');
jQuery('#sub3title').prop('id', '3'+sub3+'');
jQuery('.'+sub3+' + div').prop('id', ''+sub3+'');
}
function sub4() {
var sub4 = Math.floor(Math.random()*10000)+1;
sub4 = sub4.toString();
jQuery('#sub4title').attr('href', '#'+sub4+'');
jQuery('#sub4title').prop('class', ''+sub4+'');
jQuery('#sub4title').prop('id', '4'+sub4+'');
jQuery('.'+sub4+' + div').prop('id', ''+sub4+'');
}
function sub5() {
var sub5 = Math.floor(Math.random()*10000)+1;
sub5 = sub5.toString();
jQuery('#sub5title').attr('href', '#'+sub5+'');
jQuery('#sub5title').prop('class', ''+sub5+'');
jQuery('#sub5title').prop('id', '5'+sub5+'');
jQuery('.'+sub5+' + div').prop('id', ''+sub5+'');
}
function sub6() {
var sub6 = Math.floor(Math.random()*10000)+1;
sub6 = sub6.toString();
jQuery('#sub6title').attr('href', '#'+sub6+'');
jQuery('#sub6title').prop('class', ''+sub6+'');
jQuery('#sub6title').prop('id', '6'+sub6+'');
jQuery('.'+sub6+' + div').prop('id', ''+sub6+'');
}
function sub7() {
var sub7 = Math.floor(Math.random()*10000)+1;
sub7 = sub7.toString();
jQuery('#sub7title').attr('href', '#'+sub7+'');
jQuery('#sub7title').prop('class', ''+sub7+'');
jQuery('#sub7title').prop('id', '7'+sub7+'');
jQuery('.'+sub7+' + div').prop('id', ''+sub7+'');
}
function sub8() {
var sub8 = Math.floor(Math.random()*10000)+1;
sub8 = sub8.toString();
jQuery('#sub8title').attr('href', '#'+sub8+'');
jQuery('#sub8title').prop('class', ''+sub8+'');
jQuery('#sub8title').prop('id', '8'+sub8+'');
jQuery('.'+sub8+' + div').prop('id', ''+sub8+'');
}
function sub9() {
var sub9 = Math.floor(Math.random()*10000)+1;
sub9 = sub9.toString();
jQuery('#sub9title').attr('href', '#'+sub9+'');
jQuery('#sub9title').prop('class', ''+sub9+'');
jQuery('#sub9title').prop('id', '9'+sub9+'');
jQuery('.'+sub9+' + div').prop('id', ''+sub9+'');
}
function sub10() {
var sub10 = Math.floor(Math.random()*10000)+1;
sub10 = sub10.toString();
jQuery('#sub10title').attr('href', '#'+sub10+'');
jQuery('#sub10title').prop('class', ''+sub10+'');
jQuery('#sub10title').prop('id', '10'+sub10+'');
jQuery('.'+sub10+' + div').prop('id', ''+sub10+'');
}

For research scholarship opportunities, please visit the College of Natural Sciences and Mathematics page
sub1();
sub2();
sub3();
sub4();
sub5();
sub6();
sub7();
sub8();
sub9();
sub10();
function sub1() {
var sub1 = Math.floor(Math.random()*10000)+1;
sub1 = sub1.toString();
jQuery('#sub1title').attr('href', '#'+sub1+'');
jQuery('#sub1title').prop('class', ''+sub1+'');
jQuery('#sub1title').prop('id', '1'+sub1+'');
jQuery('.'+sub1+' + div').prop('id', ''+sub1+'');
}
function sub2() {
var sub2 = Math.floor(Math.random()*10000)+1;
sub2 = sub2.toString();
jQuery('#sub2title').attr('href', '#'+sub2+'');
jQuery('#sub2title').prop('class', ''+sub2+'');
jQuery('#sub2title').prop('id', '2'+sub2+'');
jQuery('.'+sub2+' + div').prop('id', ''+sub2+'');
}
function sub3() {
var sub3 = Math.floor(Math.random()*10000)+1;
sub3 = sub3.toString();
jQuery('#sub3title').attr('href', '#'+sub3+'');
jQuery('#sub3title').prop('class', ''+sub3+'');
jQuery('#sub3title').prop('id', '3'+sub3+'');
jQuery('.'+sub3+' + div').prop('id', ''+sub3+'');
}
function sub4() {
var sub4 = Math.floor(Math.random()*10000)+1;
sub4 = sub4.toString();
jQuery('#sub4title').attr('href', '#'+sub4+'');
jQuery('#sub4title').prop('class', ''+sub4+'');
jQuery('#sub4title').prop('id', '4'+sub4+'');
jQuery('.'+sub4+' + div').prop('id', ''+sub4+'');
}
function sub5() {
var sub5 = Math.floor(Math.random()*10000)+1;
sub5 = sub5.toString();
jQuery('#sub5title').attr('href', '#'+sub5+'');
jQuery('#sub5title').prop('class', ''+sub5+'');
jQuery('#sub5title').prop('id', '5'+sub5+'');
jQuery('.'+sub5+' + div').prop('id', ''+sub5+'');
}
function sub6() {
var sub6 = Math.floor(Math.random()*10000)+1;
sub6 = sub6.toString();
jQuery('#sub6title').attr('href', '#'+sub6+'');
jQuery('#sub6title').prop('class', ''+sub6+'');
jQuery('#sub6title').prop('id', '6'+sub6+'');
jQuery('.'+sub6+' + div').prop('id', ''+sub6+'');
}
function sub7() {
var sub7 = Math.floor(Math.random()*10000)+1;
sub7 = sub7.toString();
jQuery('#sub7title').attr('href', '#'+sub7+'');
jQuery('#sub7title').prop('class', ''+sub7+'');
jQuery('#sub7title').prop('id', '7'+sub7+'');
jQuery('.'+sub7+' + div').prop('id', ''+sub7+'');
}
function sub8() {
var sub8 = Math.floor(Math.random()*10000)+1;
sub8 = sub8.toString();
jQuery('#sub8title').attr('href', '#'+sub8+'');
jQuery('#sub8title').prop('class', ''+sub8+'');
jQuery('#sub8title').prop('id', '8'+sub8+'');
jQuery('.'+sub8+' + div').prop('id', ''+sub8+'');
}
function sub9() {
var sub9 = Math.floor(Math.random()*10000)+1;
sub9 = sub9.toString();
jQuery('#sub9title').attr('href', '#'+sub9+'');
jQuery('#sub9title').prop('class', ''+sub9+'');
jQuery('#sub9title').prop('id', '9'+sub9+'');
jQuery('.'+sub9+' + div').prop('id', ''+sub9+'');
}
function sub10() {
var sub10 = Math.floor(Math.random()*10000)+1;
sub10 = sub10.toString();
jQuery('#sub10title').attr('href', '#'+sub10+'');
jQuery('#sub10title').prop('class', ''+sub10+'');
jQuery('#sub10title').prop('id', '10'+sub10+'');
jQuery('.'+sub10+' + div').prop('id', ''+sub10+'');
}
# Faculty & Staff

Ms. Karen Kail

*Instructor, Mathematics and Computer Science*

Phone: (304) 766-4135

kkail@wvstateu.edu

the Bachelor of Science Degree in Computer Science, the Department endeavors to give students a sound

background for a basic understanding of science; to give prospective teachers a professional attitude, a strong

subject matter foundation and adequate skills and techniques in the application and the teaching of the material;

and, to show students that mathematics is a living and vital discipline by seeing it applied in the classroom and

in the various fields of industry.

The Computer Science program will teach students about object-oriented and procedural programming

techniques, data structures and database management, operating systems and distributed computing in order to

provide them with a fundamental understanding of those concepts of computer science that will enable them to

adapt to and function in any current computing environment.

The Department of Mathematics and Computer Science provides the courses for education students with

mathematics as the teaching field. See the Bachelor of Science in Education for specific requirements.

Mathematics is a rich field with a storied history of brilliant thinkers such as Archimedes, Euclid, Fermat, Newton, Gauss, Emmy Noether and West Virginia native John Nash. A wide variety of fields, including biology, chemistry, physics, statistics, computer science, engineering, actuarial science and economics are fundamentally dependent on mathematics. Indeed, it is impossible to find a field of study today in which mathematics has no application. In Galileo’s words, “Mathematics is the language in which God has written the universe.”

Computer Science is the systematic study of using computers to solve problems. It involves hardware design, analysis of algorithms and software development. It is a dynamic field that develops the principles that will guide future technological advances in many industries and areas of life. Computer Science has applications in virtually every major field, including banking, business, engineering, mathematics, physics, chemistry, biology, communications and entertainment, to name just a few.

Bachelor of Science in Mathematics (Classical Option)

Bachelor of Science in Mathematics (Computational Science Option)

Bachelor of Science in Computer Science

Bachelor of Science in Computer Science (Data Science Option)

Minor in Mathematics

Minor in Computer Science

Minor in Data Science

Minor in Cybersecurity

Minor in Information Technology

Computer Science Course Rotation

Computer history, application and ethics, operating systems, word processing, spreadsheets, databases, and integrating applications, data communications and the internet computer security and privacy.

Prerequisite(s): 19 or above in Math ACT.

The fundamental concepts of programming using C. Historical and social context of computing and an overview of computer science as a discipline.

Prerequisite(s): Eligibility for MATH 120.

The fundamental concepts of object-oriented programming using language such as C++, JAVA, or another object-oriented programming language of the instructor’s choice.

Prerequisite(s): C or better in CS 101.

Structured FORTRAN with documentation, input- output, loops and logic statements. Prerequisite(s): MATH 120, CS 101.

Provides the basic elements of the computer language necessary to run programs with an emphasis on business applications.

Prerequisite(s): CS 101.

An introduction to the organization of computer operating systems and the range of computer operations available through efficient use of operating systems.

Prerequisite(s): CS 102

This course introduces students to the standard visual basic forms, controls and event procedures. Sequential and random access file handling, database access and general language structure will be explored.

Prerequisite(s): CS 101.

This course presents the history of database management systems, the logical and physical structures of several ent models, and deals in a practical, experiential way with the design of databases and the management systems that control them.

Prerequisite(s): CS 102.

The basic concepts and skills, including general problem-solving techniques, files and text processing and abstract data structures.

Prerequisite(s): CS 101.

An introduction to the theories, terminology, equipment and distribution media associated with data communications and networking.

Prerequisite(s): CS 102.

An introduction to the implementation and use of abstract data types including dynamic arrays, linked lists, stack, queues, three hash tables and heaps as well as algorithms that operate on these structures with a preliminary study of algorithmic complexity.

Prerequisite(s): CS 102 and Math 205.

This course introduces students to the JAVA programming language. This object-oriented language is gaining popularity for developing secure, platform-independent applications and is often the language of choice for internet applications.

Prerequisite(s): CS 102.

A sophomore-level course designed for a topic of special current interest.

Prerequisite(s): As stated by the offering.

Application of the tools, methods and disciplines of computer science to solving real-world problems. Topics include: the software process, software life-cycle models, software teams, quality assurance, project duration and cost estimation.

Prerequisite(s): CS 250.

An introduction to the design and organization of computer systems. Introduction to tradeoff evaluation based on Amdahl’s Law and discussion of fundamental building blocks of computer systems including the arithmetic logic unit (ALU), floating point unit (FPU), memory hierarchy and input-output (I/O) system. Study includes the instruction set architecture (ISA), a companion of RISC and CISC architecture.

Prerequisite(s): CS 102 and MATH 205.

Object-oriented programming using languages such as C++, Java, Smalltalk, Delphi. Prerequisite(s): CS 250.

Life cycle of business information study, design, development, and operating phases, feasibility, project control.

Prerequisite(s): CS 250.

Shell scripts and batch files, programming using interpreted languages such as PERL, Python, PHP, JavaScript or VBScript for automation of system administration tasks and web programming. Prerequisite(s): CS 102

Introduction to distributed computing and architecture, mapreduce fundamentals, big data ingestion and warehousing.

Prerequisite(s): CS 230 or CS 250

Graphical user interface design and implementation using visual programming tools and libraries.

Prerequisite(s): CS 250.

CS 390 provides students with an introduction to the research and project design process as applied with the computing field. Students will learn about the tools of the trade and work through design principles starting with the articulation of a question, reviewing methods of exploration, gathering evidence, communicating results, and assessing/evaluating research or project outcomes.

Prerequisite(s): Permission of the instructor.

Placement of Computer Science students in business, industry and government to gain experience in applications of computer science in a work environment in a supervised setting. Prerequisite: Approval of the Department Chair.

A junior-level course designed for a topic of special current interest, including televised courses. Prerequisite(s): As stated for each offering.

Design and analysis of algorithms and data structures, asymptotic analysis, recurrence relations, probabilistic analysis, divide and conquer, searching, sorting and graph processing algorithms.

Prerequisite(s): CS 250.

Integrates the work completed in the various courses. Reading and research oriented. (To be taken in one of the last two semesters prior to graduation.)

Maintenance of a multi-user computer system, managing services, managing users, managing data, file systems, networking and security.

Prerequisite(s): CS 240 and CS 336.

Formal grammars and languages, Chomsky Normal Form, Greibach Normal Form, finite automata, pushdown automata, turing machines, computability.

Prerequisite(s): CS 250 and CS 311.

Introduces the theory and practice of programming language translation. Topics include compiler design, lexical analysis, parsing, symbol tables, declaration and storage management, code generation and optimization techniques.

Prerequisite(s): CS 250 and CS 310.

An introduction to embedded system design and implementation, including specifications and modeling of embedded systems, hardware/software co-design, development methodologies and system verification and implementation with CAD tools.

Prerequisite(s): CS 310 or equivalent.

Data transformations, pattern discovery, cluster analysis, data mining and analytics, machine learning algorithms.

Prerequisite(s): MATH 355

Extensive library research techniques in a particular Computer Science area. Staff assigns a topic and supervises the project.

Advanced topics in operating systems, such as: multi-tasking, synchronization mechanisms, distributed system architecture, client-server models, distributed mutual exclusion and concurrency control, agreement protocols, load balancing, failure recovery, fault tolerance, cryptography, multiprocessor operating systems.

Finite automata theory, including determinism vs. nondeterminism, regular expressions, non-regular languages, and algorithms for finite automata. Context free languages including grammars, parsing, and properties. Turing machines and their functions. Undecidability. Computational complexity, including the classes P and NP.

Transaction management; query processing and optimization; organization of database systems, advanced indexing, multi-dimensional data, similarity-based analysis, performance evaluation, new database applications.

Socket and client-server programming, remote procedure calls, data compression standards and techniques, real-time protocols (e.g: chat, etc, web-related programming (CGI, Java/Javascript, HTTP, etc.,) network management (SNMP-based management, dynamic/CORBA-based management).

Participation in private corporations, public agencies, or non-profit institutions. Students will be required to have a faculty coordinator as well as a contact in the outside organization, to participate with them in regular consultations on the project, and to submit a final report to both. On completion of internship, the outside contact should provide the faculty coordinator with a letter evaluating student's performance during the internship period.

An in-depth study of special topics proposed by members of the Computer Science graduate faculty.

Techniques for designing efficient algorithms, including choice of data structures, recursion, branch and bound, divide and conquer, and dynamic programming. Complexity analysis of searching, sorting, matrix multiplication, and graph algorithms. Standard NP-complete problems and polynomial transformation techniques.

Advanced design methods including formal methods, component-based design, design with patterns and frameworks, and architectural-based designs. Modern software processes such as Extreme Programming and Cleanroom software development. Issues and problems associated with large-scale software project failures and techniques for preventing them.

Design methodology; processor design; computer arithmetic: algorithms for addition, multiplication, floating point arithmetic; microprogrammed control; memory organization; introduction to parallel architectures.

Principles and practice of Computer Network Security. Cryptography, authentication protocols, public key infrastructures, IP/www/E-commerce security, firewalls, VPN, and intrusion detection.

General concepts in the design and implementation of parallel and distributed systems, covering all the major branches such as Cloud Computing, Grid Computing, Cluster Computing, Supercomputing, and Many-core Computing.

Graphics hardware; graphics primitives; two-dimensional and three-dimensional viewing; basic modeling, input and display devices, data structures, architectures, primitives, and geometrical transformations appropriate to computer graphics.

Fundamentals of machine learning including rote learning, learning from examples, learning from observations, and learning by analogy; knowledge acquisition for expert systems. Information processing techniques and mathematical tools to assemble, access, and analyze data for decision support and knowledge discovery.

An overview of the unique concepts and techniques needed to design and implement computer systems having real-time response requirements in an embedded environment. It contrasts the concepts and techniques of real time and embedded systems with those of more traditional computer systems. Topics include: Basic concepts of real time and embedded systems, hardware features, programming languages, real time operating systems, synchronization techniques, performance optimization and current trends in real time and embedded systems such as incorporating internet connectivity.

An independent research topic designed by the student with the assistance of a graduate faculty advisor who supervises the project. The topic should be acceptable to the advisor and the chair. Limited to specific problems in the Computer Science field.

An independent research project designed by the student with assistance from the Thesis advisor and acceptable to the Thesis committee.

**MATH 102. Plane Trigonometry**

Trigonometry functions and graphs, identities and equations, solving triangles, vectors, polar coordinates, De Moivre’s Theorem.

Prerequisites: MATH 120 or Math Enhanced ACT score of 23 or above or permission of instructor.

**MATH 103. Problem Solving and Number Sense**

Estimation, problem solving, sets, whole and rational number operations and properties, the set of integers, elementary number theory.

Prerequisites: ACT MATH 19+ or equivalent.

**MATH 103E. Problem Solving and Number Sense**

Estimation, problem solving, sets, whole and rational number operations and properties, the set of integers, elementary number theory.

Prerequisites: In addition, students must fulfill the associated lab component requirements.

**MATH 104. Algebra, Statistics, and Probability**

Rational numbers, percent, probability, statistics, algebraic methods and problem solving, with reference to the NCTM standards.

Prerequisites: MATH 103.

**MATH 105. Geometry and Measurement**

Geometry, measurement, transformations, coordinates, with reference to the NCTM standards. Prerequisites: MATH 103.

**MATH 111. Mathematics for Liberal Arts**

Problem solving, number systems, logic, consumer math, basic algebra and geometry, basic probability and statistics.

Prerequisites: ACT MATH 19+ or equivalent.

**MATH 111E. Mathematics for Liberal Arts**

Problem solving, number systems, logic, consumer math, basic algebra and geometry, basic probability and statistics.

Prerequisites: In addition, students must fulfill the associated lab component requirements.

**MATH 118. College Algebra with Business Applications**

Linear and quadratic equations; radical expressions; polynomial, rational, exponential and logarithmic functions; systems of linear equations; matrices; linear programming; input/output models; applications to business and economics.

Prerequisites: ACT MATH 19+ or equivalent.

**MATH 118E. College Algebra with Business Applications**

Linear and quadratic equations; radical expressions; polynomial, rational, exponential and logarithmic functions; systems of linear equations; matrices; linear programming; input/output models; applications to business and economics.

Prerequisites: In addition, students must fulfill the associated lab component requirements.

**MATH 119. Algebraic Methods**

Quadratic equations, radical expressions, complex numbers, systems of linear equations, graphs of functions, exponentials and logarithms.

Prerequisites: ACT MATH 19+ or equivalent.

**MATH 119E. Algebraic Methods**

Quadratic equations, radical expressions, complex numbers, systems of linear equations, graphs of functions, exponentials and logarithms.

Prerequisites: In addition, students must fulfill the associated lab component requirements.

**MATH 120. College Algebra**

Equations and inequalities, functions, systems of equations and inequalities, graphing, rational expressions, radical expressions, and applications of the above.

Prerequisites: MATH 119 or ACT MATH 21+ or equivalent.

**MATH 121. Pre-Calculus (4 credit hours)**

Properties and applications of algebraic and transcendental functions, angles, trigonometric ratios and identities, conic sections, polar coordinates, systems of equations, matrices.

Prerequisites: a grade of C or better in MATH 120, or ACT MATH 23+ or equivalent.

**MATH 150. Introduction to LaTeX (1 credit hour)**

Typesetting scientific and technical documents.

Prerequisites: MATH 206, or concurrent enrollment in MATH 206, or permission of the instructor.

**MATH 205. Discrete Mathematics**

The basic non-calculus mathematics for computer science in the areas of algebra, logic, combinations and graph theory.

Prerequisites: MATH 120 and CS 101.

**MATH 206. Analytic Geometry and Calculus I (4 credit hours)**

One- and two-dimensional analytic geometry, functions, limits, continuity, the derivative and its applications, maxima and minima, concavity, Newton’s Method, integration, area, Fundamental Theorem of Calculus, numerical integration, transcendental functions.

Prerequisites: MATH 120 and 102 or MATH 121.

**MATH 207. Analytic Geometry and Calculus II (4 credit hours)**

Applications of integration, techniques of integration, improper integrals, sequences and series, Taylor’s series, parametric equations, polar coordinates, conic sections.

Prerequisites: MATH 206.

**MATH 208. Analytic Geometry and Calculus III (4 credit hours)**

Vectors, lines and planes in space, quadric surfaces, cylindrical and spherical coordinates, vector calculus, multivariable functions, partial differentiation and gradients, constrained and unconstrained optimization, double and triple integrals, volume, centroids, moments of inertia, line integrals.

Prerequisites: MATH 207.

**MATH 222. Elementary Statistics for Math and Natural Science**

Descriptive statistics, probability distributions, experiment design and sampling, confidence intervals, hypothesis testing. Statistical software packages will be used.

Prerequisites: C or better in MATH 120 or ACT MATH 23+ or equivalent, or permission of instructor.

**MATH 251. Introduction to Computational Science**

The modeling process, simple dynamic models, models with interactions, computational error, simulation techniques, aggregate and agent-based models.

Prerequisites: MATH 207

**MATH 299. Special Topics (1-3 credit hours)**

Televised courses or other courses designed for special purposes.

**MATH 300. Introduction to College Geometry**

Advanced topics in the geometry of triangles, transformations (dilatations, similitude and inversion), foundations of geometry, theorems of Ceva and Menelaus, Desargues’ configuration and duality. Prerequisites: MATH 207.

**MATH 307. Linear Algebra**

Vector spaces, linear transformations, inner products, orthonormality, eigenvalue problems, system of linear equations, matrices, determinants; application.

Prerequisites: MATH 207.

**MATH 308. Introduction to Modern Abstract Algebra**

Axiomatic development of rings, integral domains, fields, polynomials, complex numbers, group theory, isomorphism.

Prerequisites: MATH 208.

**MATH 309. Introduction to the History of Mathematics**

The history of mathematics from the earliest times until the 18th century, as developed in Egypt, India, China, Greece and Europe.

Prerequisites: MATH 205 and 20

**MATH 310. Elementary Number Theory**

Induction, well-ordering principle, Euclidean Algorithm, Chinese Remainder Theorem, Fermat’s and Wilson’s Theorems, prime numbers, multiplicative functions, quadratic reciprocity, sum of squares, Diophantine Equations, Fermat’s Last Theorem, cryptology.

Prerequisites: MATH 205 and MATH 207.

**MATH 315. Introduction to Complex Variables**

Limits, continuity and differentiation of complex functions, analytic functions, Cauchy Riemann Equations, integration, contours, Cauchy’s Integral Formula, Taylor series and Cauchy’s Residue Theorem.

Prerequisites: MATH 208.

**MATH 317. Mathematics for Teaching**

Materials and methods for teaching mathematics in elementary school.

Prerequisites: EDUC 316 and MATH 104 and 105.

**MATH 355. Fundamentals of Data Science**

Data manipulation, visualization, classification, clustering; regression techniques; decision trees. Prerequisites: CS 336

**MATH 399. Special Topics (1-3 credit hours)**

A junior-level course designed for a topic of special current interest, including televised courses.

Prerequisites: As stated for each offering.

**MATH 401. Introduction to Vector Analysis**

Vector algebra, derivatives, space curves, line and surface integrals, transformation of coordinates, directional derivative, divergence and Stokes’ theorem; applications.

Prerequisites: MATH 208.

**MATH 402. Differential Equations I**

The types and solutions of differential equations of the first and second order. Solutions of differential equations and the application of physics and mechanics.

Prerequisites: MATH 208.

**MATH 403. Introduction to Probability**

Discrete and continuous probability models, random variables, estimation of parameters, moments, conditional probability, independence, central limit theorem, sampling distributions.

Prerequisites: MATH 208 and 222.

**MATH 404. Numerical Analysis**

Numerical solution of linear and non-linear algebraic equations and eigenvalue problems, curve fitting, interpolation theory, numerical integration, differentiation and solution of differential equations, algorithms and computer programming.

Prerequisites: MATH 208 and one programming language.

**MATH 405. Differential Equations II**

Laplace transform series solutions, Bessel and Legendre equations, systems of equations, existence theorems and numerical methods.

Prerequisites: MATH 402.

**MATH 406. Mathematics Statistics**

Decision theory, confidence intervals, hypothesis testing, multiple linear regression, correlations, analysis of variance, covariance, goodness of fit tests, non-parametric tests.

Prerequisites: MATH 403.

**MATH 407. Introduction to Topology**

Set theory, cardinal numbers, orderings, continuity, homeomorphisms, convergence, separation, compactness, connectedness, completeness; topological, metric, regular, normal and Hausdorff spaces.

Prerequisites: MATH 208.

**MATH 408. Senior Mathematics Seminar (2 credit hours)**

Integrates the work completed in the various courses. Reading and research oriented. To be taken in one of the last two semesters prior to graduation.

**MATH 409. Advanced Calculus I**

Functions of several variables, vector functions, gradient, partial differentiation, directional derivative, multiple integrals, maxima and minima, improper integrals, line and surface integrals, divergences and Stokes’ theorem.

Prerequisites: MATH 208.

**MATH 410. Advanced Calculus II**

Convergence of infinite series, uniform convergence, Taylor’s series, Fourier series, ordinary and partial differential equations; functions of a complex variable including integrals, power series, residues and poles, conformal mapping.

Prerequisites: MATH 409.

**MATH 411. Teaching of Mathematics in Secondary and Middle Schools**

Review of the fundamental operations as applied to integers, fractions, and decimals; objective, methods, and materials of instruction of mathematics, lesson and unit planning, classroom procedure in teaching mathematics, and use of mathematics laboratory.

Prerequisites: EDUC 316, MATH 205, and MATH 300.

**MATH 415. Differential Equations for Science and Engineering (4 credit hours)**

Ordinary differential equations, series solutions, Laplace transforms, systems of differential equations, Fourier series, partial differential equations, applications.

Prerequisites: MATH 208.

**MATH 435. Applied Regression and Time Series**

Simple and multiple linear regression, elementary time-series models, auto-regressive and moving –average models, fitting models to data, evaluating models and interpreting results.

Prerequisites: MATH 406

**MATH 102. Plane Trigonometry**

Trigonometry functions and graphs, identities and equations, solving triangles, vectors, polar coordinates, De Moivre’s Theorem.

Prerequisites: MATH 120 or Math Enhanced ACT score of 23 or above or permission of instructor.

**MATH 103. Problem Solving and Number Sense**

Estimation, problem solving, sets, whole and rational number operations and properties, the set of integers, elementary number theory.

Prerequisites: ACT MATH 19+ or equivalent.

**MATH 103E. Problem Solving and Number Sense**

Prerequisites: In addition, students must fulfill the associated lab component requirements.

**MATH 104. Algebra, Statistics, and Probability**

Rational numbers, percent, probability, statistics, algebraic methods and problem solving, with reference to the NCTM standards.

Prerequisites: MATH 103.

**MATH 105. Geometry and Measurement**

Geometry, measurement, transformations, coordinates, with reference to the NCTM standards. Prerequisites: MATH 103.

**MATH 111. Mathematics for Liberal Arts**

Problem solving, number systems, logic, consumer math, basic algebra and geometry, basic probability and statistics.

Prerequisites: ACT MATH 19+ or equivalent.

**MATH 111E. Mathematics for Liberal Arts**

Prerequisites: In addition, students must fulfill the associated lab component requirements.

**MATH 118. College Algebra with Business Applications**

Linear and quadratic equations; radical expressions; polynomial, rational, exponential and logarithmic functions; systems of linear equations; matrices; linear programming; input/output models; applications to business and economics.

Prerequisites: ACT MATH 19+ or equivalent.

**MATH 118E. College Algebra with Business Applications**

Prerequisites: In addition, students must fulfill the associated lab component requirements.

**MATH 119. Algebraic Methods**

Quadratic equations, radical expressions, complex numbers, systems of linear equations, graphs of functions, exponentials and logarithms.

Prerequisites: ACT MATH 19+ or equivalent.

**MATH 119E. Algebraic Methods**

Prerequisites: In addition, students must fulfill the associated lab component requirements.

**MATH 120. College Algebra**

Equations and inequalities, functions, systems of equations and inequalities, graphing, rational expressions, radical expressions, and applications of the above.

Prerequisites: MATH 119 or ACT MATH 21+ or equivalent.

**MATH 121. Pre-Calculus (4 credit hours)**

Properties and applications of algebraic and transcendental functions, angles, trigonometric ratios and identities, conic sections, polar coordinates, systems of equations, matrices.

Prerequisites: a grade of C or better in MATH 120, or ACT MATH 23+ or equivalent.

**MATH 150. Introduction to LaTeX (1 credit hour)**

Typesetting scientific and technical documents.

Prerequisites: MATH 206, or concurrent enrollment in MATH 206, or permission of the instructor.

**MATH 205. Discrete Mathematics**

The basic non-calculus mathematics for computer science in the areas of algebra, logic, combinations and graph theory.

Prerequisites: MATH 120 and CS 101.

**MATH 206. Analytic Geometry and Calculus I (4 credit hours)**

One- and two-dimensional analytic geometry, functions, limits, continuity, the derivative and its applications, maxima and minima, concavity, Newton’s Method, integration, area, Fundamental Theorem of Calculus, numerical integration, transcendental functions.

Prerequisites: MATH 120 and 102 or MATH 121.

**MATH 207. Analytic Geometry and Calculus II (4 credit hours)**

Applications of integration, techniques of integration, improper integrals, sequences and series, Taylor’s series, parametric equations, polar coordinates, conic sections.

Prerequisites: MATH 206.

**MATH 208. Analytic Geometry and Calculus III (4 credit hours)**

Vectors, lines and planes in space, quadric surfaces, cylindrical and spherical coordinates, vector calculus, multivariable functions, partial differentiation and gradients, constrained and unconstrained optimization, double and triple integrals, volume, centroids, moments of inertia, line integrals.

Prerequisites: MATH 207.

**MATH 222. Elementary Statistics for Math and Natural Science**

Descriptive statistics, probability distributions, experiment design and sampling, confidence intervals, hypothesis testing. Statistical software packages will be used.

Prerequisites: C or better in MATH 120 or ACT MATH 23+ or equivalent, or permission of instructor.

**MATH 251. Introduction to Computational Science**

The modeling process, simple dynamic models, models with interactions, computational error, simulation techniques, aggregate and agent-based models.

Prerequisites: MATH 207

**MATH 299. Special Topics (1-3 credit hours)**

Televised courses or other courses designed for special purposes.

**MATH 300. Introduction to College Geometry**

Advanced topics in the geometry of triangles, transformations (dilatations, similitude and inversion), foundations of geometry, theorems of Ceva and Menelaus, Desargues’ configuration and duality. Prerequisites: MATH 207.

**MATH 307. Linear Algebra**

Vector spaces, linear transformations, inner products, orthonormality, eigenvalue problems, system of linear equations, matrices, determinants; application.

Prerequisites: MATH 207.

**MATH 308. Introduction to Modern Abstract Algebra**

Axiomatic development of rings, integral domains, fields, polynomials, complex numbers, group theory, isomorphism.

Prerequisites: MATH 208.

**MATH 309. Introduction to the History of Mathematics**

The history of mathematics from the earliest times until the 18th century, as developed in Egypt, India, China, Greece and Europe.

Prerequisites: MATH 205 and 20

**MATH 310. Elementary Number Theory**

Induction, well-ordering principle, Euclidean Algorithm, Chinese Remainder Theorem, Fermat’s and Wilson’s Theorems, prime numbers, multiplicative functions, quadratic reciprocity, sum of squares, Diophantine Equations, Fermat’s Last Theorem, cryptology.

Prerequisites: MATH 205 and MATH 207.

**MATH 315. Introduction to Complex Variables**

Limits, continuity and differentiation of complex functions, analytic functions, Cauchy Riemann Equations, integration, contours, Cauchy’s Integral Formula, Taylor series and Cauchy’s Residue Theorem.

Prerequisites: MATH 208.

**MATH 317. Mathematics for Teaching**

Materials and methods for teaching mathematics in elementary school.

Prerequisites: EDUC 316 and MATH 104 and 105.

**MATH 355. Fundamentals of Data Science**

Data manipulation, visualization, classification, clustering; regression techniques; decision trees. Prerequisites: CS 336

**MATH 399. Special Topics (1-3 credit hours)**

A junior-level course designed for a topic of special current interest, including televised courses.

Prerequisites: As stated for each offering.

**MATH 401. Introduction to Vector Analysis**

Vector algebra, derivatives, space curves, line and surface integrals, transformation of coordinates, directional derivative, divergence and Stokes’ theorem; applications.

Prerequisites: MATH 208.

**MATH 402. Differential Equations I**

The types and solutions of differential equations of the first and second order. Solutions of differential equations and the application of physics and mechanics.

Prerequisites: MATH 208.

**MATH 403. Introduction to Probability**

Discrete and continuous probability models, random variables, estimation of parameters, moments, conditional probability, independence, central limit theorem, sampling distributions.

Prerequisites: MATH 208 and 222.

**MATH 404. Numerical Analysis**

Numerical solution of linear and non-linear algebraic equations and eigenvalue problems, curve fitting, interpolation theory, numerical integration, differentiation and solution of differential equations, algorithms and computer programming.

Prerequisites: MATH 208 and one programming language.

**MATH 405. Differential Equations II**

Laplace transform series solutions, Bessel and Legendre equations, systems of equations, existence theorems and numerical methods.

Prerequisites: MATH 402.

**MATH 406. Mathematics Statistics**

Decision theory, confidence intervals, hypothesis testing, multiple linear regression, correlations, analysis of variance, covariance, goodness of fit tests, non-parametric tests.

Prerequisites: MATH 403.

**MATH 407. Introduction to Topology**

Set theory, cardinal numbers, orderings, continuity, homeomorphisms, convergence, separation, compactness, connectedness, completeness; topological, metric, regular, normal and Hausdorff spaces.

Prerequisites: MATH 208.

**MATH 408. Senior Mathematics Seminar (2 credit hours)**

Integrates the work completed in the various courses. Reading and research oriented. To be taken in one of the last two semesters prior to graduation.

**MATH 409. Advanced Calculus I**

Functions of several variables, vector functions, gradient, partial differentiation, directional derivative, multiple integrals, maxima and minima, improper integrals, line and surface integrals, divergences and Stokes’ theorem.

Prerequisites: MATH 208.

**MATH 410. Advanced Calculus II**

Convergence of infinite series, uniform convergence, Taylor’s series, Fourier series, ordinary and partial differential equations; functions of a complex variable including integrals, power series, residues and poles, conformal mapping.

Prerequisites: MATH 409.

**MATH 411. Teaching of Mathematics in Secondary and Middle Schools**

Review of the fundamental operations as applied to integers, fractions, and decimals; objective, methods, and materials of instruction of mathematics, lesson and unit planning, classroom procedure in teaching mathematics, and use of mathematics laboratory.

Prerequisites: EDUC 316, MATH 205, and MATH 300.

**MATH 415. Differential Equations for Science and Engineering (4 credit hours)**

Ordinary differential equations, series solutions, Laplace transforms, systems of differential equations, Fourier series, partial differential equations, applications.

Prerequisites: MATH 208.

**MATH 435. Applied Regression and Time Series**

Simple and multiple linear regression, elementary time-series models, auto-regressive and moving –average models, fitting models to data, evaluating models and interpreting results.

Prerequisites: MATH 406

**MATH 102. Plane Trigonometry**

Trigonometry functions and graphs, identities and equations, solving triangles, vectors, polar coordinates, De Moivre’s Theorem.

Prerequisites: MATH 120 or Math Enhanced ACT score of 23 or above or permission of instructor.

**MATH 103. Problem Solving and Number Sense**

Prerequisites: ACT MATH 19+ or equivalent.

**MATH 103E. Problem Solving and Number Sense**

Prerequisites: In addition, students must fulfill the associated lab component requirements.

**MATH 104. Algebra, Statistics, and Probability**

Rational numbers, percent, probability, statistics, algebraic methods and problem solving, with reference to the NCTM standards.

Prerequisites: MATH 103.

**MATH 105. Geometry and Measurement**

Geometry, measurement, transformations, coordinates, with reference to the NCTM standards. Prerequisites: MATH 103.

**MATH 111. Mathematics for Liberal Arts**

Prerequisites: ACT MATH 19+ or equivalent.

**MATH 111E. Mathematics for Liberal Arts**

Prerequisites: In addition, students must fulfill the associated lab component requirements.

**MATH 118. College Algebra with Business Applications**

Prerequisites: ACT MATH 19+ or equivalent.

**MATH 118E. College Algebra with Business Applications**

Prerequisites: In addition, students must fulfill the associated lab component requirements.

**MATH 119. Algebraic Methods**

Prerequisites: ACT MATH 19+ or equivalent.

**MATH 119E. Algebraic Methods**

Prerequisites: In addition, students must fulfill the associated lab component requirements.

**MATH 120. College Algebra**

Equations and inequalities, functions, systems of equations and inequalities, graphing, rational expressions, radical expressions, and applications of the above.

Prerequisites: MATH 119 or ACT MATH 21+ or equivalent.

**MATH 121. Pre-Calculus (4 credit hours)**

Properties and applications of algebraic and transcendental functions, angles, trigonometric ratios and identities, conic sections, polar coordinates, systems of equations, matrices.

Prerequisites: a grade of C or better in MATH 120, or ACT MATH 23+ or equivalent.

**MATH 150. Introduction to LaTeX (1 credit hour)**

Typesetting scientific and technical documents.

Prerequisites: MATH 206, or concurrent enrollment in MATH 206, or permission of the instructor.

**MATH 205. Discrete Mathematics**

The basic non-calculus mathematics for computer science in the areas of algebra, logic, combinations and graph theory.

Prerequisites: MATH 120 and CS 101.

**MATH 206. Analytic Geometry and Calculus I (4 credit hours)**

One- and two-dimensional analytic geometry, functions, limits, continuity, the derivative and its applications, maxima and minima, concavity, Newton’s Method, integration, area, Fundamental Theorem of Calculus, numerical integration, transcendental functions.

Prerequisites: MATH 120 and 102 or MATH 121.

**MATH 207. Analytic Geometry and Calculus II (4 credit hours)**

Applications of integration, techniques of integration, improper integrals, sequences and series, Taylor’s series, parametric equations, polar coordinates, conic sections.

Prerequisites: MATH 206.

**MATH 208. Analytic Geometry and Calculus III (4 credit hours)**

Vectors, lines and planes in space, quadric surfaces, cylindrical and spherical coordinates, vector calculus, multivariable functions, partial differentiation and gradients, constrained and unconstrained optimization, double and triple integrals, volume, centroids, moments of inertia, line integrals.

Prerequisites: MATH 207.

**MATH 222. Elementary Statistics for Math and Natural Science**

Descriptive statistics, probability distributions, experiment design and sampling, confidence intervals, hypothesis testing. Statistical software packages will be used.

Prerequisites: C or better in MATH 120 or ACT MATH 23+ or equivalent, or permission of instructor.

**MATH 251. Introduction to Computational Science**

The modeling process, simple dynamic models, models with interactions, computational error, simulation techniques, aggregate and agent-based models.

Prerequisites: MATH 207

**MATH 299. Special Topics (1-3 credit hours)**

Televised courses or other courses designed for special purposes.

**MATH 300. Introduction to College Geometry**

Advanced topics in the geometry of triangles, transformations (dilatations, similitude and inversion), foundations of geometry, theorems of Ceva and Menelaus, Desargues’ configuration and duality. Prerequisites: MATH 207.

**MATH 307. Linear Algebra**

Vector spaces, linear transformations, inner products, orthonormality, eigenvalue problems, system of linear equations, matrices, determinants; application.

Prerequisites: MATH 207.

**MATH 308. Introduction to Modern Abstract Algebra**

Axiomatic development of rings, integral domains, fields, polynomials, complex numbers, group theory, isomorphism.

Prerequisites: MATH 208.

**MATH 309. Introduction to the History of Mathematics**

The history of mathematics from the earliest times until the 18th century, as developed in Egypt, India, China, Greece and Europe.

Prerequisites: MATH 205 and 20

**MATH 310. Elementary Number Theory**

Induction, well-ordering principle, Euclidean Algorithm, Chinese Remainder Theorem, Fermat’s and Wilson’s Theorems, prime numbers, multiplicative functions, quadratic reciprocity, sum of squares, Diophantine Equations, Fermat’s Last Theorem, cryptology.

Prerequisites: MATH 205 and MATH 207.

**MATH 315. Introduction to Complex Variables**

Limits, continuity and differentiation of complex functions, analytic functions, Cauchy Riemann Equations, integration, contours, Cauchy’s Integral Formula, Taylor series and Cauchy’s Residue Theorem.

Prerequisites: MATH 208.

**MATH 317. Mathematics for Teaching**

Materials and methods for teaching mathematics in elementary school.

Prerequisites: EDUC 316 and MATH 104 and 105.

**MATH 355. Fundamentals of Data Science**

Data manipulation, visualization, classification, clustering; regression techniques; decision trees. Prerequisites: CS 336

**MATH 399. Special Topics (1-3 credit hours)**

A junior-level course designed for a topic of special current interest, including televised courses.

Prerequisites: As stated for each offering.

**MATH 401. Introduction to Vector Analysis**

Vector algebra, derivatives, space curves, line and surface integrals, transformation of coordinates, directional derivative, divergence and Stokes’ theorem; applications.

Prerequisites: MATH 208.

**MATH 402. Differential Equations I**

The types and solutions of differential equations of the first and second order. Solutions of differential equations and the application of physics and mechanics.

Prerequisites: MATH 208.

**MATH 403. Introduction to Probability**

Discrete and continuous probability models, random variables, estimation of parameters, moments, conditional probability, independence, central limit theorem, sampling distributions.

Prerequisites: MATH 208 and 222.

**MATH 404. Numerical Analysis**

Numerical solution of linear and non-linear algebraic equations and eigenvalue problems, curve fitting, interpolation theory, numerical integration, differentiation and solution of differential equations, algorithms and computer programming.

Prerequisites: MATH 208 and one programming language.

**MATH 405. Differential Equations II**

Laplace transform series solutions, Bessel and Legendre equations, systems of equations, existence theorems and numerical methods.

Prerequisites: MATH 402.

**MATH 406. Mathematics Statistics**

Decision theory, confidence intervals, hypothesis testing, multiple linear regression, correlations, analysis of variance, covariance, goodness of fit tests, non-parametric tests.

Prerequisites: MATH 403.

**MATH 407. Introduction to Topology**

Set theory, cardinal numbers, orderings, continuity, homeomorphisms, convergence, separation, compactness, connectedness, completeness; topological, metric, regular, normal and Hausdorff spaces.

Prerequisites: MATH 208.

**MATH 408. Senior Mathematics Seminar (2 credit hours)**

Integrates the work completed in the various courses. Reading and research oriented. To be taken in one of the last two semesters prior to graduation.

**MATH 409. Advanced Calculus I**

Functions of several variables, vector functions, gradient, partial differentiation, directional derivative, multiple integrals, maxima and minima, improper integrals, line and surface integrals, divergences and Stokes’ theorem.

Prerequisites: MATH 208.

**MATH 410. Advanced Calculus II**

Convergence of infinite series, uniform convergence, Taylor’s series, Fourier series, ordinary and partial differential equations; functions of a complex variable including integrals, power series, residues and poles, conformal mapping.

Prerequisites: MATH 409.

**MATH 411. Teaching of Mathematics in Secondary and Middle Schools**

Review of the fundamental operations as applied to integers, fractions, and decimals; objective, methods, and materials of instruction of mathematics, lesson and unit planning, classroom procedure in teaching mathematics, and use of mathematics laboratory.

Prerequisites: EDUC 316, MATH 205, and MATH 300.

**MATH 415. Differential Equations for Science and Engineering (4 credit hours)**

Ordinary differential equations, series solutions, Laplace transforms, systems of differential equations, Fourier series, partial differential equations, applications.

Prerequisites: MATH 208.

**MATH 435. Applied Regression and Time Series**

Simple and multiple linear regression, elementary time-series models, auto-regressive and moving –average models, fitting models to data, evaluating models and interpreting results.

Prerequisites: MATH 406

Real-Time Embedded Systems, Energy-Efficient Computing, Software/Hardware Codesign, Statistical Analysis, Cloud Computing, Combinatorics (finite geometry and algebraic coding theory), Algorithms, etc.

Mr. Alemayehu Mengste presented in the 33rd IEEE International Performance Computing and Communications Conference (Poster Session) with title “Reducing (m, k)-missing rate for overloaded real-time systems”, Austin, Texas, U.S.A., Dec 5-7, 2014.

Dr. Sonya Armstrong presented in the World Congress of Psychiatry with title "a statistical analysis of a Nigerian project on autism", September 2014.

Dr. Linwei Niu presented in the 2013 International Conference on Advanced Materials and Information Technology Processing with title “Low Power Scheduling for Embedded Real-Time Systems with Quality of Service Constraint”, Los Angeles, CA, U.S.A., Oct, 2013

The recent department publications are listed on the College of Natural Sciences and Mathematics website.

Linwei Niu, Gang Quan, "Peripheral-Conscious Scheduling for Weakly Hard Real-Time Systems", International Journal of Embedded Systems, Volume 7, No. 1, page 11-25, 2015.

Tianyi Wang, Linwei Niu, Shaolei Ren and Gang Quan, "Multi-Core Fixed-Priority Scheduling of Real-Time Tasks with Statistical Deadline Guarantee", IEEE/ACM Design, Automation & Test in Europe Conference (DATE’15), Grenoble, France, March 9-13, 2015.

Qiushi Han, Ming Fan, Linwei Niu and Gang Quan, "Energy Minimization for Fault Tolerant Scheduling of Periodic Fixed-Priority Applications on Multiprocessor Platforms", IEEE/ACM Design, Automation & Test in Europe Conference (DATE’15), Grenoble, France, March 9-13, 2015.

Alemayehu Mengste, Linwei Niu, "Reducing (m, k)-missing rate for overloaded real-time systems", 33rd IEEE International Performance Computing and Communications Conference (IPCCC’14 Poster Session), Austin, Texas, U.S.A., Dec 5-7, 2014.

Qiushi Han, Linwei Niu, Gang Quan, Shaolei Ren, Shangping Ren, "Energy efficient fault-tolerant earliest deadline first scheduling for hard real-time systems", Journal of Real-Time Systems: the International Journal of Time-Critical Computing Systems, Volume 50 Issue 5-6, pages 592-619, November, 2014

Linwei Niu, "Power-Low Scheduling for Real-Time Embedded Systems with QoS Constraints", WIT Transactions on Engineering Sciences, Volume 87, page 389-395, 2014.

Linwei Niu, "Energy-Efficient Scheduling for (m,k)-firm Real-Time Control Systems", International Journal of Automation and Power Engineering, Volume 3 Issue 1, page 28-31, January 2014

Linwei Niu, "Low Power Scheduling for Embedded Real-Time Systems with Quality of Service Constraints", 3rd International Conference on Advanced Materials and Information Technology Processing (AMITP’13), Los Angeles, CA, U.S.A., Oct 1-2, 2013

R. D. Baker, G. L. Ebert and K. L. Wantz, "Enumeration of Orthogonal Buekenhout Unitals , Designs, Codes and Cryptography" , 55 (2010), 261--283.

R. D. Baker, G. L. Ebert and K. L. Wantz, "Enumeration of Nonsingular Buekenhout Unitals, Note di Mathematica", 29 (2009), 69--90.

R. D. Baker, K. L. Wantz, "An arc partition of the Hughes plane using a field-theoretic model, Innovations in Incidence Geometry", 2 (2005), 83--92.

R. D. Baker, G. L. Ebert and T. Penttila, "Hyperbolic fibrations and q-clans , Designs, Codes and Cryptography", 34 (2005), 295--305.

R. D. Baker, K. L. Wantz, "Unitals in the code of the Hughes plane, J. Combinatorial Designs", 12 (2004), 35--38.

R. D. Baker, C. Culbert, G. L. Ebert and K. E. Mellinger, "Odd order flag-transitive affine planes of dimension three over their kernel , Advances in Geometry", Special Issue (2003), S215-S223.

R. D. Baker, A. Bonisoli, A. Cossidente and G. L. Ebert, "Cap partitions of the Segre variety S1,3", Discrete Mathematics , 255, (2002), 7--12. [This is the Proceedings of Combinatorics '98, Palermo, Italy .]

R. D. Baker, G. L. Ebert, Singer line orbits in PG(3,q) , "J. Statistical Planning and Inference", 95 (2001), 75--88.

R. D. Baker, G. L. Ebert, K. H. Leung, and Q. Xiang, "A trace conjecture and flag-transitive planes", J. Combinatorial Theory- Ser. A , 95 (2001), 158--168.

R. D. Baker, G. L. Ebert and K. L. Wantz, "Regular hyperbolic fibrations, Advances in Geometry", 1 (2001), 119--144.

R. D. Baker, J. M. Dover, G. L. Ebert, and K. L. Wantz, "Perfect Baer subplane partitions and three-dimensional flag-transitive planes , Designs, Codes and Cryptography", 21, (2000), 19-39.

R. D. Baker, J. M. Dover, G. L. Ebert, and K. L. Wantz, "Baer subgeometry partitions", J. Geometry, 67, (2000), 23--34.

**Math & CS Club**

A work in collaboration between the computer science and mathematics majors on campus, the Mathematics & Computer Science Club is dedicated to advancing education and research in the fields of Robotics, Applied & Classical Mathematics, Computer Science, and Innovation in the sciences. With active members from all tiers of interests and experience, we invite anyone willing to participate in on-campus projects, community service, and advanced one-to-one research amongst peers and professors.

Faculty Advisor: Dr. Sonya Armstrong (304) 766-3390

Club President: Danford Smith

**Kathryn Lynch Scholarship (****â€‹â€‹**Recipient must be a math major and have a minimum cumulative GPA of 3.0. Recommended by the Mathematics Department)

For research scholarship opportunities, please visit the College of Natural Sciences and Mathematics page

Please contact Dr. Michael Anderson, the Chair of the Department of Mathematics and Computer Science for more information on it.

Ms. Karen Kail

Phone: (304) 766-4135

kkail@wvstateu.edu

Dr. Xiaohong Zhang

Monday: by appointment Tuesday: 9:30-10:30, 12:00-1:30 Wednesday: by appointment Thursday: 9:30-10:30, 12:00-1:30

W720 Wallace Hall

Phone: (304) 766-3398

zhangxi@wvstateu.edu