International

Explore more

Plan a campus visit

Find your fit

With more than 140 degrees to choose from, UALR offers its students the opportunity to learn from top-ranked faculty and provides invaluable internship opportunities in several in-demand career fields.

Computer Science

Master of Science in Computer Science

The Master of Science in Computer Science program at UALR reflects current trends in the computer science discipline and provides students with a solid theoretical and practical foundation for careers in computer science and/or advanced graduate studies.

The curriculum consists of two parts: 1) core and 2) specialization course work. Core curriculum refers to required courses that provide students with fundamental knowledge and skills. Building on the core foundation, the specialization course work allows students the opportunity to select electives to acquire more in-depth knowledge and skills in the studentsâ€™ specific areas of interest.

To satisfy the requirements for the masterâ€™s degree, in addition to the course work, students must complete one of the following program options: thesis, project, or comprehensive examination.

The program is accessible to day and evening students and lends itself to full- and part-time study.

Admission Requirements

Baccalaureate degree in computer science, engineering, mathematics, or a related discipline from an accredited institution

Cumulative Grade Point Average (GPA) of at least 3.0 (4.0 scale)

Where applicable, Test of English as a Foreign Language (TOEFL) score of 80 or above or equivalent IELTS score is recommended.

Graduate Record Examination (GRE) general test, with quantitative reasoning score of 156 or above, a verbal reasoning score of 145 or above, and analytical writing score 3.0 or above. The desired combined quantitative and verbal score on the GRE is 301.

Completion of deficiency course work, if conditional admission is granted.

Students must complete deficiency course work prior to enrolling in graduate classes. Exception: students with a single deficiency course remaining may register for that class and graduate classes as long as no prerequisites are violated.

Waiver of deficiency courses is at the discretion of the Computer Science Graduate Committee.

Graduate Assistantships

A limited number of graduate assistantships are available. Contact the Computer Science Graduate Coordinator for information.

Specialization Course Work

Students must choose five specialization classes (three if the thesis option is selected) from the Departmentâ€™s graduate-level courses. Students are strongly encouraged to select courses with the guidance of their graduate advisors with the goal of in-depth exploration of a particular area of computer science. Students may take a maximum of two 5000-level courses as part of their specialization course work. Additionally, the total number of special topic/independent study classes cannot exceed two. Substitution of up to two graduate electives from other disciplines (in particular Applied Science, Systems Engineering, Information Science, and Mathematical Sciences) for specialization course work is at the discretion of the Computer Science Graduate Coordinator.

Transfer of credit hours earned elsewhere

Maximum of six (6) graduate credit hours can be transferred into the graduate degree plan.

Program Options

All students must complete one of the following options:

Comprehensive Graduate Exam: 31 credit hours of course work plus a written comprehensive examination covering the core curriculum. The examination is offered once per regular semester and can be taken only twice.

Students choosing the project or thesis options must complete the core curriculum prior to enrolling in CPSC 7398 Graduate Project or CPSC 8100-8600 Thesis. Additionally, these students must form a Thesis/Project Committee must have at least two members, including the advisor, from the Computer Science Department and can have at most one member from other departments. Following the recommendation of the Thesis/Project Committee, the student must schedule an oral proposal presentation and a defense for the graduate project or thesis.

Performance Requirements

Students receiving a C grade will be warned that their academic performance is unacceptable and their status will be reviewed by the Computer Science Graduate Committee, which will suggest corrective action.

Upon receiving two Cs or either a D or an F, the student will be dismissed from the program.

Courses with grades of B or greater may not be repeated.

Core courses with grade C do not satisfy the degree requirement and must be repeated. A minimum score of B is required for each of the core courses.

Deviation from the degree plan requires the approval of the Computer Science Graduate Committee.

Conditionally admitted students must earn a Grade Point Average (GPA) above 3.5 in the first 9 hours and may not receive a grade of incomplete (I).

Academic Advising

Each semester, academic advising is required for every student prior to course registration. A copy of the approved courses must be filed with the Graduate School.

Graduation Requirements

Cumulative GPA of at least 3.0 in an approved program of study and satisfying all requirements specified in Performance Requirements.

Successful completion of one of the program options specified in Program Options.

Courses in Computer Science

CPSC 5360 Computer Security
Prerequisites: CPSC 3370 or equivalent of the consent of the instructor. Increasing reliance on our computer based infrastructure elements along with the information driven nature of todayâ€™s business require a solid and in-depth understanding of security issues pertinent to these systems. The topics include threats, assumptions, assurance, confidentiality, integrity, availability, access control matrix and policies, security models, requirements imposed by policies, protection models, covert channels, formal methods for security, designing and evaluating systems, intrusion detection, auditing, and other contemporary issues. Three hour lecture per week. Three credit hours. Not open to students with credit for CPSC 4360.

CPSC 5366 Interactive Computer Graphics and Animation
Prerequisites: Graduate Standing. Knowledge of C, C++ or Java Programming. Approval from the instructor. This course introduces computer graphics and all details of the design of modern graphic architecture. The topics covered include two – and three – dimensional modeling and transformation, lighting and shading, animation techniques, and an introduction to OpenGL. Three hours lecture; three credit hours. Not open to students with CPSC 4366.

CPSC 5372 Object-oriented Programming
Prerequisites: working knowledge of a procedural programming language and UNIX operating system, or consent of the instructor. Concepts of object-oriented analysis, design, and implementation. Object-oriented programming in C++, Smalltalk, Java, and/or another current object-oriented programming language.

CPSC 5373 Fundamentals of Software Engineering
Prerequisite: Graduate Standing. This is a foundational course that covers fundamentals of modern software engineering. Topics included are: requirements definition, analysis, and modeling including use cases and use case paths, domain names, state transition diagrams; techniques to increase robustness and avoid disastrous defects; object oriented architecture and design patterns and specification in UML; performance impact of design choices; analysis of designs regarding maintainability and testability; security engineering; practical system test and glass – box testing fundamentals; verification of test coverage via decision tables and state transition tables. Three hours lecture per week. Three credit hours. Not open to students with credit for CPSC 4373.

CPSC 5376 Applied Cryptography
Prerequisites: CPSC 2380, MATH 2310, and STAT 3352 or equivalents. A survey and study of the major cryptographic techniques, algorithms, and implementations, with emphasis on applications to communications and network security. Intended as a practical introduction to the current state-of-the-art of cryptographic usage. Three hours lecture. Three credit hours.

CPSC 5199-5499 Special Topics
Prerequisites: graduate standing, consent of instructor. Various topics in applied computer science, selected from the areas of intelligent systems and computer systems design. On demand.

CPSC 5381 Computer Architecture and Design
Prerequisite: Graduate Standing. This course addresses the architecture and design of modern microprocessor computers. In it adheres to the principle of â€śno mysteriesâ€ť and reveals all the details of the design of modern pipeline microprocessor system. The topics covered include formal description of computer architecture and design, instruction set architectures, processor design of modern computers, pipeline and instruction level parallelism, memory system design, and input and output systems. Not open to students with credit for CPSC 4381.

CPSC 5382 Compiler Construction and Theory
Prerequisites: Graduate Standing. The fundamental principles of compilers such as finite state machines, context free grammar, are studied. The compilation techniques covered include compile and run- time symbol tables, lexical analysis syntax analysis, semantic analysis, object code generation, error diagnostic and optimization. Three hours lecture. Three credit hours. Not open to students with credit for CPSC 4382.

CPSC 5384 Computer Networks
Prerequisites: Graduate Standing. This course is an introduction to the design and analysis of computer networks. The course covers a breadth of topics including computer communications architecture and protocols, local and wide area networks, IP networks, bridging and routing, Ethernet, wireless LANs, sockets programming, and distributed applications. Three hours lecture; three credit hours. Not open to students with credit for CPSC 4382.

CPSC 5388 Smart Software Systems
Prerequisites: Graduate Standing. Ability to perform independently and as a team member is absolutely essential. A working knowledge of C, C++, Java and a course in digital logic/ assembly language programming is very much desired. This class will involve extensive independent work with your group and the instructor to plan and implement an embedded software systems project. Three hours lecture; three credit hours. Not open to students with credit for CPSC 4388.

CPSC 7101 Research Methodology
Prerequisites: Graduate Standing. A one-credit course in a set of three, introducing students to the research methodology of doctoral level research in the Integrated Computing field. Research examples will be drawn from work that exemplifies the interconnecting research opportunities across the Integrated Computing discipline.

CPSC 7102 Research Tools
Prerequisites: Graduate Standing. A one-credit course in a set of three, introducing students to the research methodology of doctoral level research in the Integrated Computing field. Research examples will be drawn from work that exemplifies the interconnecting research opportunities across the Integrated Computing discipline.

CPSC 7103 Research Applications
Prerequisites: SYEN / IFSC / CPSC 7101 and 7102. A one-credit course in a set of three, introducing students to the research methodology of doctoral level research in the Integrated Computing field. Research examples will be drawn from work that exemplifies the interconnecting research opportunities across the Integrated Computing discipline. Students may with permission of the other Graduate Coordinator concurrently enroll in this course with either SYEN / IFSC /CPSC 7101 or 7102.

CPSC 7190 Graduate Seminar
Prerequisite: Graduate Standing. A weekly expository lecture series by the faculty and invited speakers on current research areas.

CPSC 7301 Essentials of Computer Software
Prerequisites: Graduate Standing with an engineering or science degree and at least one programming language of C, C++ or Java. This course introduces students to important concepts and techniques in developing software and internet based applications. Topics include: programming language paradigms, data structures, algorithms and programming environments: compiled versus interpreted environments, web based languages and scripting techniques, data access techniques and support for secure protocols, methods for querying and updating structured web documents and semi structured data. Language issues in the development and management of commercial projects, etc. This course and CPSC 7302 will prepare the science or engineering graduates for the computer science master program and the credit of this course is not counted towards the requirement of the master program. Three hours lecture and three credit hours.

CPSC 7302 Essentials of Computer Systems
Prerequisites: Graduate Standing with an engineering or science degree and at least one programming language of C, C++ or Java. This course takes an integrated approach to cover the major components of the complete computer system: digital logic, computer organization and architecture, programming languages and compilers, and operating systems and computer networks. This course and CPSC 7301 will prepare the science or engineering graduates for the computer science master’s program and the credit of this course is not counted towards the requirement of the master’s program. Three hours lecture and three credit hours.

CPSC 7311 Software Engineering
Prerequisites: Graduate Standing and a working knowledge of C or C++. An overview of the software development paradigm to include the software life cycle, prototyping and object-orientation; reliability, quality assurance, formal methods, and CASE tools.

CPSC 7314 Integrated Software System Engineering
Prerequisites: CPSC 4373/5373. This course covers the integration related issues of modern software engineering. Topics include but not limited to specification of use cases for a distributed application; design and development concerns such as fault tolerance, reliability, security, interoperability; how these concerns influence the placement of functionality in the distributed environmentâ€”subsystem structuring criteria; design that allows upgrades and modifications of installed distributed systems; representation of timing sequences; performance analysis of concurrent and distributed systems; design for testability; distributed architecture design patterns; other issues about testing distributed systems. Three hour lectures. Three credit hours.

CPSC 7343 Sensor Networks
Prerequisites: CPSC 4384/5384. This course aims to develop fundamental understanding of sensor network systems. It covers architectures and communications protocols for sensor networks. Node and network architectures, naming and addressing, time synchronization, localization and positioning, topology control, and content-based networking are all covered. At the completion of the course, students will understand how sensor networks work as intelligent and coordinated systems.

CPSC 7398 Graduate Project
Prerequisites: Graduate Standing and consent of the studentâ€™s graduate advisor. Students, under faculty supervision, will conduct directed research on a particular problem or area of computer science in some depth, and will produce an appropriate project and report based on their investigations.

CPSC 7100 – 7400 Independent Study
Prerequisite: Graduate Standing, instructor permission. Provides an opportunity for doctoral students to learn material relevant to their research that is not offered in a regular course. Students must take this course with an instructor who will guide the study. A copy of work done in the course will be submitted at the end of the semester.

CPSC 8100-8600 Thesis
Prerequisite: Consent of thesis advisor. Scholarly investigation of a selected problem in computer science culminating in a written, orally defended thesis. Maximum of six hours may be applied to M.S. Variable credit of one to six hours.