Computer Science

Department of Mathematics and Computer Science

Professors: 

  • Albert J. Osei, Ph.D.
  • Darayas Patel, Ph.D.

Associate Professors: 

  • Tara Young, Ed.D. 
  • Shushannah Smith, M.S., M.S.E. (Chair) 

Assistant Professors: 

  • Joseph Jeries, M.S. 
  • Jea Joseph, M.S.

Affiliated Program: Engineering (B.S.) - Dual Degree Partnership Program

Purpose 

The Department of Mathematics and Computer Science seeks to provide students with experiences that will assist them in defining their life and career objectives. Course offerings, advising, and day-to-day contact with faculty and other students contribute to this goal. The courses provide the necessary background to allow students to pursue graduate work, teach secondary school, obtain employment in government and industry, and acquire mathematical tools for use in the physical, social, life, and management sciences. The Department also functions as a service unit for the entire University, teaching such mathematics courses as other departments deem necessary for their programs. In addition to the students’ academic development, the Department provides an intellectual environment for fostering personal development, interpersonal skills, and self-understanding. These goals reflect the Department’s philosophy that our primary reason for being is to foster the intellectual growth and development of the students.

High School Preparation 

Potential mathematics majors should follow the college preparatory program in high school. Students should take as many mathematics courses as possible to acquire the knowledge and skills in algebra, geometry, and trigonometry needed for college calculus.

Application for Admission 

To be admitted as a major in the Department of Mathematics and Computer Science, students must have completed at least 32 hours of course work, including EN 112 Freshman Composition. Students must also have completed MA 171-172 Calculus I and II if a mathematics major, or CM 210-220 Computer Science I and II if a computer science or Computer Networks major. Applicants must have an overall minimum GPA of 2.00 and a minimum GPA of 2.25 in mathematics or computer science. Application forms must be obtained from and returned to the department.

Exit Examination 

Majors in the Department of Mathematics and Computer Science are required to pass an exit examination with a minimum passing grade of C. The exit examination is administered during both the fall and spring semesters. See the exit examination policy and procedures in the departmental curriculum guide.

Career Opportunities 

Since mathematical scientists use mathematics to solve real-world problems, a degree in mathematics, applied mathematics, or computer science prepares a student for a variety of positions in business, government, industry, and education (teaching K-12). The types of exciting and rewarding careers available include actuary, cryptologist, computer programmer, computer systems analyst, information scientist, mathematician, engineer, numerical analyst, operations research analyst, and statistician. 

Degrees

Courses

CM 108: Introduction to Computational Tools

Credits 3
The primary goal for this course is to teach students to solve problems of scale using a variety of computer tools. The course introduces STEM students to the fundamental principles of programming for solving computational problems. Languages may include MATLAB, EXCEL, and others as appropriate.

CM 210: Computer Science I with C++

Credits 3
An introduction to computers and structured programming using the C++ programming language. Topics will include problem-solving methods and algorithms, data types, loops, arrays, functions, structures, character strings, pointers, operations on bits, files, and computer network sockets programming. Program design and program styles will be emphasized.

CM 220: Computer Science II Data Structures with C++

Credits 3
A continuation of the study of data representation and algorithm design using C++. Principles of good programming style and step wise refinement will be emphasized. Topics will indicate string processing, searching and sorting, recursion, and dynamic data structures, and computer network sockets programming.

CM 340: Computer Logic Design

Credits 3
Introduction to formal methods in design of computer logic circuits and systems, contemporary design practices, and devices used in the synthesis of digital logic systems. Topics will include combinational and sequential systems, gates, memory elements, registers, bus structure, timing and control, arithmetic and logical unit, I/O units and computer network layering design.

CM 350: Introductory Computer Architecture

Credits 3
An introduction to the organization and structuring of major hardware components of digital computers. Includes a study of the following topics: information transfers and transformations which occur inside a computer; architecture-instruction sets; instruction formats; addressing modes; register usage; organization computer units–ALU, CPU, memory; I/O hardware description methodologies; and taxonomy of computer architectures. Studies of an assembly language and network architecture will be the case studies of the course.

CM 352: Operating Systems I

Credits 3
An introduction to operating systems. Examines interrelationships between operating systems and computer hardware. Compares batch, real=time, and time-sharing operating systems. Process management, CPU scheduling, memory management, I/O management, file system, security, virtual memory and networking. Contemporary operating systems will be used as examples.

CM 353: Operating Systems II

Credits 3
Continuation of CM 352. Introduces advanced topics in the design of operating systems, networking, device management and file management techniques, scheduling algorithms, security, and queuing theories. Comparison of existing operating systems for client-server. Networking of operating systems will be a case study in the course.

CM 367: Programming Languages

Credits 3
Organization of programming languages, especially routine behavior of programs; formal study of programming language specification and analysis; study, comparison, and evaluation of commercially available programming. BNF and syntax diagrams, grammars, program constituents, scoping rules, precedence, binding, parameter passing, and compile-versus interpretation.

CM 381: Computer Networks

Credits 3
This course will introduce data communication, base-band and broad-band local area networks, logical link control, Internet protocol, broad case protocol, and distributed processing.

CM 401: Discrete Structures

Credits 3
Mathematical basis for students of computer science. Propositional logic and proof, set theory, algebraic structures, groups and semi groups, graph theory, lattices and Boolean algebra, and finite fields.

CM 402: Design and Analysis of Algorithms

Credits 3
Topics studied include: Analysis tools-Turing and Markov algorithms, complexity measures, computational techniques; bound analysis of algorithms. Algorithms for internal and external searching/sorting. Network stack analysis. Optimality.

CM 481: Advanced Computer Networking

Credits 3
Students will study advanced computer networking topics. Topics include Networking Protocols (RIP, IGRP, EIGRP, MPLS, and OSPF), Subnetting designs, LAN Switching and VLANS, and Spanning Tree Protocol.

CM 490: Research and Independent Study

Credits 1 Max Credits 3
Code
W
Formulation and solution of a selected problem in computer science. In this course students are required to demonstrate their ability to write, using standard English.

CM 491: Research and Independent Study

Credits 1 Max Credits 3
Code
W
Formulation and solution of a selected problem in computer science. In this course students are required to demonstrate their ability to write, using standard English.