Computer Science

Courses

Computer Info Sciences (CIS)

CIS 010  Computer Proficiency Exam  0 cr  

The purpose of this course is to administer the Computer Proficiency Exam (CPE) for enrolled students. The CPE consists of multiple choice and performance-based questions for general computer, internet, WWW, e-mail, and office application concepts. Performance-based questions require a series of actions in a simulated environment to demonstrate specific skills being assessed. No outside materials or assistance from the applications' Help files are allowed.

CIS 100  Information Tech in Society  1 cr  

A discussion of the impact of information technology on personal, local, national, and global issues. Not to be taken with CIS 110.

CIS 101  Freshman Seminar CIS  2 cr  

A course for first-time students that assists with maximizing the student's potential to achieve academic success and to adjust responsibly to the individual and interpersonal challenges presented by college life for a major in the School of CIS. Taught in small groups, the course provides an introduction to the nature of higher education and a general orientation to the functions and resources of the University and the School of CIS. Extensive reading and writing assignments relevant to the student's first year experience are required.

CIS 110  Intro to Comp-Info Sciences  3 cr  

An introduction to information technology using a programming language to study applications in text searching, in real-time 3-D animation, and in sound production. A discussion of the social, ethical, economic, and philosophical implications of computing.

CIS 115  Beginning Programming  4 cr  

A first course in programming using a visual, event-driven programming language. Coverage includes algorithmic problem solving, fundamentals of programming, procedures, decisions, repetition, and arrays.

Prerequisite: MyMathTest 080 or ACT Math 23 or (MA 112 Minimum Grade of C or MA 171 Minimum Grade of C) or MA 267 Minimum Grade of C or (MA 125 Minimum Grade of C or MA 132 Minimum Grade of C)  
CIS 121  Prob Solv-Prog Concepts II  4 cr  

Continuation of CIS 120. Topics include: design concepts, abstract data types, use of object libraries, dynamic storage allocation, stacks, queues, link lists, random access files, testing and software engineering practices.

Prerequisite: (CIS 120 Minimum Grade of C or CIS 141 Minimum Grade of C)  
CIS 140  Intro to Tech for Healthcare  3 cr  

This course is designed to provide a broad-based introduction to the use of computers and productivity software technologies for healthcare providers. Topics to be covered include use of a current Operating System and basic file management; the fundamentals of word processing, spreadsheet and graphics-based presentation software; basic image management related to documents and reports; as well as electronic health records systems. Other topics covered include information assurance, protecting patient privacy, social networks, computing safety, and professional coping skills.

CIS 150  Intro to Computer Applications  3 cr  

This course is designed to provide a broad based introduction to the use of computers and productivity software technologies. Topics to be covered include: use of a current Operating System and basic file management; the fundamentals of word processing, spreadsheet and graphics-based presentation software; and basic image management related to documents and reports. Other topics covered include information assurance and computing safety as related to PC/Internet usage.

CIS 150L  Intro to Comp Applications Lab  0 cr  

Laboratory course for CIS 150, Introduction to Computer Applications.

CIS 190  Special Topics-  1-3 cr  

Selected topics in computer and information sciences. Requires permission of Specialization Coordinator.

CIS 210  Intro to C++ Programming  3 cr  

Introduction and fundamentals of C++ programming, input-output operations, variables, data types, arithmetic expressions, control statements, looping, functions, arrays, pointers, strings, structures, and abstract data types.

Prerequisite: MA 125 (may be taken concurrently) Minimum Grade of C  
CIS 211  Advanced C++ Programming  1 cr  

Advanced concepts in C++ programming, constructors, destructors, classes and operation overloading.

Prerequisite: (CIS 121 Minimum Grade of C or CIS 210 Minimum Grade of C)  
CIS 227  Numerical Computation I  3 cr  

Floating point numbers, representation, and errors; software tools for scientific computing; elementary problems in scientific computing.

Prerequisite: MA 126 Minimum Grade of C or MA 233 Minimum Grade of C  
CIS 230  Adv Data-File Structures  3 cr  

Extension of elementary data structures as covered in CIS 121, techniques to organize and access collections of data. Definition, implementation, and use of Classes and Abstract Data Types (ADT). The use of ADTs and objects for solving CIS problems. Network, hierarchical, and relational data models leading to Database Management Systems. Topics include: recursion, search trees, algorithmic complexity, advanced searching and sorting algorithms, and graphs.

Prerequisite: (CIS 121 Minimum Grade of C or CIS 142 Minimum Grade of C or CIS 211 Minimum Grade of C) and MA 267 Minimum Grade of C  
CIS 235  Programming Language Seminar  3 cr  

Fundamentals of syntax and style for a relevant, or current programming language. Includes application development in that language. Recommended: Knowledge of a programming language.

CIS 250  Advanced Comp Applications  3 cr  

This course is designed to provide continuing, advanced coverage of productivity software technologies. Topics to be covered in depth include: fundamental and advanced features of spreadsheet and database management software. Other topics covered include information assurance and computing safety as related to PC/Internet usage.

Prerequisite: CIS 150 Minimum Grade of C or CIS Proficiency Exam P or CIS 010 Minimum Grade of S  
CIS 250L  Adv Comp Applications Lab  0 cr  

Laboratory course for CIS 250, Advanced Computer Applications.

Prerequisite: CIS Proficiency Exam P or CIS 150 Minimum Grade of C  
CIS 300  Information Tech in Society  1 cr  

A discussion of personal, local, national, and global impact of information technology on ethical, legal, and social issues. Requires Junior standing in the School of Computing.

CIS 321  Data Comm and Networking  3 cr  

An introduction to data communications, computer networking and network operating systems. Topics include: basic concepts of data transmission, network architectures, communications devices, and communication protocols.

Prerequisite: ISC 245 Minimum Grade of C or ITE 271 Minimum Grade of C or CIS 120 Minimum Grade of C or CSC 120 Minimum Grade of C  
CIS 322  Operating Systems  3 cr  

This course covers the development of operating systems that control computing systems. Topics include: file systems, process management, scheduling, memory management (real and virtual), security, and concurrency. Case studies of operating systems are examined.

Prerequisite: (CIS 230 Minimum Grade of C or CIS 263 Minimum Grade of C)  
CIS 324  Database Design-Dev-Mgt  3 cr  

Analysis, design, and development of desktop database systems. Coverage of normalization concepts, DBMS models, E-R/Semantic modeling, and query processing.

Prerequisite: ((MA 112 Minimum Grade of C or MA 171 Minimum Grade of C) or (MA 120 Minimum Grade of C or MA 287 Minimum Grade of C) or MA 267 Minimum Grade of C or (MA 125 Minimum Grade of C or MA 132 Minimum Grade of C) or ACT Math 23) or MyMathTest 080 and (ISC 245 Minimum Grade of C or ITE 271 Minimum Grade of C) or (CSC 121 Minimum Grade of N or CIS 121 Minimum Grade of C)  
CIS 401  Accelerated Programming  3 cr  

This course presents programming concepts in an accelerated manner. Coverage includes ADT's, Classes and Class Libraries, and simple data structures such as linked lists, stacks, queues. Laboratory assignments will be done in a high level, object-oriented language. This course does not count towards a graduate degree in CIS. Requires prior programming experience and permission of Coordinator.

Cross-Listed: CIS 121, CIS 123, CIS 501  
CIS 402  Accelerated OS-Comp Arch  3 cr  

This course presents computer architecture and operating systems concepts in an accelerated manner. Coverage includes machine and assembly languages, functioning of a simple processor, machine level data flow, microprogramming, I/O, interrupts and processing drivers, memory management, dynamic process scheduling, and multi-tasking. This course does not count toward a graduate degree in CIS. Requires prior programming experience desired and permission of Coordinator.

Cross-Listed: CIS 322, CIS 502  
CIS 403  Accelerated Data-File Structs  3 cr  

This course applies advanced programming concepts and techniques to data structures such as linear and linked list trees, records, files, and database. Sequential and random access file processing methods; searching and sorting methods. Laboratory assignments will be done in a high- level, object-oriented language. This course does not count toward a graduate degree in CIS.

Prerequisite: CIS 121 Minimum Grade of B or CIS 123 Minimum Grade of B or CIS 142 Minimum Grade of B or CIS 401 Minimum Grade of B or CIS 501 Minimum Grade of B  
Cross-Listed: CIS 230  
CIS 404  Accelerated Networks-Comm  3 cr  

This course presents network and communications concepts in an accelerated manner. Coverage includes signaling concepts, communication devices, switching, network architectures and protocols, OSI reference model, network management and planning. This course does not count toward a graduate degree in CIS.

Prerequisite: CIS 222 Minimum Grade of B or CIS 322 Minimum Grade of B or CIS 402 Minimum Grade of B or CIS 502 Minimum Grade of B  
Cross-Listed: CIS 321, CIS 504  
CIS 405  Programming Languages  3 cr  

This course examines formal language concepts of programming languages including syntax and basic grammars. Language features such as data types and structures, control structures, and data flow will be studied. Laboratory assignments include the use of high level languages as well as the use of windows API.

Prerequisite: CIS 230 Minimum Grade of B or CIS 263 Minimum Grade of B or CIS 403 Minimum Grade of B  
Cross-Listed: CIS 333  
CIS 406  IS in Organizations  3 cr  

An examination of the relationship of information systems in organizations and the impact on people in the organization with respect to planning and decision making. Other topics covered include general systems theory, data security and integrity, application access control, project management, and large group behaviors.

Prerequisite: (CIS 230 Minimum Grade of B or CIS 263 Minimum Grade of B or CIS 403 Minimum Grade of B or CIS 503 Minimum Grade of B or (ITE 285 Minimum Grade of B or ISC 508 Minimum Grade of B) or ITE 451 Minimum Grade of B)  
CIS 407  Database Programming  3 cr  

This course examines implementation and access of databases via event-driven applications developed with visual programming tools. Other topics covered are elementary E-R modeling, data integrity, referential integrity, report development, interface design. This course does not count towards a graduate degree in CIS.

Prerequisite: (CIS 230 Minimum Grade of B or CIS 263 Minimum Grade of B or CIS 403 Minimum Grade of B)  
Cross-Listed: CIS 324  
CIS 439  Windows Programming  3 cr  

This course continues and expands the study of programming begun in either ITE 285 or CIS 121. Concepts previously learned are extended to application programming in the windows (GUI) environments. Students will make use of the OLE, DDE, API features of windows in programming projects. Students will write and use their own DLL's in producing user interfaces and applications projects.

Prerequisite: CIS 230 Minimum Grade of C or CIS 263 Minimum Grade of C or ITE 285 Minimum Grade of C or ITE 451 Minimum Grade of C or Computer Science Graduate 030  
CIS 490  CIS Sp Top -  3 cr  

Advanced selected topics in computer and information sciences. Requires permission of the specialization coordinator.

Prerequisite: Computer Sci Prof Component 30  
CIS 494  Directed Studies  1-3 cr  

May be taken for a maximum of six credits, only three of which may be applied to the CIS major or minor. Requires permission of the specialization coordinator.

CIS 496  CIS Internship  3 cr  

CIS internship program is designed to give advanced students practical experience in the computer industry. Students will work on sponsored projects with faculty advisors. Credit may apply to degree with approval of the dean. Requires GPA 2.75 or higher and permission of the Dean.

CIS 497  Senior Capstone Experience-W  3 cr  

A comprehensive team project will be completed and documented. Writing assignments will reinforce the importance of life-long learning, leadership skills, and the ethical issues of computing as well as appropriate resume and job application cover letter creation. Oral and written reports will be required. This course is to be taken the final semester of the student's degree program. Requires application for graduation filed the semester before registering for the course. Completion of the following courses according to major: Computer Science-CSC 333 and CSC 340; Information Systems-ISC 360; Information Technology-ITE 370.

Prerequisite: (EH 372 Minimum Grade of C or EH 373 Minimum Grade of C) and (CSC 333 Minimum Grade of C and CSC 340 Minimum Grade of C) or ISC 360 Minimum Grade of C or ITE 370 Minimum Grade of C  
Corequisite: CIS 498  
CIS 498  CIS Senior Seminar  0 cr  

A series of mini-seminars designed to prepare graduating seniors for transition to professional careers in computing or graduate study and to assess student learning outcomes in the curriculum. Mini-seminars would include, but would not be limited to: resume development, interviewing tips and techniques, career planning, professionalism and ethics in the workplace, and advanced graduate study and professional development. Each student will be required to complete one or more senior exit exams and a senior exit survey. Prerequisite: Computer Science: CSC 331; Information Systems: ISC 360; Information Technology: ITE 370.

Prerequisite: CIS 497 (may be taken concurrently) Minimum Grade of C and (CSC 331 Minimum Grade of C or ISC 360 Minimum Grade of C or ITE 370 Minimum Grade of C)  
Corequisite: CIS 497  
CIS 499  CIS Senior Honors Project - H  3-6 cr  

Under the advice and guidance of a faculty mentor, honors students will identify and carry out a research project, relevant to the field of computing, that will lead to a formal presentation at the annual Honors Student Colloquium. The senior honors project will be judged and graded by three faculty chaired by the honors mentor. This course is required for Honors recognition and may be repeated for up to 6 credit hours. Requires completion of an approved project prospectus and permission of the appropriate Coordinator.

Prerequisite: Computer Sci Prof Component 30  
CIS 500  Basic Computing Prin and Appl  3 cr  

Introduction to computers and computer applications. Components of a computer system will be presented. Word processing, systems design and implementation, and programming concepts will be introduced. Not to be taken for CIS graduate credit.

CIS 501  Accelerated Programming  3 cr  

This course presents programming concepts in an accelerated manner. Coverage includes ADT's, Classes and Class Libraries, and simple data structures such as linked lists, stacks, queues. Laboratory assignments will be done in a high level, object-oriented language. This course does not count towards a graduate degree in CIS. Prerequisite: Prior programming experience desired and permission of Coordinator.

Cross-Listed: CIS 121, CIS 401  
CIS 502  Accelerated OS-Comp Arch  3 cr  

This course presents computer architecture and operating systems in an accelerated manner. Coverage includes machine and assembly languages, functioning of a simple processor, machine level data flow, microprogramming, I/O, interrupts and processing drivers, memory management, dynamic process scheduling, and multi-tasking. This course does not count towards a graduate degree in CIS. Prerequisites: Prior programming experience and permission of Coordinator.

Cross-Listed: CIS 322, CIS 402  
CIS 503  Accelerated Data-File Structs  3 cr  

This course applies advanced programming concepts and techniques to data structures such as linear and linked list, trees, records, files, and database. Sequential and random access file processing methods; searching and sorting methods. Laboratory assignments will be done in a high-level object-oriented language. This course does not count towards a graduate degree in CIS.

Prerequisite: (CIS 121 Minimum Grade of B or CIS 123 Minimum Grade of B or CIS 142 Minimum Grade of B or CIS 501 Minimum Grade of B) or CIS 401 Minimum Grade of B  
Cross-Listed: CIS 230, CIS 403  
CIS 504  Accelerated Networks - Comm  3 cr  

This course presents networks and communications concepts in an accelerated manner. Coverage includes signaling concepts, communications devices, switching, network architectures and protocols, OSI reference model, network management and planning. This course does not count towards a graduate degree in CIS.

Prerequisite: (CIS 222 Minimum Grade of B or CIS 322 Minimum Grade of B or CIS 402 Minimum Grade of B or CIS 502 Minimum Grade of B or ISC 506 Minimum Grade of B)  
Cross-Listed: CIS 321, CIS 404  
CIS 505  Programming Languages  3 cr  

This course examines formal language concepts of programming languages including syntax and basic grammars. Language features such as data types and structures, control structures, and data flow will be studied. Laboratory assignments include the use of high level languages as well as the use of windows API.

Prerequisite: (CIS 230 Minimum Grade of B or CIS 263 Minimum Grade of B or CIS 403 Minimum Grade of B or CIS 503 Minimum Grade of B or ISC 508 Minimum Grade of B)  
Cross-Listed: CIS 333, CIS 405  
CIS 506  IS in Organizations  3 cr  

An examination of the relationship of information systems in organizations and the impact on people in the organization with respect to planning and decision making. Other topics covered include general systems theory, data security and integrity, application access control, project management, and large group behaviors. This course does not count toward a graduate degree in CIS.

Prerequisite: (CIS 230 Minimum Grade of B or CIS 263 Minimum Grade of B or CIS 403 Minimum Grade of B or CIS 503 Minimum Grade of B or ISC 508 Minimum Grade of B) or (ITE 285 Minimum Grade of B or ITE 451 Minimum Grade of B)  
Cross-Listed: CIS 406  
CIS 507  Database Programming  3 cr  

This course examines implementation and access of databases via event-driven applications developed with visual programming tools. Other topics covered are elementary E-R modeling, data integrity, referential integrity, report development, interface design. This course does not count towards a graduate degree in CIS.

Prerequisite: (CIS 230 Minimum Grade of B or CIS 263 Minimum Grade of B or CIS 403 Minimum Grade of B or CIS 503 Minimum Grade of B or ISC 508 Minimum Grade of B)  
Cross-Listed: CIS 324, CIS 407  
CIS 518  CIS Research Methodologies  3 cr  

A review of computer and information science literature and research topics. Techniques for defining research goals will be described. Students will be expected to identify a research area and conduct a complete review of the literature.

Prerequisite: CSGR Prof Component Eligible P  
CIS 530  Information Assurance/IT Audit  3 cr  

This course covers the understanding and managing of risks and threats to information and information systems. This includes protecting and defending information and information systems by ensuring through authorization and other means concepts such as accessibility, secrecy, reliability, and authentication.

Prerequisite: CSGR Prof Component Eligible P  
CIS 535  Digital Forensic Analysis  3 cr  

This course provides students with advanced tools, techniques, and methodologies for accumulating, securing, analyzing, managing, and reporting evidence related to a forensics examination. The professional communication and presentation of the results of forensic investigations will be emphasized.

Prerequisite: CSGR Prof Component Eligible P  
CIS 538  OS Concepts and Security  3 cr  

This course examines the concepts of operating systems such as memory and virtual memory management, as well as processor, process, device, and file management. Topics include the management and organization of network operating systems and operating system security and ethics. Students will manage, configure, and secure operating systems such as Windows, Unix, and Linux in laboratory environments.

Prerequisite: CSGR Prof Component Eligible P  
CIS 539  Windows Programming  3 cr  

The practice and principles of developing interactive desktop computer applications. Aspects to be covered will include graphical user interface; use of sophisticated widget, container, and utility libraries; event-driven programming; two-dimensional graphics; in-memory database; and deployment.

Prerequisite: CSGR Prof Component Eligible P  
CIS 540  Network Security Management  3 cr  

This course examines network and web security issues including: risks and threats, system access points, hardware and software defense methods, and organizational security policies. The course will cover the analysis of systems for vulnerabilities, the implementation of security procedures, the monitoring of systems for security breaches, and the recovery or restoration of breached systems.

CIS 590  CIS Sp Top -  3 cr  

Advanced selected topics in computer and information sciences. Requires permission of the CSC Coordinator

Prerequisite: CSGR Prof Component Eligible P  
CIS 594  Directed Studies -  1-3 cr  

May be taken for a maximum of three credits to count toward the degree. Requires permission of the Director of Graduate Studies.

CIS 595  CIS Research Development  1-3 cr  

Development of the research proposal for master's thesis. Graduate Professional Component. Requires permission of the Director of Graduate Studies.

Prerequisite: CIS 518 Minimum Grade of S  
CIS 596  CIS Graduate Internship  3 cr  

CIS graduate internship program is designed to give graduate students practical experience in the computer industry. Students will work on sponsored projects with faculty advisors. Up to three hours may be counted toward the degree. Requires permission of the Director of Graduate Studies.

CIS 597  CIS Graduate Seminar  1 cr  

This course prepares graduate assistants in the School of CIS to provide support and assistance to faculty for instruction in School of CIS classes. Topical coverage includes but is not limited to: graduate assistant expectations and responsibilities, protection of student educational information (FERPA), practical skills in assisting in computing instruction, graduate assistant best practices, and tips from faculty and experienced graduate assistants. This course does not count towards a graduate degree in CIS. Requires permission of the Director of CIS Graduate Studies.

CIS 598  CIS Project  1-3 cr  

Approved investigation of original problems under direction of a faculty member. This course may be repeated for a maximum of three hours of credit towards the degree. Requires permission of the Director of Graduate Studies.

CIS 599  CIS Thesis  1-9 cr  

This course may be repeated for a maximum of six credits. A thesis committee will provide direction during the thesis. Requires approval of the thesis project by graduate faculty and the Director of Graduate Studies.

Prerequisite: CIS 595 Minimum Grade of B  
CIS 694  Directed Study -  3 cr  

This course focuses on the development of the doctoral prospectus leading to the the defense of a dissertation.

CIS 799  Dissertation  1-9 cr  

This course focuses on the development of the dissertation.

Computer Science (CSC) 

CSC 108  Introduction to Programming  2 cr  

Problem-solving and pre-programming skills developed using hands-on activities in preparation for the introductory programming course.

Prerequisite: MA 112 Minimum Grade of C or ACT Math 22 or MyMathTest 070  
CSC 120  Prob Solv and Prog Concepts  4 cr  

An introduction to the design of algorithms and their implementation in a high-level programming language. Topics include: problem solving strategies, programming concepts, programming environment, control structures, methods, arrays, searching, sorting, object-oriented programming, and file input/output.

Prerequisite: (MA 113 Minimum Grade of C or MA 172 Minimum Grade of C) or (MA 115 Minimum Grade of C or MA 121 Minimum Grade of C) or (MA 125 Minimum Grade of C or MA 132 Minimum Grade of C) or ACT Math 27 or MyMathTest 090  
CSC 121  Prob Solv and Prog Concepts II  4 cr  

Continuation of CSC 120. Topics include: object-oriented programming concepts, abstract data types, graphical user interfaces and event-driven programming, exception handling, text and binary file I/O, and an overview of dynamic data structures.

Prerequisite: CSC 120 Minimum Grade of C or CIS 120 Minimum Grade of C  
CSC 190  CSC Special Topics -  1 cr  

Selected topics in computer science. Prerequisite: Permission of the CSC coordinator.

CSC 228  Digital Logic Computer Arch  3 cr  

Topics include: Boolean algebra, minimization techniques, combinatorial and sequential circuit analysis, memory organization, microprocessor concepts, and CPU architecture.

Prerequisite: (MA 113 Minimum Grade of C or MA 115 Minimum Grade of C or MA 1125 Minimum Grade of C or ACT Math 27 or MyMathTest 090)  
CSC 231  Intro Data Structures Algs  4 cr  

The course will cover techniques to organize and access collections of data, definition, implementation, and use of Classes and Abstract Data Types(ADT). Topics include: stacks, queues, heaps, search trees, recursion, algorithmic complexity, advance searching and sorting algorithms, and graphs and their application to problems.

Prerequisite: (CSC 120 Minimum Grade of C or CIS 210 Minimum Grade of C or CPE 260 Minimum Grade of C)  
CSC 311  Networking and Communications  3 cr  

An introduction to computer networks. Topics include: data transmission, network architectures, file compression algorithms, communication devices and protocols, network routing and flow algorithms.

Prerequisite: CSC 231 Minimum Grade of C or CSC 230 (may be taken concurrently) Minimum Grade of C  
CSC 320  Computer Org-Architect  3 cr  

An introduction to computer organization using a top down approach from system component to the register level, internal representation of data, general assembly and linking concepts, addressing modes, and introduction to a specific processor, its architecture and operating system.

Prerequisite: CSC 228 Minimum Grade of C and CSC 230 Minimum Grade of C or CSC 231 Minimum Grade of C  
CSC 322  Operating Systems  3 cr  

This course covers the development of operating systems that control computing systems. Topics include: file systems, process management, scheduling, memory management (real and virtual), security, and concurrency. Case studies of operating systems are examined.

Prerequisite: CSC 231 Minimum Grade of C  
CSC 324  Database Concepts  3 cr  

Introduction to database design and implementation. Aspects of data modeling, database design theory, storage, indexing, and database application development. Entity-relationship model, relational data model, schema refinement, normal forms, file organizations, index structures, and embedded SQL application development.

Prerequisite: CSC 231 Minimum Grade of C  
CSC 331  Software Engineering Prin - W  3 cr  

Models, techniques, and tools used in project management. Topics include: software development process, task scheduling, estimation and progress measurement. Coordination of development teams. Standards, testing plans, configuration management, metrics and use of CASE tools, system delivery and maintenance strategies.

Prerequisite: ((CSC 231 Minimum Grade of C or CSC 230 Minimum Grade of C or CIS 230 Minimum Grade of C)) and CA 275 (may be taken concurrently) Minimum Grade of C  
CSC 332  Adv Data Structures and Algs  3 cr  

Techniques for the design and analysis of efficient algorithms, emphasizing methods useful in practice. Topics covered include: mathematical foundations; all five asymptotic notations; analytic, empirical, and qualitative evaluation techniques; sorting algorithms; balanced trees (2-3-4 trees and red-black trees); dynamic programming; and NP-completeness.

Prerequisite: CSC 231 and MA 267  
CSC 333  Prog Language Theory  3 cr  

Formal examination of programming languages. Formal Language concepts including syntax and basic grammars are studied. Language features such as data types and structures, control structures, and data flow are examined. The run-time environment and the process of interpretation/compilation are covered. Interpreter and compilation techniques are introduced.

Prerequisite: (CSC 231 Minimum Grade of C)  
CSC 340  Secure Software Engineering  3 cr  

The objective of this course is to enhance the security of software by introducing sound security principles that should be incorporated into the software development process. Students will learn a risk management framework and best practices for software secuirty including code reviews, architectural risk analysis, penetration testing, risk-based security test, abuse cases, security requirements, and security operations.Students will also learn common flaws that lead to exploitation and be able to identify and mitigate such errors in practice. Out of class labs and exercises reinforce concepts presented in class. Prerequisite: CSC 331.

Prerequisite: (CSC 331 Minimum Grade of C or CIS 231 Minimum Grade of C)  
CSC 399  Conc and Distributed Comp  3 cr  

This course focuses on security issues in concurrent and distributed systems. Security features in the current advent of cloud computing are vital. Example topics include secure multi-threading, agent-based security, security policy composition, secure compartmentalization and more.

Prerequisite: CSC 322 Minimum Grade of C  
CSC 404  Web Tech & Knowledge Modeling  3 cr  

The students will learn knowledge service design based on Web technologies and will develop a knowledge service project during the course. The course will highlight the features of different Web Services Technologies and introduce various Scripting Languages, provide an up-to-date survey of developments in Web Services Technologies, and Knowledge Modeling.

Prerequisite: (CSC 320 Minimum Grade of C or CSC 331 Minimum Grade of C)  
CSC 410  Compiler Design-Construction  3 cr  

Lexical analysis, syntactic analysis, intermediate code generation, object code generation, optimization, memory use, generators for scanners and parsers.

Prerequisite: CSC 332 Minimum Grade of C and CSC 333 Minimum Grade of C and CSC 320 Minimum Grade of C or EE 264 Minimum Grade of C  
CSC 411  Comm - Network Analysis  3 cr  

Data communications and computer networks. An in-depth treatment of network architectures and protocols for both WANS and LANS. Topics include: network routing and flow algorithms, internet working, and distributed systems.

Prerequisite: CSC 311 Minimum Grade of C and (CSC 322 Minimum Grade of C or CIS 322 Minimum Grade of C)  
CSC 412  Real-Time Software Systems  3 cr  

Design and implementation of software for real-time computer systems. Survey of typical real-time systems; techniques for code-conversion, error checking, and transmission monitoring.

Prerequisite: CSC 311 Minimum Grade of C and CSC 322 (may be taken concurrently) Minimum Grade of C and CSC 332 Minimum Grade of C  
CSC 413  Computer Graphics  3 cr  

An in-depth study of hardware and software techniques used in computer graphics. Study of display and entry devices, including refresh, storage, and raster scan topics. Software techniques will include display files, windowing, clipping, two and three-dimensional transformations, and hidden-surface removal.

Prerequisite: (CSC 231 Minimum Grade of C) and (MA 237 Minimum Grade of C or MA 227 Minimum Grade of C)  
CSC 414  Modeling and Simulation  3 cr  

Analytic and simulation models developed using deterministic and stochastic techniques. Topics include: event-driven simulations, queuing theory, Markov processes, and dynamical systems. "Real World" project required.

Prerequisite: (CSC 230 Minimum Grade of C or CIS 230 Minimum Grade of C) and (MA 126 Minimum Grade of C or MA 233 Minimum Grade of C) and (ST 310 Minimum Grade of C or ST 275 Minimum Grade of C) or ST 315 Minimum Grade of C or ST 320 Minimum Grade of C  
CSC 415  Numerical Analysis  3 cr  

Mathematical preliminaries, solving linear systems numerical solution of ordinary and partial differential equations.

Prerequisite: (CSC 230 Minimum Grade of C or CIS 230 Minimum Grade of C) and (MA 126 Minimum Grade of C or MA 233 Minimum Grade of C)  
CSC 416  AI Theory and Programming  3 cr  

Introduction to basic concepts, implementation techniques, and philosophies of artificial intelligence and intelligent systems. Introduction to expert systems, fuzzy logic systems, neural networks, and techniques for artificial intelligence programming. The fundamentals of an AI programming language (LISP or PROLOG) will be presented. The language will then be used to solve problems in typical AI applications.

Prerequisite: CSC 332 Minimum Grade of C or CSC 231 Minimum Grade of C  
CSC 417  Computer Game Development  3 cr  

Introduction to computer game development, including a variety of related topics. The course will be driven by research/technical paper discussions, student presentations and projects. The direction of the course will be guided to some extent by student interest.

Prerequisite: CSC 331 Minimum Grade of C or EE 368 Minimum Grade of C  
CSC 418  Adv Game & Simulation Dev  3 cr  

This course will cover advance topics related to the development of game and simulation software. Topics include game physics, collision techniques, game mechanics, level design, artificial intelligence, and security. Students will design and implement a game or simulation program that includes elements of artificial intelligence.

Prerequisite: CSC 417 Minimum Grade of C  
CSC 426  Data Mining  3 cr  

This course provides an in-depth study of data mining. Course content includes data preparation, feature selection, pattern mining, classification, clustering, and sequence mining. New research areas in data mining will also be discussed.

Prerequisite: CSC 332 Minimum Grade of C  
CSC 428  Introduction to Bioinformatics  3 cr  

Students in this course will study algorithms pertaining to bioinformatics (e.g. sequence alignment, biological database search, and phylogeny reconstruction); gain hands-on experience using bioinformatics tools; and understand the interaction of computer science and modern biology within the context of data-driven knowledge discovery.

Prerequisite: CSC 230 Minimum Grade of C  
CSC 433  Adv AI Theory and Programming  3 cr  

A study of advanced AI theory and implementation. Topics include neural networks, probability learning, and a variety of related topics. A programming language (LISP or R) will be utilized to solve complex industry problems associated with AI applications.

Prerequisite: CSC 416 Minimum Grade of C  
CSC 434  Form Lang - Automata Theory  3 cr  

Mathematical preliminaries, languages, context-free grammars, parsing, normal forms, finite automata, regular languages, pushdown automata, Turing machines.

Prerequisite: (CSC 333 Minimum Grade of C or CSC 340 Minimum Grade of C)  
CSC 440  Secure Software Engineering  3 cr  

The objective of this course is to enhance the security of software by introducing sound security principles that should be incorporated into the software development process. Students will learn a risk management framework and best practices for software security including code reviews, architectural risk analysis, penetration testing, risk-based security test, abuse cases, security requirements, and security operations. Students will also learn common flaws that lead to exploitation and be able to identify and mitigate such errors in practice. Out of class labs and exercises reinforce concepts presented in class.

Prerequisite: CSC 331 Minimum Grade of C and CSC 320 (may be taken concurrently) Minimum Grade of C or EE 264 Minimum Grade of C  
Cross-Listed: CSC 340  
CSC 450  Surreptitious Software  3 cr  

Students in this course will learn about algorithms for software protection and learn how to use tools for program transformation. Specific topics include obfuscation, watermarking, tamperproofing, birthmarking, and hardware protection. Programming projects will be required in several different languages and course activities will involve preparing student-led lectures, working on programming projects, and writing reports.

Prerequisite: CSC 440 Minimum Grade of C  
CSC 457  Data Warehousing  3 cr  

This course focuses on the design, development and usage of data warehouses. Course content includes dimensional modeling, ETL processes, physical design, and analytical processing. New research areas related to data warehousing technology will also be discussed.

Prerequisite: CIS 324 Minimum Grade of C or CSC 324 Minimum Grade of C  
CSC 460  Security of HW Implementations  3 cr  

The objective of this course s for the student to build upon logic and architectural principles as applied to hardware designs. The key theme of the course is the security impacts of hardware design implementations.

Prerequisite: (CSC 320 Minimum Grade of C or EE 264 Minimum Grade of C)  
Cross-Listed: CSC 560  
CSC 485  Cyber-Physical Security  3 cr  

This course focuses on the Security of Cyber-Physical Systems (CPS) and Internet of Things (IoT) that go beyond topics commonly considered in Computer and Network Security. This course aims to prepare participants for the cutting edge research undergoing in both areas. The successful participation in this course will require reading number of research papers, presenting learned material, active participation in in-class discussions, and successful accomplishment of a small research project.

Prerequisite: CSC 311 Minimum Grade of C and CSC 322 Minimum Grade of C  
CSC 490  Special Topics  3 cr  

Advanced selected topics in computer science. Prerequisite: Permission of the CSC Coordinator.

CSC 504  Web Tech & Knowledge Modeling  3 cr  

The students will learn knowledge service design based on Web technologies and will develop a knowledge service project during the course. The course will highlight the features of different Web Services Technologies and introduce various Scripting Languages, provide an up-to-date survey of developments in Web Services Technologies, and Knowledge Modeling.

CSC 510  Compiler Design-Construction  3 cr  

Lexical analysis, syntactic analysis, intermediate code generation, object code generation, memory use, generators for scanners and parsers.

Prerequisite: CSGR Prof Component Eligible P  
CSC 511  Comm-Network Analysis  3 cr  

Data communications and computer networks. An in-depth treatment of network architectures and protocols for both WANs and LANs. Topics include: network routing and flow algorithms, internet working, and distributed systems.

Prerequisite: CSGR Prof Component Eligible P  
CSC 512  Real -Time Software Systems  3 cr  

Design and implementation of software for real-time computer systems. Survey of typical real time systems; techniques for code conversion, error checking, and transmission monitoring.

Prerequisite: CSGR Prof Component Eligible P  
CSC 513  Computer Graphics  3 cr  

An in-depth study of hardware and software techniques used in computer graphics. Study of display and entry devices, including refresh, storage, and raster scan topics. Software techniques will include display files, windowing, clipping, two and three-dimensional transformation, and hidden-surface removal.

Prerequisite: CSGR Prof Component Eligible P  
CSC 514  Modeling and Simulation  3 cr  

Analytic and simulation models developed using deterministic and stochastic techniques. Topics include: event-driven simulations, queueing theory, Markov processes, and dynamical systems. "Real World" project required.

Prerequisite: CSGR Prof Component Eligible P  
CSC 515  Numerical Analysis  3 cr  

Mathematical preliminaries, solving linear systems, numerical solution of ordinary and partial differential equations.

Prerequisite: CSGR Prof Component Eligible P  
CSC 516  AI Theory and Programming  3 cr  

Introduction to basic concepts, implementation techniques, and philosophies of artificial intelligence and intelligent systems. Introduction to expert systems, fuzzy logic systems, neural networks, and techniques for artificial intelligence programming. The fundamentals of an AI programming language (LISP or PROLOG) will be presented. The language will then be used to solve problems in typical AI applications. Prerequisite: Graduate Professional Component Standing.

Prerequisite: CSGR Prof Component Eligible P  
CSC 517  Computer Game Development  3 cr  

Introduction to computer game development, including a variety of related topics. The course will be driven be research/technical paper discussions, student presentations, and projects. The direction of the course will be guided to some extent by student interest.

Prerequisite: CSGR Prof Component Eligible P  
CSC 520  Computer Architecture  3 cr  

Instruction set design, pipelining, instruction-level parallelism, memory hierarchy design, and multiprocessors.

Prerequisite: CSGR Prof Component Eligible P  
CSC 522  Performance Eval of Algorithms  3 cr  

Mathematical foundations; analytic, empirical, and qualitative evaluation techniques; dynamic programming, greedy algorithms, graph algorithms; and selected advanced topics.

Prerequisite: CSGR Prof Component Eligible P  
CSC 524  Computer Language Design  3 cr  

A study of programming language design and specification, including the compiling process, parsing, BNF grammars, and models of semantics. Differences between interpreters, assemblers, and compilers will be studied.

Prerequisite: CSGR Prof Component Eligible P  
CSC 525  Complexity Theory  3 cr  

Mathematical preliminaries, languages, finite automata, Turing machines, decidability, recursive function theory, complexity, tractability and NP-complete problems.

Prerequisite: CSGR Prof Component Eligible P  
CSC 526  Data Mining  3 cr  

This course provides an in-depth study of data mining. Course content includes data preparation, feature selection, pattern mining, classification, clustering, and sequence mining. New research areas in data mining will also be discussed. Laboratory assignments will provide students with opportunities to interact with and develop data mining technologies.

Prerequisite: CSGR Prof Component Eligible P  
CSC 527  Software Engineering Princ  3 cr  

Advanced concepts of software engineering will be discussed. Program testing techniques including: structured design and walk throughs, proving program correctness and verifiability, and system coding standardization and integration will be covered in depth. Software team formulation and management techniques will be discussed.

Prerequisite: CSGR Prof Component Eligible P  
CSC 528  Introduction to Bioinformatics  3 cr  

Bioinformatics is a highly interdisciplinary course between computer science and biology. It focuses on the analysis of proteins, genes, and genomes using computing technologies such as computer algorithms and computer databases. Students in this course will learn algorithms and databases pertaining to bioinformatics (e.g., sequence alignment, suffix tree and its biological/biomedical applications, genome alignment, biological/biomedical database search, and phylogeny reconstruction); gain knowledge and hands-on experience of bioinformatics tools; understand the interaction between computer science (in particular, semantic technologies) and modern biology within the context of data-driven knowledge discovery.

Prerequisite: CSGR Prof Component Eligible P  
CSC 532  Distributed Systems  3 cr  

This course will further enhance the students understanding of the details of how an operating system functions. It will focus on the advanced concepts associated with distributed systems. The student will learn the underlying concepts of such systems and the algorithms needed to provide the required synchronization and communication.

Prerequisite: CSGR Prof Component Eligible P  
CSC 533  Adv AI Theory and Programming  3 cr  

This course provides a broad introduction to machine learning and statistical pattern recognition. Topics include: supervised learning (generative/discriminative learning, parametric/non-parametric learning, neural networks, and support vector machines); unsupervised learning (clustering, dimensionality reduction, kernel methods); learning theory (bias/variance tradeoffs, practical advice); reinforcement learning and adaptive control. The course will also discuss recent applications of machine learning, such as to robotic control, data mining, autonomous navigation, bioinformatics, speech recognition, and text and web data processing.

Prerequisite: CSGR Prof Component Eligible P  
CSC 550  Surreptitious Software  3 cr  

Students in this course will learn about Algorithms for software protection and learn how to use tools for program transformation. Specific topics include obfuscation, watermarking, tamperproofing, birthmarking and hardware protection. Programming projects will be required in several different languages and course activities will involve preparing student-led lectures, working on programming projects, and writing reports.

Prerequisite: CSGR Prof Component Eligible P  
CSC 557  Data Warehousing  3 cr  

This course focuses on the design, development and usage of data warehouses. Course content includes dimensional modeling, ETL processes, physical design, and analytical processing. New research areas related to data warehousing technology will also be discussed.

Prerequisite: CSGR Prof Component Eligible P  
CSC 560  Security of HW Implementations  3 cr  

The objective of this course is for the student to build upon logic and architectural principles as applies to hardware designs. The key theme of the course is the security impacts of hardware design implementations.

Prerequisite: CSGR Prof Component Eligible P  
Cross-Listed: CSC 460  
CSC 580  Data Security  3 cr  

The objective of this course is to introduce the inherent strengths and limitations of cryptography in data security applications, focusing on the basic principles of message privacy, key negotiation, and key management. The course covers various aspects of symmetric and asymmetric ciphers and provides a broad coverage of the core areas for engineering cryptographic systems. Students will be expected to implement and analyze simple crytographic schemes and read supporting articles and papers for presentation. Prerequisite: CIS Graduate Professional Component.

Prerequisite: CSGR Prof Component Eligible P  
CSC 582  Network Security  3 cr  

The objective of this course is to provide students with the knowledge and skills to begin supporting network security within an organization. Students will gain an understanding of fundamental network security concepts and mechanisms, be able to identify security threats and vulnerabilities, and help respond to and recover from security incidents. The course will provide an understanding of how to design and build secure network algorithms and environments while gaining an in-depth knowledge of protocol security, intrusion detection, and principles of cyber defense.

Prerequisite: CSGR Prof Component Eligible P  
CSC 585  Cyber-Physical Security  3 cr  

This course focuses on the Security of Cyber-Physical Systems (CPS) and Internet of Things (IoT) that go beyond topics commonly considered in Computer and Network Security. This course aims to prepare participants for the cutting edge research undergoing in both areas. The successful participation in this course will require reading number of research papers, presenting learned material, active participation in in-class discussions, and successful accomplishment of a small research project.

Prerequisite: CSGR Prof Component Eligible P  
CSC 590  CSC Sp Top -  3 cr  

Advanced selected topics in computer science. Prerequisite: Permission of the CSC coordinator.

Prerequisite: CSGR Prof Component Eligible P  
CSC 595  CS Project Proposal Develop  1-3 cr  

Development of the project proposal for the Computer Science specialization master's project. Prerequisite: Graduate Professional Component and Permission of the Director of Graduate Studies.

Prerequisite: CIS 518 Minimum Grade of S  
CSC 598  Computer Science Project  1-3 cr  

This course may be repeated for a maximum of six (6) credits. A CIS project committee will provide direction during the project. Prerequisites: Approval of project proposal by student's project committee and permission of the Director of CIS Graduate Studies.

Prerequisite: (CSC 595 Minimum Grade of B and CS CSC Project P)  
CSC 612  Cybersecurity  3 cr  

This course focuses on developing expertise and preparation for independent research in Cybersecurity through an in-depth review of the Cybersecurity literature. The student will be conversant in broad issues and trends in Cybersecurity as defined by skill sets and occupations.

CSC 626  Advanced Big Data  3 cr  

This course focuses on developing expertise and preparation for independent research in big data through an in--depth review of the big data and data science literature. The student will be conversant in broad issues and trends in big data as defined by current tools and technologies.

Faculty

Faculty NameFaculty DepartmentFaculty PositionDegrees Held
Andel, Todd R. Computer Sciences ProfessorBS, University of Central Florida
MS, Air Force Inst of Technology
PHD, Florida State University
Benton, Ryan G Computer Sciences Associate ProfessorBS, Loyola University-New Orleans
MS, University of LA at Lafayette
PHD, University of LA at Lafayette
Campbell, Amy Ashe Computer Sciences Assistant ProfessorBSN, Tennessee Technological U
MSN, University of South Alabama
DNP, University of South Alabama
Clark, George Winston Computer Sciences Assistant ProfessorBSEE, University of South Alabama
MSCIS, University of South Alabama
PHD, University of South Alabama
Davidson, Cordell Clay Computer Sciences Assistant ProfessorBSBA, University of Southern Miss
MS, University of South Alabama
PHD, University of South Alabama
Huang, Jingshan Computer Sciences ProfessorBE, Fuzhou University
ME, University of SC-Columbia
DPHIL, University of SC-Columbia
PHD, University of SC-Columbia
Johnsten, Tom Computer Sciences Associate ProfessorBS, Oklahoma State University
MS, Arizona State University-Main
PHD, University of LA at Lafayette
McDonald, Jeffrey Todd Computer Sciences ProfessorBS, US Air Force Academy
MBA, University of Phoenix
MS, Air Force Inst of Technology
PHD, Florida State University
Segev, Aviv Computer Sciences ProfessorMS, Tel Aviv University
PHD, Tel Aviv University
Stacey, Krista Johnson Computer Sciences InstructorBA, Troy University-Main
MED, University of South Alabama
MS, University of South Alabama
Yasinsac, Alec Fletcher Computer Sciences ProfessorBS, Appalachian State University
MS, Naval Postgraduate School
PHD, University of Virginia