Computer Science (COMP SCI)

COMP SCI 1000 Special Problems (IND 0.0-6.0)

Problems or readings on specific subjects or projects in the department. Consent of instructor required.


COMP SCI 1001 Special Topics (LAB 0.0-6.0)

This course is designed to give the department an opportunity to test a new course. Variable title.


COMP SCI 1010 Introduction To Computer Science (LEC 1.0)

This course is devoted to an introduction of various areas of Computer Science, the faculty members, and lab equipment. Computer ethics will be discussed in several lectures.


COMP SCI 1200 Discrete Mathematics for Computer Science (LEC 3.0)

This course provides a rigorous treatment of topics from discrete mathematics which are essential to computer science. Principal topics include: formal logic (propositional & predicate), set theory, proof techniques, mathematical induction, program correctness, combinatorics, discrete probability, relations, functions, matrices, and graph theory. Prerequisite: A grade of "C" or better in either Comp Sci 1500 or Comp Sci 1570 and in one of Math 1120, Math 1140, Math 1208, Math 1210, Math 1211, or Math 1214.


COMP SCI 1500 Computational Problem Solving (LAB 1.0 and LEC 2.0)

This course provides a rigorous introduction to computational problem solving, thinking, and debugging, for those with little-to-no experience in computer science. Language-agnostic foundations focus on pseudo-code, flowcharts, and software-based code tracing, then build to programming in a high-level interpreted language, with a focus on data and modeling.


COMP SCI 1570 Introduction To C++ Programming (LEC 3.0)

Object-Oriented Programming design and development in C++. Emphasis placed on good programming practices. Topics include syntax/semantics, operators, control flow/decision branching, memory management, functions, file I/O, C-strings, arrays, pointers, classes, templates, inheritance, polymorphism, and exception handling. This course is programming intensive. Prerequisites: A grade of "C" or better in Comp Sci 1500 or in both of Comp Sci 1971 and Comp Sci 1981, and accompanied by Comp Sci 1580.


COMP SCI 1575 Data Structures (LEC 3.0)

A continuation of Object-Oriented Programming, with emphasis on the efficient organization of data through Abstract Data Types and Data Structures. Topics include Linked Lists, Vectors, Stacks, Queues, Trees, Hash Tables, Graphs and their use in a variety of algorithms. Recursive programming techniques are also covered. This course is programming intensive. Prerequisite: Grade of "C" or better in Comp Sci 1570.


COMP SCI 1580 Introduction To Programming Laboratory (LAB 1.0)

Practical applications of concepts learned in Computer Science 1570. Hands-on instruction in C++ developing, debugging, and testing programming projects. Prerequisite: Accompanied by Comp Sci 1570.


COMP SCI 1585 Data Structures Laboratory (LAB 1.0)

Hands-on instruction in programming development tools such as version control systems, integrated development environments, debuggers, profilers, and event-based programming environments. Exercises will complement the concepts presented in Comp Sci 1575. Prerequisite: Preceded or accompanied by Comp Sci 1575.


COMP SCI 1911 Computer Science Concepts (LEC 3.0)

Introduces students to foundational concepts of computer science and challenges them to explore how computing and technology can impact the world. Learn the principles that underlie the science of computing and develop the thinking skills that computer scientists use. This course can be used as a free elective, but not as a CompSci elective.


COMP SCI 1970 Basic Scientific Programming (LEC 2.0)

Introduction to the structure of programs and programming techniques in Fortran to solve science and engineering problems. Topics include data representation, basic solutions of numerical problems and the debugging and verification of programs. Prerequisite: Entrance requirements.


COMP SCI 1971 Introduction To Programming Methodology (LEC 2.0)

Basic structured programming and problem solving techniques using C++. Development, debugging, and testing of programs, data representation. Topics to include syntax/semantics, operators, loops, decision branching, arrays, file I/O. This course is a terminal course for non-majors and is not sufficient for entry into Computer Science 1575.


COMP SCI 1972 Introduction to MATLAB Programming (LEC 2.0)

Programming design and development using MATLAB for non-CS majors. Strong emphasis placed on algorithmic problem solving methods using good programming practices. Introduction to built-in functions including plotting, as well as logical/relational/arithmetic operators, decision branching, loops, functions, file I/O, datastructures, and output formatting. Prerequisite: Accompanied by Comp Sci 1982 and a grade of "C" or better in one of Math 1208, Math 1211, or Math 1214.


COMP SCI 1980 Computer Programming Laboratory (LAB 1.0)

A laboratory to accompany Comp Sci 1970 which emphasizes the designing, writing and debugging of programs in Fortran. Prerequisite: Accompanied by Comp Sci 1970.


COMP SCI 1981 Programming Methodology Laboratory (LAB 1.0)

A hands-on introduction to structured programming in C++. Development, coding, debugging, and execution of programming concepts discussed in Computer Science 1971. Prerequisite: Accompanied by Computer Science 1971.


COMP SCI 1982 MATLAB Programming Laboratory (LAB 1.0)

Practical application of concepts learned in Comp Sci 1972. Hands-on instruction in MATLAB developing, debugging and testing programming projects. Prerequisite: Accompanied by Comp Sci 1972.


COMP SCI 2000 Special Problems (IND 0.0-6.0)

Problems or readings on specific subjects or projects in the department. Consent of instructor required.


COMP SCI 2001 Special Topics (LAB 0.0 and LEC 0.0)

This course is designed to give the department an opportunity to test a new course. Variable title.


COMP SCI 2002 Cooperative Work Training (IND 1.0-5.0)

On-the-job experience gained through cooperative education with industry, with credit arranged through departmental cooperative advisor. Grade received depends on quality of reports submitted and work supervisors evaluation. Not more than 9 hours may be applied to the B.S. degree.


COMP SCI 2200 Theory of Computer Science (LEC 3.0)

This course will cover the theoretical underpinnings of computer science. In particular, this course will cover the following topics: basic computability and formal language concepts, regular languages, context free languages, recursively-enumerable languages, and classes P, NP, and NP-completeness. Prerequisite: A grade of "C" or better in both Comp Sci 1200 and Comp Sci 1575.


COMP SCI 2300 File Structures and Introduction to Database Systems (LEC 3.0)

Course covers major topics in file structures and database systems including techniques for disk access and organization, record and file structures, index structures, sequential file, dense/sparse and secondary indexes, B-trees, range queries, insertion/deletion, hash tables, fundamentals of database systems, the ER model, relational model, algebra and SQL. Prerequisite: A grade of "C" or better in Comp Sci 1575.


COMP SCI 2500 Algorithms (LEC 3.0)

Students will solve recurrence relations, analyze algorithms for correctness and time/space complexity, apply these analysis techniques to fundamental dynamic programming, greedy, shortest-path, minimal spanning trees, and maximum flow algorithms and validate these analyses through programming. Prerequisite: A grade of "C" or better in both Comp Sci 1200 and Comp Sci 1575; preceded or accompanied by a grade of "C" or better in either Math 1208, Math 1211, or Math 1214.


COMP SCI 2501 Java and Object Oriented Design (LEC 3.0)

This course will cover Basic Java, Applets, Application, Classes, interfaces, Strings, Arrays, Generics, inheritance, Polymorphism, Algorithm and Object Oriented Design, Software Testing, Exception Handling, File I/O. The use of Graphical User Interfaces in program design and introduction to Software Life Cycle. Project included. Prerequisite: A "C" or better grade in Comp Sci 1570.


COMP SCI 2889 Introduction To Computer Organization And Assembly (LEC 3.0)

A detailed study designed to teach the building blocks of a computer system, assembly language programming and the basic computer organization concepts. Subjects include digital logic, performance issues, machine & assembly language, binary arithmetic, and the structure of an ALU. Prerequisites: Comp Sci 1575 and Comp Sci 1200.


COMP SCI 3000 Special Problems (IND 0.0-6.0)

Problems or readings on specific subjects or projects in the department. Consent of instructor required.


COMP SCI 3001 Special Topics (LAB 0.0 and LEC 0.0)

This course is designed to give the department an opportunity to test a new course. Variable title.


COMP SCI 3010 Seminar (IND 0.0-6.0)

Discussion of current topics.


COMP SCI 3100 Software Engineering I (LEC 3.0)

Development of methodologies useful in the software engineering classical life cycle. This includes: requirements, design, implementation, and testing phases. These methodologies are reinforced through utilization of a CASE tool and a group project. Prerequisite: A "C" or better grade in Comp Sci 2500 and at least Junior standing.


COMP SCI 3200 Introduction To Numerical Methods (LEC 3.0)

Finite difference interpolation, numerical differentiation and integration, linear systems of equations, solution of nonlinear equations, numerical solution of ordinary differential equations, computational techniques and the programming of a large number of problems on digital computers. Prerequisites: Program competency and a "C" or better grade in either Math 1215 or Math 1221.


COMP SCI 3402 Introduction to Data Science (LEC 3.0)

This course provides an entry into data science. It covers concepts involved in obtaining and processing data, and deriving insight from data. The course includes standard tools and techniques (UNIX, Python and MySQL), data analytics (predictive), problem solving with data (collection, analysis, evaluation), machine learning, and applications. Prerequisite: A grade of "C" or better in Comp Sci 1500, Comp Sci 2300, and one of Stat 3113, Stat 3115, Stat 3117, or Stat 5643.


COMP SCI 3500 Programming Languages And Translators (LEC 3.0)

Covers basic design of programming languages, compilers and interpreters. The concepts of syntax, variables, expressions, types, scope, functions, procedures, statements, I/O, exception handling and concurrency are introduced. The manner in which various programming languages handle these concepts is discussed. Prerequisite: A "C" or better grade in Comp Sci 2200.


COMP SCI 3601 Digital Forensics (LEC 3.0)

Planning/managing incidents and response related to digital forensics; identifying, collecting, and preserving digital evidence; live/dead approaches covering systems as a whole emphasizing file system forensics; analysis and interpretation of artifacts culminating in a final project consisting of a collection, analysis, and report; legal and ethical issues. Prerequisites: A grade of "C" or better in Comp Sci 3800.


COMP SCI 3610 Introduction to Computer Networks (LEC 3.0)

This course covers general principles of computer networking, focusing primarily on internet protocols. It covers the TCP/IP stack, with the application layer first, moving down through link and physical layers. Topics include network virtualization, security, wireless, and mobile networks, with extensive live protocol analysis. Coursework is project based. Prerequisites: A grade of "C" or better in Comp Sci 3800.


COMP SCI 3800 Introduction to Operating Systems (LEC 3.0)

This course teaches the concepts, structure, and mechanisms of Operating Systems. Topics include process management, concurrency, synchronization, deadlock, multithreading, memory management, scheduling, and internetworking. Special emphasis is given to Unix and its modern-day derivatives. Prerequisites: A grade of "C" or better in both Comp Sci 1575 and Comp Eng 2210.


COMP SCI 3803 Computer Organization (LEC 3.0)

A detailed study of computer organization concepts and the components of a computer system including control unit, microprogrammming, pipelining, memory hierarchy, cache design, virtual memory, I/O devices, and a brief introduction to parallel processors. Prerequisites: A "C" or better in both Comp Eng 2210 and Comp Sci 1575. (Co-listed with Comp Eng 3110).


COMP SCI 4000 Special Problems (IND 0.0-6.0)

Problems or readings on specific subjects or projects in the department. Consent of instructor required.


COMP SCI 4001 Special Topics (LAB 0.0 and LEC 0.0)

This course is designed to give the department an opportunity to test a new course. Variable title.


COMP SCI 4010 Seminar (RSD 1.0)

Discussion of current topics. Prerequisite: Junior standing.


COMP SCI 4090 Software Engineering Capstone I (LEC 3.0)

This is the first course in the Software Engineering Capstone sequence covering the Software Life Cycle. Students will learn about software engineering, and work in teams to spec, design, prototype, implement, test, document, deploy, and maintain a software system. This course is programming intensive, writing emphasized and addresses ethical considerations. Prerequisites: A grade of "C" or better in all of Comp Sci 2300, Comp Sci 2500, and Comp Sci 3610.


COMP SCI 4091 Software Engineering Capstone II (LEC 3.0)

This is the second course in the Software Engineering Capstone sequence covering the Software Life Cycle. Students will learn about software engineering, and work in teams to spec, design, prototype, implement, test, document, deploy and maintain a software system. This course is programming intensive, writing emphasized and addresses ethical considerations. Prerequisites: A grade of "C" or better in both Comp Sci 4090 and Comp Sci 4610, and proceeded or accompanied by one of Philos 3225, Philos 3235, Philos 4340 or Philos 4368.


COMP SCI 4096 Software Systems Development I (LEC 3.0)

Class members will work in small teams to develop a complete software system beginning with end-user interviews and concluding with end-user training. Prerequisites: 100 credit hours completed and a grade of "C" or better in both Comp Sci 3100 and one of Phil 3225, Phil 3235, Phil 4340, or Phil 4368.


COMP SCI 4097 Software Systems Development II (LEC 3.0)

This course is an optional continuation of Comp Sci 4096. Those interested in project management should take this course since participants become officers or group leaders in the class "corporation." This course is especially important for those going straight into industry upon graduation. Students with coop experience may find this course redundant. Prerequisite: A grade of "C" or better in Comp Sci 4096 or Comp Sci 4091.


COMP SCI 4099 Undergraduate Research (IND 0.0-6.0)

Designed for the undergraduate student who wishes to engage in research. Does not lead to the preparation of a thesis. Not more than six (6) credit hours allowed for graduation credit. Subject and credit to be arranged with the faculty supervisor.


COMP SCI 4489 Multimedia Systems (LEC 3.0)

This course introduces the concepts and components of Multimedia information systems. Topics include: Introduction to Multimedia Data, Multimedia Date Compression, Techniques and Standards, Indexing and Retrieval, Data Storage Organization, Communication and Synchronization, Applications-Media-OnDemand Systems, Video Conferencing, Digital Libraries. Prerequisite: A "C" or better grade in Comp Sci 1575.


COMP SCI 4601 Computer Network Concepts And Technology (LEC 3.0)

This course will introduce computer network concepts and will survey the current and evolving technology for the construction, operation, and management of those networks. Both hardware and software issues will be addressed with a focus on local area networks. Prerequisite: A "C" or better grade in Comp Sci 3800.


COMP SCI 4610 Computer Security (LEC 3.0)

This course covers principles of threat-modeling, trust, and security policies. Topics include cryptography, reverse engineering, software security, malware analysis, authentication, access controls, operating systems hardening, virtualization, database security, and network security. This class is programming intensive and project based, with case-analyses. Prerequisites: A grade of "C" or better in Comp Sci 3610.


COMP SCI 4700 Intellectual Property For Computer Scientists (LEC 3.0)

A presentation of the relationship between the law of intellectual property and computer science. Topics include the application of copyright principles to computer programs, protection of computer programs through patents and trade secret law, and the effect of various agreements which are frequently encountered by the computer scientist. Prerequisite: Senior or graduate standing.


COMP SCI 5000 Special Problems (IND 0.0-6.0)

Problems or readings on specific subjects or projects in the department. Consent of instructor required.


COMP SCI 5001 Special Topics (LEC 0.0-6.0)

This course is designed to give the department an opportunity to test a new course. Variable title.


COMP SCI 5040 Oral Examination (IND 0.0)

After completion of all other program requirements, oral examinations for on-campus M.S./Ph.D. students may be processed during intersession. Off-campus M.S. students must be enrolled in oral examination and must have paid an oral examination fee at the time of the defense/comprehensive examination (oral/ written). All other students must enroll for credit commensurate with uses made of facilities and/or faculties. In no case shall this be for less than three (3) semester hours for resident students.


COMP SCI 5099 Research (IND 0.0-16)

Investigations of an advanced nature leading to the preparation of a thesis or dissertation. Consent of instructor required.


COMP SCI 5100 Agile Software Development (LEC 3.0)

Understand principles of agile software development and contrast them with prescriptive processes. Specifically: Eliciting, organizing, and prioritizing requirements; Design processes; Understand how a particular process promotes quality; Estimate costs and measure project progress and productivity. Prerequisite: A "C" or better grade in Comp Sci 3100.


COMP SCI 5101 Software Testing And Quality Assurance (LEC 3.0)

It covers unit testing, subsystem testing, system testing, object-oriented testing, testing specification, test case management, software quality factors and criteria, software quality requirement analysis and specification, software process improvement, and software total quality management. Prerequisite: A "C" or better grade in Comp Sci 2500.


COMP SCI 5102 Object-Oriented Analysis And Design (LEC 3.0)

This course will explore principles, mechanisms, and methodologies in object-oriented analysis and design. An object-oriented programming language will be used as the vehicle for the exploration. Prerequisite: A "C" or better grade in Comp Sci 2500.


COMP SCI 5200 Analysis Of Algorithms (LEC 3.0)

The purpose of this course is to teach the techniques needed to analyze algorithms. The focus of the presentation is on the practical application of these techniques to such as sorting, backtracking, and graph algorithms. Prerequisite: A "C" or better grade in Comp Sci 2500.


COMP SCI 5201 Object-Oriented Numerical Modeling I (LEC 3.0)

A study of object-oriented modeling of the scientific domain. Techniques and methodologies will be developed enabling the student to build a class library of reusable software appropriate for scientific application. Applications will be drawn from mechanics, finance, and engineering. Prerequisites: A grade of "C" or better in both Comp Sci 3200 and Comp Sci 1575; a grade of "C" or better in one of Math 3108, 3103, 3329.


COMP SCI 5202 Object-Oriented Numerical Modeling II (LEC 3.0)

A continued study of object-oriented modeling of the scientific domain. Advanced applications include models posed as balance laws, integral equations, and stochastic simulations. Prerequisite: A "C" or better grade in Comp Sci 5201.


COMP SCI 5203 Mathematical Logic I (LEC 3.0)

A mathematical introduction to logic with some applications. Functional and relational languages, satisfaction, soundness and completeness theorems, compactness theorems. Examples from Mathematics, Philosophy, Computer Science, and/or Computer Engineering. Prerequisite: Philos 3254 or Math 5105 or Comp Sci 2500 or Comp Eng 2210. (Co-listed with Math 5154, Philos 4354 and Comp Eng 5803.).


COMP SCI 5204 Regression Analysis (LEC 3.0)

Simple linear regression, multiple regression, regression diagnostics, multicollinearity, measures of influence and leverage, model selection techniques, polynomial models, regression with autocorrelated errors, introduction to non-linear regression. Prerequisites: Math 2222 and one of Stat 3111, 3113, 3115, 3117, or 5643. (Co-listed with Stat 5346).


COMP SCI 5205 Real-Time Systems (LEC 3.0)

Introduction to real-time (R-T) systems and R-T kernels, also known as R-T operating systems, with an emphasis on scheduling algorithms. The course also includes specification, analysis, design and validation techniques for R-T systems. Course includes a team project to design an appropriate R-T operating system. Prerequisites: COMP ENG 3150 or COMP SCI 3800. Co-listed with Comp Eng 5170.


COMP SCI 5300 Database Systems (LEC 3.0)

This course introduces the advanced database concepts of normalization and functional dependencies, transaction models, concurrency and locking, timestamping, serializability, recovery techniques, and query planning and optimization. Students will participate in programming projects. Prerequisite: A "C" or better grade in both Comp Sci 1200 and Comp Sci 2300.


COMP SCI 5400 Introduction To Artificial Intelligence (LEC 3.0)

A modern introduction to AI, covering important topics of current interest such as search algorithms, heuristics, game trees, knowledge representation, reasoning, computational intelligence, and machine learning. Students will implement course concepts covering selected AI topics. Prerequisite: A "C" or better grade in Comp Sci 2500.


COMP SCI 5401 Evolutionary Computing (LEC 3.0)

Introduces evolutionary algorithms, a class of stochastic, population-based algorithms inspired by natural evolution theory (e.g., genetic algorithms), capable of solving complex problems for which other techniques fail. Students will implement course concepts, tackling science, engineering and/or business problems. Prerequisite: A "C" or better grade in both Comp Sci 2500 and in a Statistics course.


COMP SCI 5402 Introduction to Data Mining (LEC 3.0)

The key objectives of this course are two-fold: (1) to teach the fundamental concepts of data mining and (2) to provide extensive hands-on experience in applying the concepts to real-world applications. The core topics to be covered in this course include classification, clustering, association analysis, data preprocessing, and outlier/novelty detection. Prerequisites: A grade of "C" or better in all of Comp Sci 2300, Comp Sci 2500, and one of Stat 3113, Stat 3115, Stat 3117 or Stat 5643.


COMP SCI 5403 Introduction to Robotics (LEC 3.0)

This course provides an introduction to robotics, covering robot hardware, fundamental kinematics, trajectories, differential motion, robotic decision making, and an overview of current topics in robotics. Prerequisite: A grade of "C" or better in both Math 3108 and Comp Sci 1575. (Co-listed with Comp Eng 5880 and Elec Eng 5880).


COMP SCI 5404 Introduction to Computer Vision (LEC 3.0)

This course introduces foundational theories and analysis methods in computer vision. Topics will include camera model and geometry, description of visual features, shape analysis, stereo reconstruction, motion and video processing, and visual object recognition. Prerequisite: A "C" or better grade in both Math 3108 and Comp Sci 2500.


COMP SCI 5405 Java Gui & Visualization (LEC 3.0)

Fundamentals of Java Swing Foundation Classes, Java System Language Specifics, Graphical User Interfaces, Images, Audio, Animation, Networking, and Threading. Visualization of Algorithms. GUI Elements include Event Driven Programming, Interaction with Mouse and KeyBoard, Window Managers, Frames, Panels, Dialog Boxes, Borders. Prerequisite: A "C" or better grade in Comp Sci 2500 or equivalent.


COMP SCI 5406 Interactive Computer Graphics (LEC 3.0)

Applications and functional capabilities of current computer graphics systems. Interactive graphics programming including windowing, clipping, segmentation, mathematical modeling, two and three dimensional transformations, data structures, perspective views, antialiasing and software design. Prerequisite: A "C" or better grade in both Comp Sci 3200 and Comp Sci 2500.


COMP SCI 5407 Introduction to Virtual Reality (LEC 3.0)

Fundamentals: creative and digital skills. Houdini interface (Scene View, Network, Parameter panes), design facets (networks of nodes, navigation of networks interactive 3D modeling and visualization, digital assets, animation, lights, cameras, rendering), and simple applications of particles, dynamics, and fluids (Shattering, Destruction, Smoke, Fire). Prerequisites: A grade of "C" or better in both Comp Sci 2500 and Math 3108.


COMP SCI 5408 Game Theory for Computing (LEC 3.0)

This course introduces the mathematical and computational foundations of game theory, and its applications to computer science (e.g., cybersecurity, robotics and networking). Topics include decision rationality, game representations, equilibrium concepts (e.g., Nash equilibrium), Bayesian games, dynamic games, cooperative game theory, and mechanism design. Prerequisites: A grade of "C" or better in both Comp Sci 2500 and Math 3108, and in one of Stat 3113, Stat 3115, Stat 3117, or Stat 5643. (Co-listed with Comp Eng 5320).


COMP SCI 5409 Applied Social Network Analysis (LEC 3.0)

In this course students will learn how to use networks to model and analyze relationships between people, artifacts, and ideas. Analyses will include identification of both communities and key individuals, and the modeling of diffusion processes such as the transmission of diseases. Methods will be practiced in programming assignments using Python. Prerequisites: A grade of "C" or better in Comp Sci 2500.


COMP SCI 5420 Introduction to Machine Learning (LEC 3.0)

This course introduces foundational theories and techniques in machine learning. Topics will include basics of machine learning, learning theory, various regression and classification models, as well as unsupervised learning methods. Students will implement course concepts in intensive programming assignments and mini-projects. Prerequisite: A grade of "C" or better in Comp Sci 2500, Math 3108, and one of Stat 3113, Stat 3115, Stat 3117, or Stat 5643.


COMP SCI 5500 The Structure of a Compiler (LEC 3.0)

Review of Backus normal form language descriptors and basic parsing concepts. Polish and matrix notation as intermediate forms, and target code representation. Introduction to the basic building blocks of a compiler: syntax scanning, expression translation, symbol table manipulation, code generation, local optimization, and storage allocation. Prerequisite: A "C" or better grade in both Comp Sci 3500 and Comp Sci 2500.


COMP SCI 5600 Advanced Computer Networks (LEC 3.0)

This course focuses on the principles of computer networking. It covers the TCP/IP model from the application layer to the physical layer. It is targeted toward entry-level graduate students. It also exposes students to wireless and mobile networks. It involves network performance modeling and analysis, and implementing communication protocols. Prerequisites: A grade of "C" or better in Comp Sci 3610.


COMP SCI 5601 Security Operations & Program Management (LEC 3.0)

An overview of information security operations, access control, risk management, systems and application life cycle management, physical security, business continuity planning, telecommunications security, disaster recovery, software piracy, investigations, ethics and more. There will be extensive reporting, planning and policy writing. Prerequisite: A "C" or better grade in all of: operating systems, computer networking, and a writing emphasized course.


COMP SCI 5602 Introduction to Cryptography (LEC 3.0)

Introduces fundamentals of modern cryptography. Topics include basic number theory, public & private key encryption schemes, cryptographic hash functions, message authentication codes, elliptic curve cryptography, Diffie-Hellman key agreements, digital signatures, PUFs, quantum cryptography, and generation of prime numbers and pseudo-random sequences. Prerequisites: A grade of "C" or better in COMP SCI 5200 or a grade of "B" or better in COMP SCI 2500.


COMP SCI 5700 Bioinformatics (LEC 3.0)

The course will familiarize students with the application of computational methods to biology, as viewed from both perspectives. It will introduce problems in molecular, structural, morphological, and biodiversity informatics, and will discuss principles, algorithms, and software to address them. Prerequisites: A grade of "C" or better in both one of Bio Sci 1113 or Bio Sci 1213 and one of Comp Sci 1570 and Comp Sci 1580 or Comp Sci 1971 and Comp Sci 1981. (Co-listed with Bio Sci 5323).


COMP SCI 5701 Experiential Entrepreneurship for Computer Scientists (LEC 3.0)

Students will work in teams mentored by experienced entrepreneurs to generate innovative ideas and transform them into business models for economically viable knowledge tech companies. Experiential learning will be used in live customer discovery, prototyping and market validation. The prototyping phase will contain a significant computer science component. Prerequisites: A grade of "C" or better in Comp Sci 3100 or Comp Sci 4090.


COMP SCI 5800 Distributed Computing (LEC 3.0)

This is an introduction to the fundamentals of distributed computing. Topics include a review of communication between distributed processes, causality, distributed state maintenance, failure detection, reconfiguration and recovery, distributed mutual exclusion, clock synchronization, and leader election. Students will implement select course concepts. Prerequisites: A grade of "C" or better in both Comp Sci 3800 and Comp Sci 2500.


COMP SCI 5801 The Structure Of Operating Systems (LEC 3.0)

The hardware and software requirements for operating systems for uniprogramming, multiprogramming, multiprocessing, time sharing, real time and virtual systems. The concepts of supervisors, interrupt handlers, input/output control systems, and memory mapping are discussed in detail. Prerequisite: A "C" or better grade in Comp Sci 3800.


COMP SCI 5802 Introduction to Parallel Programming and Algorithms (LEC 3.0)

Parallel and pipelined algorithms, architectures, network topologies, message passing, process scheduling and synchronization. Parallel programming on clusters. Cost, speedup and efficiency analysis. Prerequisite: A "C" or better grade in both Comp Sci 3800 and Comp Sci 2500.


COMP SCI 5803 Introduction to High Performance Computer Architecture (LEC 3.0)

Overviews high performance architecture of computing systems and covers various architectural/hardware and software/algorithmic means that enhance performance. Uniprocessor and concurrent systems are investigated. Various computational models are studied and linked to commercial systems. Prerequisite: A "C" or better grade in both Comp Eng 3150 and Comp Sci 2500. (Co-listed with Comp Eng 5110).


COMP SCI 6000 Special Problems (IND 0.0-6.0)

Problems or readings on specific subjects or projects in the department. Consent of instructor required.


COMP SCI 6001 Special Topics (LEC 0.0-6.0)

This course is designed to give the department an opportunity to test a new course. Variable title.


COMP SCI 6010 Seminar (RSD 1.0)

Discussion of current topics.


COMP SCI 6040 Oral Examination (IND 0.0)

After completion of all other program requirements, oral examinations for on-campus M.S./Ph.D. students may be processed during intersession. Off-campus M.S. students must be enrolled in oral examination and must have paid an oral examination fee at the time of the defense/comprehensive examination (oral/ written). All other students must enroll for credit commensurate with uses made of facilities and/or faculties. In no case shall this be for less than three (3) semester hours for resident students.


COMP SCI 6050 Continuous Registration (IND 1.0)

Doctoral candidates who have completed all requirements for the degree except the dissertation, and are away from the campus must continue to enroll for at least one hour of credit each registration period until the degree is completed. Failure to do so may invalidate the candidacy. Billing will be automatic as will registration upon payment.


COMP SCI 6099 Research Special Topics (IND 0.0-16)

Investigations of an advanced nature leading to the preparation of a thesis or dissertation. Consent of instructor required.


COMP SCI 6100 Software Engineering II (LEC 3.0)

A quantitative approach to measuring costs/productivity in software projects. The material covered will be software metrics used in the life cycle and the student will present topical material. Prerequisite: A "C" or better grade in Comp Sci 3100.


COMP SCI 6101 Software Requirements Engineering (LEC 3.0)

This course will cover advanced methods, processes, and technique for discovering, analyzing, specifying and managing software requirements of a software system from multiple perspectives. It will discuss both functional and non-functional requirements analysis. Prerequisite: A "C" or better grade in Comp Sci 3100.


COMP SCI 6102 Model Based Systems Engineering (LEC 3.0)

Provides the student with understanding of the use of models to represent systems and validate system architectures. The student will gain proficiency in using a systems modeling language and shifting systems engineering from a document centric to a model centric paradigm. Prerequisites: Graduate Standing. (Co-listed with SYS ENG 6542).


COMP SCI 6200 Algorithmics II (LEC 3.0)

Covers selected classical and recent developments in the design and analysis of algorithms, such as sophisticated data structures, amortized complexity, advanced graph theory, and network flow techniques. Prerequisite: A "C" or better grade in Comp Sci 5200.


COMP SCI 6201 Theory Of Computation (LEC 3.0)

Turing machines and other machines. Godel numbering and unsolvability results. Machines with restricted memory access and limited computing time. Recursive functions, computable functionals and the classification of unsolvable problems. Prerequisite: A "C" or better grade in Comp Sci 2200.


COMP SCI 6202 Markov Decision Processes (LEC 3.0)

Introduction to Markov Decision Processes and Dynamic Programming. Application to Inventory Control and other optimization and control topics. Prerequisite: Graduate standing in background of probability or statistics. (Co-listed with Comp Eng 6310, Mech Eng 6447, Aero Eng 6447, Sys Eng 6217 and Eng Mgt 6410).


COMP SCI 6203 Network Information Analysis (LEC 3.0)

Modeling techniques and analytical methods to study the interaction of information and networks focusing on models and properties of network structures, and diffusion of information over networks. Expected outcomes are systematic inference of information encoded in network structures, and effective methods to disseminate or gather information from networks. Prerequisites: A "C" or better grade in Comp Sci 5200.


COMP SCI 6204 Applied Graph Theory for Computer Science (LEC 3.0)

This course covers advanced concepts in graph theory and their applications. Graphs offer an excellent modeling and analysis tool for solving a wide variety of real-life problems. Emphasis will be on understanding concepts, theory, and proof techniques, and how to develop "cool" and "elegant" solutions for applications. Students will conduct projects. Prerequisite: A grade of "C" or better in Comp Sci 5200.


COMP SCI 6300 Object-Oriented Database Systems (LEC 3.0)

This course will include a study of the origins of object-oriented database manipulation languages, their evolution, currently available systems, application to the management of data, problem solving using the technology, and future directions. Prerequisite: A "C" or better grade in Comp Sci 5102.


COMP SCI 6301 Web Data Management and XML (LEC 3.0)

Management of semi-structured data models and XML, query languages such as Xquery, XML indexing, and mapping of XML data to other data models and vice-versa, XML views and schema management, advanced topics include change-detection, web mining and security of XML data. Prerequisite: A "C" or better grade in Comp Sci 5300.


COMP SCI 6302 Heterogeneous and Mobile Databases (LEC 3.0)

This course extensively discusses multidatabase systems (MDBS) and mobile data access systems (MDAS). Moreover, it will study traditional distributed database issues within the framework of MDBSs and MDASs. Prerequisite: A "C" or better grade in Comp Sci 5300.


COMP SCI 6303 Pervasive Computing (LEC 3.0)

Pervasive computing aims to seamlessly integrate computing with our everyday activities, so that people do not need to be aware of computing artifacts. This course will introduce various techniques needed to realize pervasive computing, such as position tracking and ad-hoc networking. Prerequisite: A grade of "C" or better in one of Comp Sci 4600, Comp Sci 5600, or Comp Eng 5410.


COMP SCI 6304 Cloud Computing and Big Data Management (LEC 3.0)

Covers facets of cloud computing and big data management, including the study of the architecture of the cloud computing model with respect to virtualization, multi-tenancy, privacy, security, cloud data management and indexing, scheduling and cost analysis; it also includes programming models such as Hadoop and MapReduce, crowdsourcing, and data provenance. Prerequisites: A grade of 'C' or better in both COMP SCI 5800 and either COMP SCI 5300 or COMP SCI 5402.


COMP SCI 6400 Advanced Topics In Artificial Intelligence (LEC 3.0)

Advanced topics of current interest in the field of artificial intelligence. This course involves reading seminal and state-of-the-art papers as well as conducting topical research projects including design, implementation, experimentation, analysis, and written and oral reporting components. Prerequisite: A "C" or better grade in one of Comp Sci 5400, Comp Sci 5401 or Comp Eng 5310.


COMP SCI 6401 Advanced Evolutionary Computing (LEC 3.0)

Advanced topics in evolutionary algorithms, a class of stochastic, population-based algorithms inspired by natural evolution theory, capable of solving complex problems for which other techniques fail. Students will conduct challenging research projects involving advanced concept implementation, empirical studies, statistical analysis, and paper writing. Prerequisite: A "C" or better grade in Comp Sci 5401.


COMP SCI 6402 Advanced Topics in Data Mining (LEC 3.0)

Advanced topics of current interest in the field of data mining. This course involves reading seminal and state-of-the-art papers as well as conducting topical research projects including design, implementation, experimentation, analysis, and written and oral reporting components. Prerequisite: A "C" or better grade in Comp Sci 5001 Introduction to Data Mining. (Co-listed with Comp Eng 6302 and Sys Eng 6216).


COMP SCI 6404 Computer Graphics And Realistic Modeling (LEC 3.0)

Algorithms, data structures, software design and strategies used to achieve realism in computer graphics of three-dimensional objects. Application of color, shading, texturing, antialiasing, solid modeling, hidden surface removal and image processing techniques. Prerequisite: A "C" or better grade in Comp Sci 5406.


COMP SCI 6405 Clustering Algorithms (LEC 3.0)

An introduction to cluster analysis and clustering algorithms rooted in computational intelligence, computer science and statistics. Clustering in sequential data, massive data and high dimensional data. Students will be evaluated by individual or group research projects and research presentations. Prerequisite: At least one graduate course in statistics, data mining, algorithms, computational intelligence, or neural networks, consistent with student's degree program. (Co-listed with Comp Eng 6330, Elec Eng 6830, Sys Eng 6214 and Stat 6239).


COMP SCI 6406 Machine Learning in Computer Vision (LEC 3.0)

Introduces machine learning fundamentals in current computer vision research. Topics include modeling complex data densities, regression and classification models, graphical models such as chains, trees, and grids, temporal models such as particle filtering and models for visual recognition such as deep learning. Students will implement select course topics. Prerequisites: A grade of "C" or better in either Comp Sci 5402 or Comp Sci 5404. (Co-listed with Comp Eng 6340).


COMP SCI 6407 Internet of Things with Data Science (LEC 3.0)

This course aims to provide both a theoretical understanding and hands-on experience of Internet of Things and Data Science. Part 1 addresses fundamental concepts, key technologies, and development platforms of IoT. Part 2 addresses applied machine learning and data analysis using Python. Part 3 discusses a variety of research topics in IoT-DS. Prerequisites: Graduate standing with reasonable educational background in computer networks, data mining or machine learning, probability and statistics, and programming languages.


COMP SCI 6500 Theory Of Compiling (LEC 3.0)

Properties of formal grammars and languages, language-preserving transformations, syntax-directed parsing, classes of parsing methods and the grammars for which they are suited, control flow analysis, and the theoretical framework of local and global program optimization methods. Prerequisite: A "C" or better grade in Comp Sci 5500.


COMP SCI 6600 Formal Methods in Computer Security (LEC 3.0)

The course presents various vulnerabilities and threats to information in cyberspace and the principles and techniques for preventing and detecting threats, and recovering from attacks. The course deals with various formal models of advanced information flow security. A major project will relate theory to practice. Prerequisites: A grade of "C" or better in both Comp Sci 4610 and Comp Sci 5200.


COMP SCI 6601 Privacy Preserving Data Integration and Analysis (LEC 3.0)

This course covers basic tools, in statistics and cryptography, commonly used to design privacy-preserving and secure protocols in a distributed environment as well as recent advances in the field of privacy-preserving data analysis, data sanitization and information retrieval. Prerequisite: A "C" or better grade in both Comp Sci 5300 and Comp Sci 3600.


COMP SCI 6602 Network Performance Analysis (LEC 3.0)

Provides an introduction to performance modeling and analysis of computer networks. Topics include stochastic processes; performance measurement and monitoring; quantitative models for network performance, e.g., Markovian models for queues; simulation; and statistical analysis of experiments. Prerequisites: Comp Eng 5410 or Comp Sci 4600; Stat 3117 or 5643. (Co-listed with Comp Eng 6440).


COMP SCI 6603 Advanced Topics in Wireless Networks (LEC 3.0)

Introduces the fundamentals and recent advances in wireless networking. Coverage includes cellular networks, wireless and mobile ad hoc networks, wireless mesh networks, sensor networks and wireless LANs with a focus on network operation. Special topics selected from the literature on wireless network security will also be addressed. Prerequisite: A "C" or better grade in Comp Sci 4600 or equivalent.


COMP SCI 6604 Mobile, IoT and Sensor Computing (LEC 3.0)

Architectures of mobile and wireless computing systems; Location data management, Broadcasting and indexing, replication/caching, fault tolerance; Wireless networks and resource management; Sensor networks and ad hoc routing, wireless network security, sensor data security; Internet of Things (IoT); resource management and edge computing, and IoT security. Prerequisites: Comp Sci 4601 or equivalent.


COMP SCI 6605 Advanced Network Security (LEC 3.0)

Topics covered include network security issues such as authentication, anonymity, traceback, denial of service, confidentiality, forensics, etc. in wired and wireless networks. Students will have a clear, in-depth understanding of state of the art network security attacks and defenses. Prerequisite: A "C" or better grade in either Comp Eng 5420 or Comp Sci 4600.


COMP SCI 6800 Distributed Systems Theory And Analysis (LEC 3.0)

Analysis of the problems of state maintenance and correctness in concurrent computing systems using formal methods such as Hoare Logic, Temporal Logic, and Symbolic Model Checking. Prerequisite: A "C" or better grade in Comp Sci 5800.


COMP SCI 6801 Topics in Parallel and Distributed Computing (LEC 3.0)

Introduction of parallel and distributed computing fundamentals and advanced research topics. Students present research papers selected from the current literature on P&D computing paradigms. A term paper and oral presentation are required. Prerequisite: A "C" or better grade in Comp Sci 5802 or equivalent background. (Co-listed with Comp Eng 6110).