Computer Science

View/Download PDF Version

Admissions | Program Requirements | Graduate Courses

EIT Building, Room 579, (501) 569-8130, Website

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 core and 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.

Additional information is available at ComputerScience website.

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)
  • 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, and , where applicable, Test of English as a Foreign Language (TOEFL) score 80 or above. The combined scores for GRE are no longer used; however, contact the Graduate Coordinator of the program if there are any questions or concerns about the minimum GRE score requirement.
  • Completion of deficiency course work

For more information visit our website.

Deficiency Course Work

All students seeking admission to the program must have completed (with a grade of B or greater in each course) undergraduate course work equivalent to the following:

CPSC 2380 Data Structures and Algorithms
CPSC 2382 Introduction to Computer Systems and Assembly Language
CPSC 3370 Net Centric Computing I: Systems Concepts
CPSC 3371 Net Centric Computing II: Language Concepts
CPSC 3375 Database Concepts I
CPSC 3482 Computer Organization I
MATH 1451 Calculus I and 1452 Calculus II
MATH 2310 Discrete Mathematics

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.

Program Requirements

Core Course Work

All students must take the following 5 courses (15 credit hours):

CPSC 7311 Software Engineering
CPSC 7321 Operating Systems
CPSC 7331 Computer Architecture
CPSC 7341 Telecommunications and Networking
CPSC 7385 Analysis of Algorithms

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.
  • Graduate Project: 34 credit hours, consisting of 31 hours of course work plus 3 credit hours of CPSC 7398 Graduate Project.
  • Graduate Thesis: 31 credit hours, consisting of 25 hours of course work plus 6 credit hours of CPSC 8100-8600 Thesis.

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 the Grade Point A verge (GP A) above 3.5 in the first 9 hours and may not receive a grade of incomplete (1).

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.

Graduate Assistantships

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

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: Graduate standing. Increasing reliance on our computer based infrastructure elements along with the information driven nature of today’s business require a solid and in-dept 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; 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. 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 regrading 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 5373 Fundamentals of Software Engineering
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
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 Application
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 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 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 7312 Parallel Processing
Prerequisites: Graduate Standing; CPSC 2380 and CPSC 3482. Concepts of parallel computing, parallel architectures and interconnection networks; parallel programming and applications; basic paradigms and primitives, programming using PVM and MPI; efficient mapping of programs, automatic parallelization of serial code.

CPSC 7313 Concurrent Software System Architecture
Prerequisite: CPSC 5373 or permission of the instructor based on an existing background in object orientation methodology. This course covers the internal issues of modern software engineering. Topics include requirements of interface definition, notation, and analysis of systems of programs; software systems architecture issues, synchronization while managing shared data stores, and ensuring the architecture supports performance goals; concurrent task structuring criteria; software architecture patterns for common categories of software systems; concurrency support including enforcing mutual exclusion, engineering for deadlock avoidance, and ensuring liveness; design for testability; architecture performance analysis, performance design patterns, and anti-patterns. Three hour lectures. Three credit hours.

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 7321 Operating Systems
Prerequisites: CPSC 3380 and 3482; working knowledge of C, C++, or Java Programming Language, and UNIX. Advanced topics in operating systems; process synchronization, deadlock, concurrency; fault tolerance, protection and security; distributed operating systems, multiprocessor operating systems.

CPSC 7322 Distributed Systems
Prerequisites: CPSC 3380 and 3482; working knowledge of C, C++, or Java Programming Language, and UNIX. Foundations of distributed operating systems; design and implementation of distributed systems; communication methods for open systems; kernel facilities; file management, naming and dock synchronization; transactional services for shared data.

CPSC 7325 Software Security Assessment
Prerequisite: CPSC 5360 or Consent of Instructor. Today’s networked and complex software not only increases number of potential vulnerabilities but also increases risk associated with vulnerabilities. The industry-specific regulations further necessitate building software with the minimum number of vulnerabilities. This course delivers the know-how of dealing with software vulnerabilities. The topics covered include Software Vulnerability Fundamentals, Auditing and Black Box Testing, Design, Implementation, and Operational Vulnerabilities, Design and Operational Review, Attack Surface; Insecure Defaults; Access Control; Secure Channels, Application Review Process, Code-Auditing Strategies, Software Vulnerabilities, Assessing Memory Corruption, Synchronization and State, Vulnerabilities in Practice, Documentation of Findings.

CPSC 7326 Malware Analysis
Prerequisite: CPSC 4360/5360 or Consent of Instructor. Malware, despite the wide-spread use of anti-malware tools, still persists to exist in large-scale. Malware outbreaks can cost businesses large sums of money through business disruption, harming reputation, and recovery efforts. This class offers a thorough analysis of Malware including cutting edge techniques to detect and deal with it. Topics covered include History and Prevalence of Malicious Code, Types of Malicious Code, Infection Mechanisms and Targets, Virus Propagation Mechanisms, Defending against Viruses, Worms and Worm Components, Impediments to Worm Spread, Super Worms, Malicious Mobile Code, Backdoors, Polymorphic Malware, Rootkits, Process for Malware Analysis.

CPSC 7331 Computer Architecture
Prerequisite: CPSC 3482. A study of computer architecture fundamentals; the impact of technology on architecture cost and performance; Instruction Set Architecture; design and analysis of the building blocks of computer systems, including data path, control, and memory hierarchy; recent architectural developments.

CPSC 7332 Advanced Computer Architecture
Prerequisite: CPSC 7331. An in-depth study of recent advances in computer architecture; speedup architectural techniques for high performance computer systems; caches and memory hierarchy; RISC and Superscalar computer architectures.

CPSC 7333 VLSI Design
Prerequisite: CPSC 3482. This course introduces the principles of CMOS VLSI technology and design; design methodologies from concept to implementation of VLSI chips; Mentor Graphics and Cadence software packages that support design, layout, and verification.

CPSC 7334 Digital Systems and Hardware Design Languages
Prerequisites: Computer Science 3482 and working knowledge of . Architecture of a representative 32-bit processor, system building blocks, design conventions; HDL languages; modeling, simulation and verification of the representative processor.

CPSC 7341 Telecommunications and Networking
Prerequisite: Graduate Standing. Fundamentals of data communications; topologies and transmission media; protocol architecture; LAN, MAN, and WAN systems; network design issues.

CPSC 7342 Advanced Computer Networking
Prerequisite: CPSC 7341. Advanced concepts of computer networks; network hardware and software; preference models; data communications services; network standardization; design issues and their applications.

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 7351 Database Design
Prerequisite: CPSC 2380 and 3375, Mathematics 2310. Design process, objectives, techniques, syntactic and semantic analysis design; entity relationships model, binary and n-ary relationships, minimality of relations, recursive relationships, role-modeling structures, aggregate objects, conversion methods, implementation models, evaluating design, choosing design methodologies.

CPSC 7352 Advanced Database Issues
Prerequisite: CPSC 7351. Advanced issues in distributed databases, transaction systems, database machines, database mining, expert database systems, object-oriented databases, and extended data models.

CPSC 7361 Computer Graphics
Prerequisites: MATH 1305; working knowledge of C programming. Introduction to computer graphics and graphic systems; output primitives and attributes; two-dimensional graphics: geometric transformations, viewing; three-dimensional graphics: object representation, geometric and modeling transformations and viewing; illumination models and animation; user interface and interactive input.

CPSC 7362 Advanced Computer Graphics
Prerequisite: CPSC 7361. Advanced concepts in two-dimensional graphics and three-dimensional graphics; object representations, geometric and modeling transformations, viewing, NURBS curves and surfaces; texture mapping, visible-surface detection methods, advanced illumination and shading models, color models and color applications; advanced animations.

CPSC 7373 Artificial Intelligence
Prerequisites: CPSC 2380; MATH 1305 or MATH 1312. Undergraduate course work in artificial intelligence would be beneficial but is not required. Study of the major areas of artificial intelligence, including general problem solving, search strategies, heuristics, knowledge representation, machine learning, games, scene analysis, expert systems, robotics, natural language processing, and Al languages.

CPSC 7374 Image Processing
Prerequisites: MATH 1305 or MATH 1312 and a working knowledge of C programming. Study of digital image fundamentals; transformation enhancement, restoration, segmentation, compression, encoding, representation, and description of digital images.

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 7399 Selected Topics
Prerequisites: Graduate Standing, consent of instructor. Various topics in applied computer science, selected from the areas of intelligent systems and computer systems design. Offered on demand.

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.
Continue Reading →
//

converting website visitors

Top