Computer Science

http://www.pvamu.edu/cs

Department Mission

The mission of the Department of Computer Science consists of three interrelated components: (1) providing the highest quality instruction to the students; (2) conducting leading-edge research in computer science and engineering; and (3) providing leadership and service to our professional communities. Computer Science’s faculty and staff are committed to excellence and updating the program to meet the present and future needs of industry and the society.

Purpose and Goals

The Bachelor of Science in Computer Science Program is designed to:

  1. Provide a high quality degree program in computer science that will prepare students for lifelong learning as they pursue professional careers in computer science and leadership roles in the society in which they serve.
  2. Provide our students with a strong foundation, state-of-the-art techniques, methodologies, and tools to specify, design and develop computer-based solutions to complex systems problems.
  3. Provide opportunities for faculty and students to contribute to the body of knowledge that serves the profession, by engaging in research, scholarly and other activities which support their interests and are in agreement with the goals and objectives of the College, and the University.
  4. Prepare our students to communicate well, both orally and in writing, on moral and ethical development, in knowledge of the liberal arts, and on commitment to services to others.

Admission Requirements

Table 1. First-time Freshmen Requirements for Direct Admission to the Computer Science Program

Academic Major Meet PVAMU Admission Standards High School GPA SAT/ACT High School Rank THEA Passed
Computer ScienceYes3.00930/19Top 25%Yes (all subjects)

Table 2. First-time Freshmen Requirements for Conditional Admission to the Computer Science Program

Academic Major Meet PVAMU Admission Standards High School GPA SAT/ACT High School Rank THEA Passed
Computer ScienceYes2.50820/17Top 50%No

Table 3. Transfer Students Requirements for Direct Admission to the Computer Science Program

Academic Major Meet PVAMU Admission Standards Transfer Grades Transfer GPA (Math; Science and Engineering)
Computer ScienceYes "C” or greater2.50

These tables represent a summary of admission requirements. For more detailed requirements see the section in the catalog pertaining to the Roy G. Perry College of Engineering Admission.

Accreditation Status

The Computer Science program is accredited by the Computing Accreditation Commission of ABET, Inc., http://www.abet.org.

Bachelor of Science in Computer Science Degree Program Requirements

Core Curriculum 142
College Requirements
MATH 1124Calculus with Analytic Geometry I 11
MATH 2024Calculus with Analytic Geometry II4
GNEG 1121
GNEG 2021
Engineering Lab II for Mathematics
and Engr Lab III for Math
2
GNEG 3061Introduction to Engineering Project Management1
Major Requirements
COMP 1011Intro to Basic Engr & Comp Sci1
COMP 1021Introduction to Computer Science Lab1
COMP 1211Computer Science Lab I1
COMP 1224Computer Science and Laboratory II4
COMP 2013Data Structures3
COMP 2033Assembly Language3
COMP 2103Discrete Structures3
COMP 3033Digital Logic Circuits3
COMP 3043Computer Organization3
COMP 3053Analysis of Algorithms3
COMP 3063Operation Systems3
COMP 3223Software Engineering3
COMP 4001Ethics and Social Issues in Computing1
COMP 4072Senior Design Project I2
COMP 4082Senior Design Project II2
COMP 4113Programming Language Design3
COMP 4123Computer Networks3
COMP 4133Formal Languages and Automata3
COMP 4953Data Base Management3
Computer Science Electives (Department approved Computer Science Elective)6
Computer Science Electives (All upper division courses)6
Natural Sciences Area Requirements 2
Select one of the following sequences:6
Science Sequence 1
General Inorganic Chemistry
and Inorganic Chemistry Laboratory I
General Inorganic Chemistry
and Inorganic Chemistry Laboratory II
University Physics I
and University Physics Lab I
Science Sequence 2
General Inorganic Chemistry
and Inorganic Chemistry Laboratory I
University Physics I
and University Physics Lab I
University Physics II
and University Physics Lab II
Science Sequence 3
College Biology I
and College Biology Laboratory
University Physics I
and University Physics Lab I
University Physics II
and University Physics Lab II
Math Area Requirements
MATH 3023Probability and Statistics3
MATH 3073Linear Algebra3
Project Management
Total Hours122
1

All Computer Science Core Curriculum requirements are shown in the suggested degree program. All Computer Science majors must take ENGL 1123, ENGL 1143, COMP 1213, MATH 1124, PHYS 2513, CHEM 1033 or BIOL 1113 (Please refer to the Science Sequence option in the Natural Science Area requirements section), as part of the University Core Curriculum. Also, please note that 3 hours of MATH 1124 counts toward the core curriculum and 1 hour counts toward the college requirements.

2

Students are required to take all courses in Sequence 1, or Sequence 2, or Sequence 3. The students meet the 12 hours Science requirement by taking 6 hours from the core curriculum and the remaining 6 hours from the Science Sequences. Please note that one 3 hour course and 3 - 1 hour lab courses will count in the 6 hours not included in the core curriculum.

Computer Science Suggested Lower Level Electives

The following courses cannot be used as upper level Computer Science courses
COMP 1811Intro. to Game Design and Dev.1
COMP 1821Intro to Game Dev. Env.1
COMP 2003Introduction to Web Design and Multimedia3
COMP 2023Applications Development using C#3
COMP 2133Introduction to Information Security3
COMP 2143Introduction to Java3
COMP 2813Game Design and Dev. I3
COMP 2821Game Design and Dev. II1
Electives must be 3000 level or above
COMP 3113Object-Oriented Analysis and Design3
COMP 3203System Analysis and Design3
COMP 3213Graphics and Visual Computing3
COMP 3333Smart Device App Development3
COMP 3811VR and Visualization1
COMP 3823Computer Graphics and Program3
COMP 4063Artificial Intelligence3
COMP 4073Special Topics3
COMP 4233Network Security3
COMP 4843Human-Computer Interaction3
COMP 4963Introduction to Service Computing3
COMP 4993Independent Study1-3

Technical Electives through Five-Year BS/MS Degree Plan Option

Students may, upon approval to the Five-Year BS/MS Degree Plan Option (see Roy G. Perry College of Engineering Academic Programs and Degree Plans), apply up to six semester-credit hours of graduate courses toward technical electives requirements.

Eligibility to Take Upper Division College Courses

The Roy G. Perry College of Engineering requires an eligibility standard for the students to take upper division college courses. Students must have completed or be currently enrolled in all lower division (1000 and 2000 level) courses in English, mathematics, science, and engineering to be eligible to enroll in upper division (3000 or 4000 level) courses in the Roy G. Perry College of Engineering. Students in Computer Science Program must get a “C” or better in each of the Math, Science, English, and Computer Science courses to be eligible to enroll in upper division (3000 or 4000 level) courses in the College. Students transferring to the Roy G. Perry College of Engineering with 60 or more semester hours from another institution will be allowed a period of one semester to comply.

Requirements for Computer Science as a Minor Field

COMP 1211Computer Science Lab I1
COMP 1213Computer Science I3
COMP 1224Computer Science and Laboratory II4
COMP 2013Data Structures3
COMP 2033Assembly Language3
Three Upper-Division Courses9
MATH 1124Calculus with Analytic Geometry I4
MATH 2024Calculus with Analytic Geometry II4
Total Hours31

Purpose and Goals

The Master’s degree programs prepare graduate students for positions in industry and research. Master’s degree graduates are also provided with a foundation for continuing their study at the doctoral level in Computer Science or Computer Information Systems.

The major objectives of the programs are to:

  1. Address the critical shortage of professionals in Computer Science and Information Technology in Texas and the nation;
  2. Provide an avenue for computer professionals in industry to upgrade their professional skills; and
  3. Prepare graduates to pursue the terminal degree in Computer Science and Computer Information Systems.

Special Student Admission

Applicants who wish to take graduate courses but who do not meet the minimum GPA for admission as degree, provisional, or non-degree status may apply for special student status admission to the University in order to enroll in the required computer science background courses. These students must have been highly recommended based upon evidence of scholarly potential.

A student with a bachelor’s degree in a discipline other than computer science must possess a computer science background equivalent to the following PVAMU courses before being admitted to:

MS in Computer Science Program:

COMP 2013Data Structures3
COMP 2103Discrete Structures3
MATH 2024Calculus with Analytic Geometry II4
COMP 3043Computer Organization3
COMP 3053Analysis of Algorithms3

MS in Computer Information System Program:

COMP 1224Computer Science and Laboratory II4
ECON 2113Principles of Microeconomics3
MATH 1124Calculus with Analytic Geometry I4
MATH 3023Probability and Statistics3
One Business Elective3

Master of Science in Computer Information Systems Degree Program Requirements

Computer Information Systems Core Requirements
CINS 5003Research Methods and Graduate Seminar3
CINS 5033Database Management Systems3
CINS 5043Data Communications and Computer Networks3
CINS 5063Data Structures and Algorithms3
CINS 5073Information Technology3
CINS 5183Software Engineering3
CINS 5193Enterprise Information Systems3
Concentration (select one from below):15
Thesis Concentration:
Masters Thesis
Electives (Select 9 hours from the approved CINS Electives)
Non-Thesis Concentration
Masters Project
Software Project Management
Electives (Select 12 hours from the approved CINS Electives)
Total Hours36

General CINS Electives

CINS 5103Decision Support Systems3
CINS 5153Object-Oriented Analysis and Design3
CINS 5173Information Storage and Retrieval3
CINS 5203Web Application Dev I3
CINS 5243Web Application Development II3
CINS 5303E-Commerce3
CINS 5313Information Assurance3
CINS 5323Multimedia Applications3
CINS 5343Mobile & Wireless Info Systems3
CINS 5893Applied Research3
CINS 5983Special Topics in Computer Information Systems (Special Topics)3
CINS 5993Independent Study3

Master of Science in Computer Science Degree Program Requirements

Computer Science Core Requirements
COMP 5003Research Methods and Graduate Seminar3
COMP 5113Fundamentals and Concepts of Programming Languages3
COMP 5123Advanced Computer Architecture3
COMP 5133Advanced Operating Systems3
COMP 5143Advanced Database Management System3
COMP 5153Design and Analysis of Algorithms3
COMP 5423Software Engineering Processes3
Concentration (Select one from below):15
Thesis Concentration:
Masters Thesis
Electives (Select 9 hours from the approved Computer Science Electives)
Non-Thesis Concentration:
Masters Project
Electives (Select 12 hours from the approved Computer Science Electives)
Total Hours36

General Computer Science Electives

COMP 5213Advanced Data Communications and Computer Networks3
COMP 5233Distributed Computing and Parallel Processing3
COMP 5253Theory of Computation3
COMP 5263Computer Graphics3
COMP 5273Data Mining3
COMP 5323Computer and Network Security3
COMP 5413Object-Oriented Analysis and Design Methodology3
COMP 5433Software Project Planning and Management3
COMP 5443Advanced Software Quality Assurance3
COMP 5463Human Computer Interaction and Interface Design3
COMP 5893Applied Research3
COMP 5983Special Topics in Computer Science (Special Topics)3
COMP 5993Independent Study3

Professional and Honor Societies

The Department sponsors a certified student chapter of the Association for Computing Machinery. Membership (local and national) is open to all fulltime Computer Science majors. The department also sponsors Upsilon Phi Epsilon (Computer Science Honor Society) for all Computer Science majors with a GPA of 3.0 or above. Any student having completed 64 semester hours of course work (18 hours of core computer science courses) is eligible for consideration by the society.

Courses

COMP 1003 Digital Communication: 3 semester hours.

Efficient communication in the digital world, including multi-media editing, web page/site design, publishing on the internet, and cloud computing. Social and ethical responsibility of using social media, surfing the internet, and information security. Fundamentals of Excel spreadsheets and MS Access together pertinent information analyzed, evaluate, interpret, display data, and draw conclusion. Team projects using Sharepoint and group presentation.

COMP 1011 Intro to Basic Engr & Comp Sci: 1 semester hour.

Students will become aware of the various disciplines of engineering, computer science and technology, ethical and professional responsibilities in these fields, creativity and design.
Prerequisites: COMP 1021 (may be taken concurrently).

COMP 1013 Introduction to Computer Science: 3 semester hours.

Fundamentals of computer science and programming to include algorithm definition, concepts, semantics and logic, fundamental data types (character, integer, and floating-point) and their binary representations and limits, arithmetic and logical operators and precedence, program structure and flow, branching and looping, functions and parameters, and basic input and output methods, emphasizing modular design and implementation of an object-oriented language such as C++.

COMP 1021 Introduction to Computer Science Lab: 1 semester hour.

This lab component will cover the overview of the current job opportunities and some hands-on exercises to understand the current topics.
Prerequisites: COMP 1011 (may be taken concurrently).

COMP 1133 Visual Basic Programming: 3 semester hours.

Fundamentals of programming in Visual Basic including an extensive examination of Graphical User Interface programming, creating classes, Dynamic Data Exchange, Object Linking and Embedding (OLE) and creating OLE Servers. The course also covers client/server development using the built-in database jet engine and using Open Database Connectivity (OBDC) to access other popular database systems.

COMP 1211 Computer Science Lab I: 1 semester hour.

A laboratory course in programming for computer science utilizing the concepts introduced in COMP 1213, including language concepts of input/output, constants, data types, control structures, loops, functions, enumerated data types, arrays and strings structures, exception handling.
Prerequisites: (MATH 1123 (may be taken concurrently)) or (MATH 1115 (may be taken concurrently)) or (MATH 1124 (may be taken concurrently)).
Co-requisite: COMP 1213.

COMP 1213 Computer Science I: 3 semester hours.

Introduction to and practice of modern problem solving and programming methods. Special emphasis is placed on top-down modular design and implementation of robust and easily maintainable programs in a high-level, object-oriented language such as C++ to include external files, control structures, loops, scope, functions, output formatting, inline functions and function templates, enumerated data types, arrays, structures, exception handling.
Prerequisites: MATH 1115 (may be taken concurrently) or MATH 1123 (may be taken concurrently) or MATH 1124 (may be taken concurrently).
Co-requisite: COMP 1211.

COMP 1224 Computer Science and Laboratory II: 4 semester hours.

Continuation of COMP 1214 with continued emphasis on program development techniques, array based lists, pointers, basic linked lists, classes, abstraction, data hiding, polymorphism inheritance, stacks and queues.
Prerequisites: COMP 1213 (may be taken concurrently) and COMP 1211.
Co-requisite: MATH 1124.

COMP 1811 Intro. to Game Design and Dev.: 1 semester hour.

Introduction to game design and development, animation/simulation, scientific visualization, and multimedia technology; basic concept of game programming language.

COMP 1821 Intro to Game Dev. Env.: 1 semester hour.

Introduction to various software, tools, and systems for game design, animation, and scientific visualization; game programming language concepts and practice.
Prerequisites: COMP 1811.

COMP 2003 Introduction to Web Design and Multimedia: 3 semester hours.

The role of internet and as a tool in business; design and development of simple internet applications using HTML; basics of scripting languages; development of home pages incorporating graphics, and multimedia.

COMP 2013 Data Structures: 3 semester hours.

Fundamental data structures; the implementation and application of binary files, stacks, queues, recursion, advanced linked lists, trees, graphs, data compression, heap, priority queue, and sorting techniques.
Prerequisites: COMP 1224.

COMP 2023 Applications Development using C#: 3 semester hours.

Introduction to developing Windows based applications using the Visual Studio C# language. Students will learn how to develop software for several types of (fun) applications using interactive forms, multimedia, graphics, images, Web services, streaming video, etc. Basics of developing simple games, incorporating web services such as Mapping, weather, You-tube, stock quotes, etc. will also be covered. Open to all majors.
Prerequisites: COMP 1013 or COMP 1213.

COMP 2033 Assembly Language: 3 semester hours.

Study of the logical design and internal operation of digital computers and programming using a macro assembly language. Using several practical exercises to illustrate machine structures and programming techniques for a typical microprocessor environment, such as the Intel processor/IBM PC architecture.
Prerequisites: COMP 1224.

COMP 2103 Discrete Structures: 3 semester hours.

A bridge course between data structures/discrete mathematics and analysis of algorithms, to include reviews of functions and relations, basic combinatorics (set operations, counting, combinations, and permutations) and introductions to prepositional and predicate logic, discrete probability theory, recursive definitions, computational complexity, and proof techniques including mathematical induction. The concepts are illustrated by applications involving graphs, trees, networks and related algorithms.
Prerequisites: COMP 1224.

COMP 2133 Introduction to Information Security: 3 semester hours.

Expose students to the concept of network security and make them aware of related information security and privacy problems. Topics in network security includes malware, social engineering attacks, Web application attacks, wireless security, access control, authentication, basic cryptography, and security in social medial and cloud computing. Various attack demonstrations and animations will be utilized. This course can be used as low-level CS elective.
Prerequisites: COMP 1224.

COMP 2143 Introduction to Java: 3 semester hours.

An introduction to the Java Programming language. Includes coverage of Java Development Kit (JKD), applications, creating applets for enhancing web pages, and an introduction to the object model, and object oriented programming. Prerequisites: Proficiency in at least one programming language. Can be used as a computer science lower level elective.

COMP 2813 Game Design and Dev. I: 3 semester hours.

An introduction to the Java Programming language. Includes coverage of Java Development Kit (JKD), applications, creating applets for enhancing web pages, and an introduction to the object model, and object oriented programming. Prerequisites: Proficiency in at least one programming language. Can be used as a computer science lower level elective.
Prerequisites: COMP 1214 and COMP 1821.

COMP 2821 Game Design and Dev. II: 1 semester hour.

Advanced topics on game design and development, including motion tracking, physics-based animation, virtual reality, 3D object authoring tools, and scientific visualization.
Prerequisites: COMP 2813.

COMP 3033 Digital Logic Circuits: 3 semester hours.

The design and implementation of digital logic circuits. Combinational and sequential circuit analysis. Digital circuit design optimization methods using random logic gates, multiplexers, decoders, registers, counters, and programmable logic arrays.
Prerequisites: COMP 2033.

COMP 3043 Computer Organization: 3 semester hours.

The study of a computer as a series of levels, each one built on its predecessor. Digital logic level, the microprogramming level, the conventional machine level, the operating systems level, and the assembly language level.
Prerequisites: COMP 2033.

COMP 3053 Analysis of Algorithms: 3 semester hours.

Introduction to algorithm design and analysis, computational complexity, and NP-completeness theory, emphasizing design, appropriate algorithms and data structures to solve a given problem efficiently, including divide- and-conquer techniques, greedy methods, and dynamic programming.
Prerequisites: COMP 2013 and COMP 2103.

COMP 3063 Operation Systems: 3 semester hours.

Basic functions of operating systems including device management, multi-programming, job management, memory management, and input/output processing.
Prerequisites: (ELEG 4393 or COMP 3043) and COMP 2013.

COMP 3113 Object-Oriented Analysis and Design: 3 semester hours.

Application and benefits of the object-oriented software process model with special consideration to concepts, models, notations, and methods to effectively and efficiently design and implement complex software applications using a practical, state-of-the-art object-oriented method, covering concepts intrinsic to object-oriented technology such as data abstraction, encapsulation, inheritance and polymorphism. State-of-the-art design and implementation tools, such as the unified modeling language (UML) and a high-level object-oriented language such as C++ will be used to illustrate these concepts.
Prerequisites: COMP 2013.

COMP 3203 System Analysis and Design: 3 semester hours.

Studying analytical models of system design with emphasis on evaluating system for efficiency, maximum utilization and appropriateness, and on structuring and designing systems.
Prerequisites: COMP 1224.

COMP 3213 Graphics and Visual Computing: 3 semester hours.

Principles of interactive computer graphics; Topics include fundamental techniques in graphics, graphic systems, graphic communication, geometric modeling, rendering, computer animation, visualization and virtual reality and other recent developments in computer graphics.
Prerequisites: COMP 2013.

COMP 3223 Software Engineering: 3 semester hours.

Formal software development, including the software life-cycle, modular and top-down design, validation and verification, and maintainable systems.
Prerequisites: COMP 2013.

COMP 3333 Smart Device App Development: 3 semester hours.

Introduction to app development for smart devices, specifically for Apple iOS or Google Android devices. Differences between smart devices and traditional desk top computer systems will be examined. Various app development environments will be covered, including Xcodc and programming language Objective-C for iOS, and Eclipse for Android.
Prerequisites: COMP 2013.

COMP 3811 VR and Visualization: 1 semester hour.

Introduction to advanced virtual reality technology and scientific visualization; Development of VR and visualization applications.
Prerequisites: COMP 2821 and PHYS 2511 and PHYS 2513.

COMP 3823 Computer Graphics and Program: 3 semester hours.

Principles of interactive computer graphics. Topics include fundamental techniques in graphics, graphic systems, graphic communication, geometric modeling, rendering and other recent developments in computer graphics.
Prerequisites: COMP 2013 and COMP 2821 and PHYS 2521 and PHYS 2523.

COMP 4001 Ethics and Social Issues in Computing: 1 semester hour.

Social and ethical implications of computing. Topics include history of computing, social context of computing, methods and tools of analysis, professional and ethical responsibilities, risks and liabilities of computer-based systems, intellectual property, privacy and civil liberties.

COMP 4053 Parallel Algorithm Design: 3 semester hours.

Hardware organization of vector, array, and parallel processors for high performance computations. Study of interconnection networks and parallel processing. Automatic vectorization and parallelization of scalar programs. Implementation of parallel algorithms for scientific applications.
Prerequisites: COMP 3043 and COMP 3053.

COMP 4063 Artificial Intelligence: 3 semester hours.

Introduction to artificial intelligence and expert systems to include heuristic search methods, first-order logic, forward and backward inference, knowledge representation, machine learning, and neural networks.
Prerequisites: COMP 2013 and MATH 3023.

COMP 4072 Senior Design Project I: 2 semester hours.

A first of a two-part senior design course for computer science majors. Students will study computer systems design working as a design-team member, conceptual design methodology, design evaluations, project planning and management techniques, design optimization, systems manufacturing, cost considerations with an emphasis on students' activities as design professionals.
Prerequisites: ENGL 1143 (may be taken concurrently) and COMP 3223 (may be taken concurrently) and GNEG 3061 (may be taken concurrently) and COMP 3063 (may be taken concurrently).
Co-requisite: COMP 4001.

COMP 4073 Special Topics: 3 semester hours.

Studying selected current and emerging topics in Computer Science. Courses may be repeated for credit when topics vary.

COMP 4082 Senior Design Project II: 2 semester hours.

A continuation of COMP 4072 giving students the opportunities to complete a design project, make formal presentation, research, proposal writing, patents, and literature searches.
Prerequisites: COMP 4072.

COMP 4113 Programming Language Design: 3 semester hours.

Overview of programming languages, syntactic and semantic specification, virtual machines and fundamental issues in language design, analyzing of the imperative, object-oriented, functional, and declarative language paradigms. Several programming languages will be analyzed.
Prerequisites: COMP 2013.

COMP 4123 Computer Networks: 3 semester hours.

Introduction to the networking of computer systems to include the study of local area (LAN) and wide area (W AN) networks, data transmission, communications software, the architecture of networks, and network communication protocols.
Prerequisites: COMP 3063.

COMP 4133 Formal Languages and Automata: 3 semester hours.

Introduction to formal grammars, including Backus-Naur notation studying the formal theory behind the design of a computer language. The corresponding types of automata that will serve as recognizers and generators for a language will be described.
Prerequisites: COMP 2103.

COMP 4233 Network Security: 3 semester hours.

Address the fundamentals of network security, including compliance and operational security; threats and vulnerabilities; application, data and host security; access control and identity management; and cryptography. Topics includes psychological approaches to social engineering attacks, Web application attacks, penetration testing, data loss prevention, cloud computing security, and application programming development security.
Prerequisites: COMP 4123.

COMP 4843 Human-Computer Interaction: 3 semester hours.

Focuses on the dynamics of human-computer interaction (HCI). Provides a broad overview of HCI as a sub-area of computer science and explores user-centered design approaches in information systems applications. Addresses the user interface and software design strategies, user experience levels, interaction styles, usability engineering, and collaborative systems technology. Students will perform formal software evaluations and usability tests.
Prerequisites: COMP 3223.

COMP 4953 Data Base Management: 3 semester hours.

File structures and access methods, database modeling design and user interface, components of database management systems. Information storage and retrieval, query languages, high-level language interfaces with database systems.
Prerequisites: COMP 2013.

COMP 4963 Introduction to Service Computing: 3 semester hours.

Introduces core techniques of service computing, including service-oriented architecture, the roles of application builders, service specifications, workflow modeling, and specifications, service providers and services brokers, dynamic service discovery and basic ontology, understand major paradigms of computing.
Prerequisites: COMP 4953.

COMP 4993 Independent Study: 1-3 semester hour.

Reading, research and/or field work on selected topics.

COMP 5003 Research Methods and Graduate Seminar: 3 semester hours.

Series of lectures given by faculty and by visiting computer and information scientists and information technologists.

COMP 5113 Fundamentals and Concepts of Programming Languages: 3 semester hours.

Study of the principles that form the basis of programming language design. Research topics in high-level languages including data abstraction, parameterization, scoping, generics, exception handling, parallelism, and concurrency. Additional topics include alternative language designs (imperative, functional, descriptive, object-oriented, and data flow designs) and an overview of interfacing with support environments.
Prerequisites: COMP 4113.

COMP 5123 Advanced Computer Architecture: 3 semester hours.

New technological developments, including details of multiprocessor systems and specialized machines. The main focus is on the quantitative analysis and cost-performance tradeoffs in instruction set, pipeline, and memory design. Descriptions of real systems and their performance data are also given. Topics covered include quantitative performance measures, instruction set design, pipelining, vector processing, memory organization, input/output methods, and an introduction to parallel processing.
Prerequisites: COMP 3043.

COMP 5133 Advanced Operating Systems: 3 semester hours.

Theoretical and practical aspects of operating systems, including an overview of system software, time-sharing and multiprogramming operating systems, network operating systems and the Internet, virtual memory management, inter-process communication and synchronization, and case studies.
Prerequisites: COMP 3063.

COMP 5143 Advanced Database Management System: 3 semester hours.

Topics related to database design and data management in a database environment, including data normalization, functional dependencies, database design, query language design, implementation constraints, data integrity and security, and distributed data processing. The emphasis is on the concepts and structures necessary to design and implement a database management system. Selected advanced topics such as distributed databases, object-oriented databases, real-time databases, and multimedia databases will be discussed. Because of the many advances in information technology and the database development techniques, new business needs and opportunities are constantly emerging and, with them, the need to manage new technologies and applications effectively. This course explores these new application areas and the management approaches needed to make them successful.
Prerequisites: CINS 5033.

COMP 5153 Design and Analysis of Algorithms: 3 semester hours.

Introduction to algorithm design and analysis, computational complexity, and NP-completeness theory. The course emphasizes how to design and choose appropriate algorithms and data structures to solve a given problem efficiently. Design methods covered include divide-and-conquer techniques, greedy methods, and dynamic programming. Problem domains covered include string matching, polynomials and matrices, graph theory, optimal trees, and NP-hard problems.
Prerequisites: COMP 3053.

COMP 5183 Software Engineering: 3 semester hours.

Topics related to specifying software requirements and an overview of analysis and design techniques that can be used to structure applications. Topics in software requirements include interacting with end-users to determine needs and expectations, identifying functional requirements, and identifying performance requirements. Analysis techniques include prototyping, modeling, and simulation. Design topics include the system lifecycle, hardware and software trade-offs, subsystem definition and design, abstraction, information hiding, modularity, and reuse.

COMP 5193 Mobile Device App Design and Development: 3 semester hours.

Introduction to app development for mobile devices, specifically for Apple iOS or Google Android devices. Various app development environments will be covered, including Xcode and programming language Objective-C for iOS, or Eclipse for Android. App design strategy will be discussed.
Prerequisites: COMP 2013.

COMP 5213 Advanced Data Communications and Computer Networks: 3 semester hours.

Topics related to the development of client-server based applications, including two-tier and multi-tier client-server concepts and programming, concurrency issues in the design of client and server programs, trade-offs of different architectures, the use of remote procedure calls, and broadcasting and multicasting.
Prerequisites: COMP 4123 or CINS 5043.

COMP 5233 Distributed Computing and Parallel Processing: 3 semester hours.

Comprehensive introduction to the field of parallel and distributed computing systems, including algorithms, architectures, networks, systems, theory, and applications. Distributed parallel computation models, and the design and analysis of parallel algorithms will be emphasized.
Prerequisites: COMP 5133.

COMP 5253 Theory of Computation: 3 semester hours.

Models of computation, complexity theory, intractable problems, complete problems, recursive function+ theory, incompleteness, formal theory of program semantics and correctness, and logics of programs.
Prerequisites: COMP 3053 or COMP 5153.

COMP 5263 Computer Graphics: 3 semester hours.

Topics in computer graphics and geometric modeling, including B-spline curves and surfaces, solid modeling, radiosity, morphing, animation, simulation, subdivision, fractals, wavelets, and other selected topics.

COMP 5273 Data Mining: 3 semester hours.

Data Mining Studies algorithms, paradigms to find patterns and regularities in databases, perform prediction and forecasting, and improve their performance through data interaction. The knowledge discovery process includes data selection, cleaning, coding, and visualization. Data warehousing is also discussed.
Prerequisites: COMP 4953 or CINS 5033.

COMP 5283 Machine Learning: 3 semester hours.

Study machine learning principles and technicals including supervised and unsupervised learning, learning method analysis, theoretical and empirical evaluation. Topics include decision tree, neural networks, Bayesian learning, instance-based learning, support vector machine, etc. and their implementation.
Prerequisites: COMP 2013 and MATH 3023.

COMP 5323 Computer and Network Security: 3 semester hours.

Survey of various computer attacks, viruses, malware, and operating system vulnerabilities and safeguards. Emphasis will be put on defense techniques and skills. A study of problems related to data communication and networking security; databases security; authorization mechanisms for systems with shared resources; cryptography and applications.
Prerequisites: (CINS 5043 or COMP 4123) and (CINS 5063 or COMP 3053).

COMP 5413 Object-Oriented Analysis and Design Methodology: 3 semester hours.

Design and analysis methods for developing high-quality object-oriented systems. Topics include object-oriented classes, attributes, methods, and relations to other classes, objects, classifications and inheritance, encapsulation, polymorphism, and object-oriented analysis, design, and programming.

COMP 5423 Software Engineering Processes: 3 semester hours.

Engineering of complex systems that have a strong software component. Topics include deriving and allocating requirements, system and software architectures, systems analysis and design, integration, interface management, configuration management, quality, verification and validation, reliability, and risk.

COMP 5433 Software Project Planning and Management: 3 semester hours.

Methods for successful management of a software development project. This includes planning, scheduling, tracking, cost and size estimating, risk management, quality engineering, and process improvement. The course is centered on the concept of a software engineering process and includes discussion of life-cycle models for software development.
Prerequisites: COMP 5423.

COMP 5443 Advanced Software Quality Assurance: 3 semester hours.

The relationship of software testing to quality is examined with an emphasis on testing techniques and the role of testing in the validation of system requirements. Topics include module and unit testing, integration, code inspection, peer reviews, verification and validation, statistical testing methods, preventing and detecting errors, selecting and implementing project metrics, and defining test plans and strategies that assure conformance to system requirements. Testing principles, formal models of testing, and performance monitoring and measurement are also examined.
Prerequisites: COMP 5423.

COMP 5463 Human Computer Interaction and Interface Design: 3 semester hours.

A research-oriented course featuring in-depth analyses of selected current topics with an emphasis on problems related to computer systems, artificial intelligence, and human-computer interaction and interface design.

COMP 5893 Applied Research: 3 semester hours.

A realistic experience in Computer Science to enhance the student's professional abilities. Students work on significant projects with industry firms or governmental agencies involving decision-making responsibility. Course requires oral and written report.

COMP 5906 Masters Thesis: 6 semester hours.

A candidate for the Master of Science in Computer Science with thesis option is required to perform a study, a design or investigation, under the direction of a faculty advisory committee. A written thesis is required to be presented, defended orally and submitted to the faculty advisory committee for approval.

COMP 5913 Masters Project: 3 semester hours.

A candidate for the Master of Science in Computer Science with project option is required to perform a study, design, or investigation, under the direction of a graduate faculty advisor. An oral presentation and a written report are required. Prerequisite: candidacy for the Non-Thesis option of the Master of Science in Computer Science.

COMP 5983 Special Topics in Computer Science: 3 semester hours.

Exposure to new and emerging concepts and technologies.

COMP 5993 Independent Study: 3 semester hours.

Individual studies in advanced computer science and technology.