Computer Science

Department of Mathematics and Computer Science

Professors:

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

Associate Professors:

Shushannah Smith, Ph.D. (Chair)

Assistant Professors:

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

Major(s):

  • Applied Mathematics (B.S.)
    Concentrations: 
    • Engineering
    • Quantitative Science
  • Computer Networks (B.A.
  • Computer Science (B.S.)
  • Information Technology (B.S.-ACE/Adult Education)
  • Mathematics (B.A. and B.S.)
  • Mathematics Education (B.S.)

Minor(s):

Computer Science
Mathematics
Physics

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

Purpose

The Department of Mathematics and Computer Science aims to help students define their life and career goals through courses, advising, and faculty interactions. Our programs prepare students for graduate studies, teaching, industry, government roles, and applying mathematics across various fields. As a service unit, the department also supports other university programs by offering essential mathematics courses. Beyond academics, we foster personal growth, interpersonal skills, and self-awareness, reflecting our commitment to students’ intellectual and holistic development.

High School Preparation

Potential mathematics and computer science majors should follow a college preparatory program in high school. Students should take courses in algebra, trigonometry, and calculus. Consideration should be given to enrolling in AP mathematics classes and taking AP exams. Additionally, students would do well to focus on obtaining high scores in the mathematics portions of standardized examinations such as the ACT or SAT.

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 171Calculus I and MA 172 Calculus II if a mathematics or applied mathematics major, or CM 210 Computer Science I with C++ and CM 220 Computer Science II Data Structures with C++ 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 all mathematics or computer science courses. 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

A degree in mathematics, applied mathematics, computer science, or computer networks prepares a student for a variety of positions in business, government, industry, and education or to pursue graduate studies in a variety of areas. 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. The types of graduate programs available include but are not limited to mathematics, mathematics education, engineering, computer science, data science, cybersecurity, robotics, physics, computational biology, health informatics, statistics and biostatistics.

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

This course is 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

This course is 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, this course examines interrelationships between operating systems and computer hardware. It 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

A continuation of CM 352, this course 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, baseband and broadband local area networks, logical link control, Internet protocol, broad case protocol, and distributed processing.

CM 401: Discrete Structures

Credits 3

This course is the mathematical basis for students of computer science. Students will learn 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

In this course students will study topics that 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, and optimality.

CM 481: Advanced Computer Networking

Credits 3

Students will study advanced computer networking topics that 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

This research course is about the formulation and solution of a selected problem in computer science. In the 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

This research course is about the formulation and solution of a selected problem in computer science. In the course students are required to demonstrate their ability to write, using standard English.