CSCI Computer Science

CSCI   1130M   Comp App For Bus Majors

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

CSCI   1230   Introduction to BASIC Programming

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Basic concepts, logic, and syntax of BASIC programming language. Elementary programming techniques and algorithms. Topics include: variables, arithmetic operations, input/output, strings, GUI design, IF blocks, loop structures, subprograms, one- and two-dimensional arrays, file processing and applications.

Prerequisite(s): 3 credit hours of basic math.

CSCI   1236   Introduction to Java Programming

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Basic concepts, logic and syntax of the Java programming language. Elementary programming techniques and algorithms. Topics include: arithmetic operations, input/output, data types, variables, selection and control statements, applications, applets, strings, and event-driven programming.

Prerequisite(s): A minimum grade of "C" in MATH   1111 or MATH   1113 or MATH   1232 or MATH   1441.

CSCI   1301   Programming Principles I

4 Credit Hours.   3 Lecture Hours.   2 Lab Hours.

Provides a fundamental understanding of the development of computer solutions to solve problems with emphasis on structured, top-down development and testing. Concepts include the following: an overview of computer system design, problem solving and procedural abstraction design of computer solutions, algorithm development using simple data types and control structures, implementation and testing of programmed problem solutions, design modularization using subprograms and structured and user-defined data types.

Prerequisite(s): A minimum grade of "C" in MATH   1441.

CSCI   1302   Programming Principles II

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

This course is a continuation of CSCI   1301. Emphasis is on advanced techniques such as recursion, regular expressions, refactoring, object oriented programming concepts and constructs, reusing components, templates/generics, interfaces and classes. Experiences include use of an integrated development environment and shared (code) repositories.

Prerequisite(s): A minimum grade of "C" in MATH   1441, MATH   2130, CSCI   1301.

CSCI   2120   Computers, Ethics and Society

2 Credit Hours.   2 Lecture Hours.   0 Lab Hours.

An investigation of issues related to the use of computers and computer technology including the following: computer ethics, professional standards, and social impact of computer applications. Some topics to be researched include: philosophical ethics, the application of ethical theory to situations involving computer technology, codes of conduct, privacy, data protection, employee privacy, data regulation, artificial intelligence, copyright/patent issues, computer malfunction liability, computer crime and responsibilities of computer users.

Prerequisite(s): A minimum grade of "C" in CSCI   1301.

CSCI   2490   C++ Programming

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Coverage of C++ programing techniques: Primative data types, control structures, functions, pass-by-reference, arrays, pointers, C-strings, recursion, classes and objects, file input and output, operator overloading, inheritance, exceotion handling, templates, and STL.

Prerequisite(s): A minimum grade of "C" in CSCI   1302.

CSCI   3230   Data Structures

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Introduction to abstract data types such as lists, stacks, queues, and trees, and algorithm analysis.

Prerequisite(s): A minimum grade of "C" in CSCI   1302, MATH   2130.

CSCI   3231   Logic Circuits and Microprocessors

3 Credit Hours.   0,2 Lecture Hours.   0,2 Lab Hours.

Digital system and Logic Circuits Design. Topics include the study of the Logic gate, Boolean Functions representation and Minimization, Combinational and Sequential logic circuits, Programmable Logic Arrays, Data Representation, RAM, ROM, and Cache Memories, Register Transfer Language and micro-operations, Hardware Description Language (VHDL), Microprocessor Organization and Design, Assembly Language, Computer Aided Design Tools and Filed Programmable Gate Arrays.

Prerequisite(s): CSCI   1302.

CSCI   3232   Systems Software

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Provides basic concepts of computer software systems including operating systems, language translators, utilities, linkers and loaders, system component interface, diverse programming language concepts, and interfaces.

Prerequisite(s): A minimum grade of "C" the following: CSCI   1302 and prior or concurrent enrollment in CSCI   3230.

CSCI   3236   Theoretical Foundations

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

A study of languages, formal grammars, and abstract representations of computation. Prerequisite(s): A minimum grade of "C" in MATH   2130, CSCI   1302.

CSCI   3330   Comparative Languages

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Comparative study of programming languages including facilities for procedures, parameter passing and recursion, control structures, and storage allocation techniques. Methods of specifying syntax and semantics. Introduction to program translation.

Prerequisite(s): A minimum grade of "C" in CSCI   2490.

CSCI   3341   Intro To Operating Systems

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Concepts, structure, and mechanisms of operating systems. Topics include: processes, concurrency, memory management, scheduling, I/O management, disk scheduling, file management and basic aspects of protection and security and distributed systems.

Prerequisite(s): A minimum grade of "C" in CSCI   2490 and CSCI   5331.

CSCI   3432   Database Systems

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

The fundamental concepts of database management systems (DBMS) including logical and physical database organization, date models and design issues. Emphasis will be placed upon the rational data model including design and implementation using commercial database systems.

Prerequisite(s): A minimum grade of "C" in CSCI   1301, MATH   2130 or Permission of Instructor.

CSCI   4132   Data Warehouse Design

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

The course will cover data warehouse design principles and technical problems. Topics will include: data warehouse architectures, organizing data warehouse design projects, analyzing data and requirements. SQL aggregate and analytic functions, materialized views, star-joins and other DW related features, data vault modeling, dimensional modeling, physical design and implementation of integrated data warehouse using commercial ROLAP engines such as Oracle or SQL Server.

Prerequisite(s): A minimum grade of "C" in CSCI   3432.

CSCI   4210   High Performance Computing

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

High performance software development for modern hardware. Introduction to multi-threaded and parallel computing concepts. Optimization techniques for practical parallel algorithms. Programming required.

Prerequisite(s): A minimum grade of "C" in CSCI   3341.

CSCI   4220   Networks

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Introduction to data communications and networking. Topics include communications media, codes, data transmission, multiplexing, protocols, layered networks.

CSCI   4235   Human Computer Interaction

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Human-Computer Interaction applies knowledge about how human beings perceive the world, think, remember and solve problems to the design of complex computer software. HCI goes beyond the construction of good user interfaces to specify how software projects are developed, tested and deployed. An important part of this course will emphasize field work practices for such things as user requirements gathering and usability testing.

Prerequisite(s): A minimum grade of "C" in CSCI   3230 or Permission of Instructor.

CSCI   4320   Advanced Database Systems

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Survey of database systems, query processing and optimization, transactions, transaction systems, currency control, recovery, security, e-commerce.

Prerequisite(s): A minimum grade of "C" in CSCI   3432.

CSCI   4322   Advanced Software Engineering

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Advanced software engineering principles, including software processes and methodologies, CASE tools, software metrics, software quality assurance, reusability and reengineering, and future trends. A major project encompassing some or all of these concepts.

CSCI   4342   Advanced Operating Systems

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Case studies of UNIX (tm) and/or similar operating systems. Elementary knowledge of C/C++ required.

Prerequisite(s): A minimum grade of "C" in CSCI   3341.

CSCI   4343   Systems Prog Under Unix (Tm)

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

UNIX (tm) system programming techniques in 'C'. I/O forking, pipes, signals, interrupts software tools, macros, condtional compilation, passing values to the compiler, lint, symbolic debugging, source code control, libraries.

Prerequisite(s): A minimum grade of "C" in CSCI   3341.

CSCI   4350   Compiler Theory

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Programming language translation and basic compiler implementation techniques, formal grammars and languages; specification of syntax and semantics; lexical analysis; parsing; semantic processing. A major project encompassing some or all of these concepts.

Prerequisite(s): A minimum grade of "C" in CSCI   3330.

CSCI   4360   Embedded Systems Programming

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Developing applications for embedded microprocessors inclluding virtual machine architectures, data communications, time critical I/O, cross compiling, and debugging techniques.

CSCI   4370   Handheld/Ubiquitous Computing

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Survey of personal digital assistants (PDAs) and ubiquitous computing hardware, operating systems, virtual machines, and APIs. Development of PDA applications, cross compiling and hardware emulation, PDA GUI design, Infra- Red and Wireless data communications, and desktop conduit development.

CSCI   4410   Numerical Analysis

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Introductory numerical analysis and scientific computation. Topics include computer arithmetic, numerical error, polynomial interpolation, systems of linear equations, iterative methods for nonlinear equations, least squares approximation, numerical and integration.

Prerequisite(s): A minimum grade of "C" in MATH   2242 and CSCI   1301.

CSCI   4439   Game Programming

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

An introduction to game design and development including game physics, using game engines, using AI in games, creating multithreaded games, and creating networked games.

Prerequisite(s): CSCI   1302 or permission of instructor.

CSCI   4520   Machine Learning

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Developing advanced applications using diverse machine learning and computational intelligence algorithms for pattern recognition, classification and decision-making, including decision trees, neural networks, Bayesian learning, clustering, and kernel-based techniques. Multiple projects and a term project encompassing some or all of these concepts.

Prerequisite(s): A minimum grade of "C" in CSCI   2490 and MATH   2130.

CSCI   4534   Software Testing and Quality Assurance

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Essential concepts and technology for software systems quality assurance and testing. Course covers software testing and the quality assurance body of knowledge including theory, models and methods, as well as contemporary standards and tools.

Prerequisite(s): A minimum grade of "C" in CSCI   3236 or Permission of Instructor.

CSCI   4535   Data Mining

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Study of data mining functionalities including characterization and discrimination, classification and prediction, cluster analysis, association analysis, outlier analysis, evolution analysis; data mining system architectures; data mining query languages; and OLAP technology for data mining. Multiple projects encompassing a number of the discussed concepts.

Prerequisite(s): A minimum grade of "C" in CSCI   3432.

CSCI   4537   Broadband Networks

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

The basic concepts of broadband networks including an introduction to broadband networks, principles and systems are presented. Basic concepts and terminology needed for an understanding of broadband networks which support a variety of service requirements. Emphasis is on structures and principles of broadband networks. Major concepts and principles will be examined along with their corresponding mathematical analysis.

Prerequisite(s): A minimum grade of "C" in CSCI   5332 or Permission of Instructor.

CSCI   4539   Optical Networks

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Basic concepts of optical networks will be explored including a summary of fundamental mechanisms and recent developments and deployments of optical networks and the network and software architecture to implement optical networks designed to transport IP traffic.

Prerequisite(s): A minimum grade of "C" in CSCI   5332 or Permission of Instructor.

CSCI   4610   Numerical Analysis

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Introductory numerical analysis and scientific computation. Computer arithmetic, numerical error, polynomial interpolation, systems of linear equations, iterative methods for nonlinear equations, least squares approximation, numerical and integration.

Prerequisite(s): A minimum grade of "C" in CSCI   1301.

CSCI   4720   Database Systems

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Database management system concepts and architecture; the relational, hierarchical, network, entity-relationship, and other models; design concepts; internal implementation techniques.

CSCI   4790   Special Problems/CO-OP

1-3 Credit Hours.   0 Lecture Hours.   0 Lab Hours.

Work experience in computer science through the CO-OP program. A student may enroll in this course more than once, but cumulative credit may not exceed three credit hours.

Prerequisite(s): Acceptance as a CO-OP student in the area of Computer Science.

CSCI   4820   Artificial Intelligence

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

project encompassing some or all of these concepts. developing applications using diverse machine learning clustering and hidden Markov Models. Includes a major Pattern matching and classification with an emphasis on methods, including decision trees, neural networks, production systems, knowledge representation, pattern production systems, knowledge representation, pattern production systems, knowledge representation, pattern production systems, knowledge representation, pattern production systems, knowledge representation, pattern matching, heuristic search, logical and probabilistic matching, heuristic search, logical and probabilistic matching, heuristic search, logical and probabilistic matching, heuristic search, logical and probabilistic matching, heuristic search, logical and probabilistic reasoning, and expert systems. The social, cultural and reasoning, and expert systems. The social, cultural and reasoning, and expert systems. The social, cultural and reasoning, and expert systems. The social, cultural and reasoning, and expert systems. The social, cultural and economic impact of artificial intelligence. economic impact of artificial intelligence. economic impact of artificial intelligence. economic impact of artificial intelligence. economic impact of artificial intelligence.

Prerequisite(s): A minimum grade of "C" in CSCI   3330.

CSCI   4830   Computer Graphics

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Introduction to computer graphics. Topics include hardware and software, algorithms for computer graphics programming, windows, clipping, two and three dimensional transformations, hidden line and hidden surface removal, graphics standards for hardware and software systems. Major project emcompassing some or all of these concepts.

CSCI   4890   Directed Study in Computer Science

1-3 Credit Hours.   0 Lecture Hours.   0 Lab Hours.

Directed study under faculty supervision. Seminar with at least one hour to be used as student engagement in service work.

Prerequisite(s): Permission of Instructor and Department Chair.

CSCI   5090   Selected Topics in Computer Science

1-3 Credit Hours.   1-3 Lecture Hours.   0-2 Lab Hours.

Specialized study in a selected area of Computer Science.

Prerequisite(s): Permission of Instructor.

Cross Listing(s): CSCI   5090G.

CSCI   5090G   Selected Topics in Computer Science

1-3 Credit Hours.   1-3 Lecture Hours.   0 Lab Hours.

Specialized study in a selected area of Computer Science. Graduate students will be given an extra assignment determined by the instructor that undergraduates will not be required to do.

Prerequisite(s): Permission of Instructor.

Cross Listing(s): CSCI   5090.

CSCI   5130   Data Management for Math and the Sciences

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Topics in data management, including operating systems, word processing, spreadsheets, and database management and their applications to mathematics education. Intended primarily for those majoring in Mathematics and Mathematics Education. For those majoring or minoring in Computer Science, this course may not be used as an upper level Computer Science elective.

Prerequisite(s): CSCI   1230 or Permission of Instructor.

Cross Listing(s): CSCI   5130G.

CSCI   5130G   Data Management for Math and the Sciences

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Topics in data management, including operating systems, word processing, spreadsheets, and database management and their applications to mathematics education. Intended primarily for those majoring in Mathematics and Mathematics Education. For those majoring or minoring in Computer Science, this course may not be used as an upper level Computer Science elective. Graduate students will be given an extra assignment determined by the instructor that undergraduates will not be required to do.

Prerequisite(s): CSCI   1230 or Permission of Instructor.

Cross Listing(s): CSCI   5130.

CSCI   5230   Discrete Simulation

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Introduction to discrete simulation models and their implementation on computers. Topics include modeling techniques, experiment design, analysis and validation of results. Students will be exposed to one or more computer simulation languages.

Prerequisite(s): A minimum grade of "C" in STAT   2231 and CSCI   3230 or Permission of Instructor.

Cross Listing(s): CSCI   5230G.

CSCI   5230G   Discrete Simulation

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Introduction to discrete simulation models and their implementation on computers. Topics include modeling techniques, experiment design, analysis and validation of results. Students will be exposed to one or more computer simulation languages. Graduate students will be given an extra assignment determined by the instructor that undergraduates will not be required to do.

Prerequisite(s): A minimum grade of "C" in CSCI   3230 and STAT   2231 or Permission of Instructor.

Cross Listing(s): CSCI   5130.

CSCI   5235   Human Computer Interaction

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Human-Computer Interaction applies knowledge about how human beings perceive the world, think, remember and solve problems to the design of complex computer software. HCI goes beyond the construction of good user interfaces to specify how software projects are developed, tested and deployed. An important part of this course will emphasize field work practices for such things as user requirements gathering and usability testing.

Cross Listing(s): CSCI 5235G.

CSCI   5330   Algorithm Design and Analysis

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

An in-depth study of the design, implementation, testing, and analysis of algorithms.

Prerequisite(s): A minimum grade of 'C" in CSCI   3236 and MATH   2242.

Cross Listing(s): CSCI   5330G.

CSCI   5330G   Algorithm Design and Analysis

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

An in-depth study of the design, implementation, testing, and analysis of algorithms. Graduate students will be given an extra assignment determined by the instructor that undergraduates will not be required to do.

Prerequisite(s): A minimum grade of "C" in CSCI   3236 and MATH   2242.

Cross Listing(s): CSCI   5330.

CSCI   5331   Computer Architecture

3 Credit Hours.   0,2 Lecture Hours.   0,2 Lab Hours.

Digital logic: transistors, circuits, sensors, robotic control; registers and register banks; arithmetic-logic units; data representation: big-endian and little-endian integers; one and twos complement arithmetic; signed and unsigned values; Von-Neumann architecture and bottleneck; instruction sets; RISC and CISC designs; instruction pipelines and stalls; rearranging code; memory and address spaces; physical and virtual memory; interleaving; page tables; memory caches; bus architecture; polling and interrupts; DMA; sensor and device programming; assembly language; optimizations; parallelism; data pipelining. Prerequisite(s): A minimum grade of "C" in CSCI   3232.

Cross Listing(s): CSCI   5331G.

CSCI   5331G   Computer Architecture

3 Credit Hours.   2 Lecture Hours.   2 Lab Hours.

Topics include the study of the Microprocessor Organization and Bus Structures, Complex Instruction Set Computer (CISC) Systems, Reduced Instruction Set, Computer (RISC) Systems, Micro-programmed Control and Controller Design, Concepts and Application of Embedded Systems, Pipeline and Vector processing, Input-Output Organization, Memory Organization, and Parallel processor Architecture. Advanced topics related to Hardware-Software Co-design. Graduate students will be given an extra assignment determined by the instructor that undergraduates will not be required to do.

Prerequisite(s): A minimum grade of "C" in CSCI   3231 or Permission of Instructor.

Cross Listing(s): CSCI   5331.

CSCI   5332   Data Communications and Networking

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Fundamental concepts of data communications including architecture models, protocol suites, network programming, signal and data transmissions, error detection, and performance analysis.

Prerequisite(s): A minimum grade of "C" in CSCI   3232 and STAT   2231.

Cross Listing(s): CSCI   5332G.

CSCI   5332G   Data Communications and Networking

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Fundamental concepts of data communications including architecture models, protocol suites, network programming, signal and data transmissions, error detection, and performance analysis.

Prerequisite(s): A minimum grade of "C" in CSCI   3232 and CSCI   5331 and STAT   2231.

Cross Listing(s): CSCI   5332.

CSCI   5335   Object-Oriented Design

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Introduction to concepts, methods, and current practice of object oriented design and analysis. Topics include the study of the Unified Modeling Language (UML), which has become an industry standard notation. UML topics will include use cases, diagramming notation (class, object, sequence) and object state diagrams. Students will use UML to design and implement individual and small group projects. Additional topics include understanding design patterns in building applications.

Prerequisite(s): A minimum grade of "C" in CSCI   3230.

Cross Listing(s): CSCI   5335G.

CSCI   5335G   Object-Oriented Design

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Introduction to concepts, methods, and current practice of object oriented design and analysis. Topics include the study of the Unified Modeling Language (UML), which has become an industry standard notation. UML topics will include use cases, diagramming notation (class, object, sequence) and object state diagrams. Students will use UML to design and implement individual and small group projects. Additional topics include understanding design patterns in building applications. Graduate students will be given an extra assignment determined by the instructor that undergraduates will not be required to do.

Prerequisite(s): A minimum grade of "C" in CSCI   3230.

Cross Listing(s): CSCI   5335.

CSCI   5380   Software Security and Secure Coding

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

This course covers methodological framework for identifying common programming errors that result in software vulnerabilites, understanding how these errors are exploited by attackers, and how to implement solutions in a secure fashion. Topics include concurrency and vulnerabilities that result from deadlock, race conditions, invalid memory access sequences, and vulnerabilities associated with file I/O and time of use (TOCTOU).

Prerequisite(s): A minimum grade of "C" in CSCI   1302.

CSCI   5430   Artificial Intelligence

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Introduction to different paradigms for creating software that can reason, access a knowledge base, handle uncertainty, learn, communicate, perceive and act.

Prerequisite(s): A minimum grade of "C" in CSCI   3230 and CSCI   5330 or Permission of Instructor.

Cross Listing(s): CSCI   5430G.

CSCI   5430G   Artificial Intelligence

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Introduction to different paradigms for creating software that can reason, access a knowledge base, handle uncertainty, learn, communicate, perceive and act. Graduate students will be given an extra assignment determined by the instructor that undergraduates will not be required to do.

Prerequisite(s): A minimum grade of "C" in CSCI   3230 and CSCI   5330 or Permission of Instructor.

Cross Listing(s): CSCI   5430.

CSCI   5431   Computer Security

3 Credit Hours.   0,2 Lecture Hours.   0,2 Lab Hours.

Computer security theory and practice fundamentals including methods of attack, defending against attacks, privacy vs security, methods of encryption, authentication, writing secure code, web security, and network security.

Prerequisite(s): A minimum grade of "C" in all of the following: CSCI   2120 and prior or concurrent enrollment in CSCI   5332.

Cross Listing(s): CSCI   5431G.

CSCI   5431G   Computer Security

3 Credit Hours.   2 Lecture Hours.   2 Lab Hours.

Computer security theory and practice fundamentals including methods of attack, defending against attacks, privacy vs security, methods of encryption, authentication, writing secure code, web security, and network security. Graduate students will be given an extra assignment determined by the instructor that undergraduates will not be required to do.

Prerequisite(s): A minimum grade of "C" in CSCI   2120 and prior or concurrent enrollment in CSCI   5332.

Cross Listing(s): CSCI   5431.

CSCI   5436   Distributed Web Systems Design

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

This course involves programming methodologies for the World Wide Web. Topics include: Client-side programming, distributed transactions, remote procedure calls, component objects, server side programming and network load balancing.

Prerequisite(s): A minimum grade of "C" in CSCI   3432.

Cross Listing(s): CSCI   5436G.

CSCI   5436G   Distributed Web Systems Design

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

This course involves programming methodologies for the World Wide Web. Topics include: Client-side programming, distributed transactions, remote procedure calls, component objects, server side programming and network load balancing. Graduate students will be given an extra assignment determined by the instructor that undergraduates will not be required to do.

Cross Listing(s): CSCI   5436.

CSCI   5437   Computer Graphics

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Course covers fundamentals of the theory of computer graphics, including raster systems, 3D viewing, illumination, shading and solid modeling. A standard computer graphics language is introduced.

Prerequisite(s): A minimum grade of "C" in CSCI   3230 and CSCI   3236.

Cross Listing(s): CSCI   5437G.

CSCI   5437G   Computer Graphics

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Course covers fundamentals of the theory of computer graphics, including raster systems, 3D viewing, illumination, shading and solid modeling. A standard computer graphics language is introduced. Graduate students will be given an extra assignment determined by the instructor that undergraduates will not be required to do. Cross Listing(s): CSCI   5437.

CSCI   5438   Animation

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Course covers mechanism of computer animation and their implementation in OpenGL, together with advanced graph theory.

Prerequisite(s): A minimum grade of "C" in CSCI   5437.

Cross Listing(s): CSCI   5438G.

CSCI   5438G   Animation

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Course covers mechanism of computer animation and their implementation in OpenGL, together with advanced graph theory. Graduate students will be given an extra assignment determined by the instructor that undergraduates will not b required to do.

Prerequisite(s): A minimum grade of "C" in CSCI   5437G. Cross Listing(s): CSCI   5438.

CSCI   5530   Software Engineering

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

This course serves as a major integrative, capstone experience for students and requires teamwork. A study of the development and management of software; strategies and techniques of design, testing, documentation and maintenance.

Prerequisite(s): A minimum grade of "C" in CSCI   5330 and CSCI   5335 and CSCI 5432 or CSCI   3432.

Cross Listing(s): CSCI   5530G.

CSCI   5530G   Software Engineering

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

This course serves as a major integrative, capstone experience for students and requires teamwork. A study of the development and management of software; strategies and techniques of design, testing, documentation and maintenance. Graduate students will be given an extra assignment determined by the instructor that undergraduates will not be required to do.

Prerequisite(s): A minimum grade of "C" in CSCI   5335 and CSCI   5330 or Permission of Instructor.

Cross Listing(s): CSCI   5530.

CSCI   5531   Systems and Software Assurance

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

This course presents a body of knowledge in systems and software assurance and evaluation including security, safety, and integrity analysis. The core part of the course is software assurance where students are exposed to code and architectural analysis, secure coding practices, standards, and tools. The course also explores standards in modeling internal security at the organizational level and will involve students in risk assessments, comprehensive assurance planning, as well as an array of countermeasure considerations.

Prerequisite(s): A minimum grade of "C" in CSCI   1302 and CSCI   3432.

Cross Listing(s): CSCI   5531G.

CSCI   5531G   Systems and Software Assurance

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

This course presents a body of knowledge in systems and software assurance and evaluation including security, safety, and integrity analysis. The core part of the course is software assurance where students are exposed to code and architectural analysis, secure coding practices, standards, and tools. The course also explores standards in modeling internal security at the organizational level and will involve students in risk assessments, comprehensive assurance planning, as well as an array of countermeasure considerations. Graduate students will be required to complete an individual research project not required of undergraduate students.

Prerequisite(s): A minimum grade of “C” in CSCI   1302 and CSCI   3432 or CSCI   5431G or permission of instructor.

Cross Listing(s): CSCI   5531.

CSCI   5532   Network Management Systems

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Theory and practice of network management systems architectures and protocols, including fundamentals of standards models, languages, SNMP, broadband and Web-based tools and applications.

Prerequisite(s): A minimum grade of "C" in CSCI   5332.

Cross Listing(s): CSCI   5532G.

CSCI   5532G   Network Management Systems

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Theory and practice of network management systems architectures and protocols, including fundamentals of standards models, languages, SNMP, broadband and Web-based tools and applications. Graduate students will be given an extra assignment determined by the instructor that undergraduates will not be required to do.

Prerequisite(s): A minimum grade of "C" in CSCI   5332G.

Cross Listing(s): CSCI   5532.

CSCI   5538   Wireless and Mobile Systems

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

This course deals with the basics of cellular and mobile communication systems, multiple radio access procedures and channel allocation techniques, the architecture and functioning of satellite systems including global positioning system different wireless LAN technologies and personal area networks with an emphasis on Bluetooth networks and mobile application development required for mobile and wireless handheld devices like PDAs and cell phones.

Prerequisite(s): A minimum grade of "C" in CSCI   5332 and MATH   1441 or Permission of Instructor.

Cross Listing(s): CSCI   5538G.

CSCI   5538G   Wireless and Mobile Systems

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

This course deals with the basics of cellular and mobile communication systems, multiple radio access procedures and channel allocation techniques, the architecture and functioning of satellite systems including global positioning system different wireless LAN technologies and personal area networks with an emphasis on Bluetooth networks and mobile application development required for mobile and wireless handheld devices like PDAs and cell phones. Graduate students will be given an extra assignment determined by the instructor that undergraduates will not be required to do.

Prerequisite(s): A minimum grade of "C" in CSCI   5332G or Permission of Instructor.

Cross Listing(s): CSCI   5538.

CSCI   5590   Special Topics in Computer Science

1-4 Credit Hours.   1-4 Lecture Hours.   1-4 Lab Hours.

Selected new topics in computer science.

CSCI   7090   Selected Topics in Computer Science

1-3 Credit Hours.   1-3 Lecture Hours.   0-2 Lab Hours.

Specialized study in a selected area of Computer Science.

Prerequisite(s): Permission of Instructor.

CSCI   7130   Artificial Intelligence - Theory and Application

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Examines the fundamental theory for research, design, and development of artificial intelligence systems. Emphasizes state space search, computer gaming, logic, and knowledge representation. Topics include expert systems, natural language understanding, planning, machine learning and decision making with a view toward applications. Students develop a working system in a realistic application domain.

Prerequisite(s): A minimum grade of "B" in CSCI   3230 and CSCI   3232 or Permission of Instructor.

CSCI   7132   Database Systems Design-Theory and Application

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Effective design and application of complex Database Systems, involving both traditional relational databases, object-relational databases, advanced rules and constraints, advanced SQL programming, data model validation, ontology based data modeling, contemporary semi-structured data modeling with XML Schema, and advances in SQL, XML, XML Schema, XQuery, and Data Modeling standardization. Review of advances in DB research and DB technology trends. Students will also act as practicing advisors to other students working on DB design projects.

Prerequisite(s): A minimum grade of "B" in CSCI   3230 and CSCI   3232 or Permission of Instructor.

CSCI   7136   Distributed Web Systems Design - Theory and Application

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Client and server side programming, stateless client/server transactions, state maintenance, server side database transactions, Web project design methodologies, database design methodologies for distributed Web projects, testing methodologies, and Web systems project management concepts.

Prerequisite(s): A minimum grade of "B" in CSCI   7132 or Permission of Instructor.

CSCI   7140   Software Development and Machine Architecture

4 Credit Hours.   4 Lecture Hours.   0 Lab Hours.

Software and hardware topics that include an object oriented language, web page construction, electric circuits, architecture, language translation, operating system, and networks. This course is primarily intended for those that are beginning a Masters Degree in Technology. This course cannot be taken for credit by those earning a Masters in Mathematics.

Prerequisite(s): Enrollment in the Master of Science in Appliance Engineering degree program or permission of instructor.

CSCI   7230   Advanced Computer Architecture

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Comparing different modern computer systems architecture and investigating their performances. Topics include: parallel computer systems, pipelining techniques, vector processor arrays, multiprocessor systems, data flow machines and fault-tolerant computer systems.

Prerequisite(s): CSCI   5331 or Permission of Instructor.

CSCI   7332   Parallel Algorithms Design and Analysis

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

A study of parallel constructs for providing experiences in designing and analyzing parallel algorithms.

Prerequisite(s): A minimum grade of "C" in CSCI   5332 or Permission of Instructor.

CSCI   7334   Unix Network Programming

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

A study of UNIX interprocess communication protocols and how they can be used in programs.

Prerequisite(s): A minimum grade of "C" in CSCI   3232 or Permission of Instructor.

CSCI   7336   Broadband Communications

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

An in-depth study of the structures and principles of broadband networks. Major concepts and principles are explained along with their mathematical analysis.

Prerequisite(s): A minimum grade of "B" in CSCI   5332 and a minimum grade of "C" in STAT   2231 or Permission of Instructor.

CSCI   7337   Optical Networks

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

An introduction to optical networks, their principles and systems, an understanding of the construction and organization of optical networks along with an in-depth study of the structures and requirements of lightwave-coherent systems. Major concepts and principles are covered along with their mathematical analysis.

Prerequisite(s): A minimum grade of "B" in CSCI   5332 and a minimum grade of "C" in STAT   2231 or Permission of Instructor.

CSCI   7371   Advanced Human Computer Interaction

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Paradigms in modern user interface design and related human factors. Topics include: user-system compatibility analysis, techniques for user interface design, methods for interface analysis, multimodal interaction and interaction analysis.

Prerequisite(s): Permission of department head.

CSCI   7380   Software Security and Secure Coding

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

This course covers methodological framework for identifying common programming errors that result in software vulnerabilities, understanding how these errors are exploited by attackers, and how to implement solutions in a secure fashion. Topics include concurrency and vulnerabilities that result from deadlock, race conditions, invalid memory access sequences, and vulnerabilities associated with file I/O and time of use (TOCTOU).

Prerequisite(s): permission of instructor.

CSCI   7431   Distributed Database Systems

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

A study of distributed database architectures and system design, semantic data control, query processing, transaction management, concurrency control, distributed DBMS reliability, parallel DB systems, distributed object DB management systems, and database interoperability.

Prerequisite(s): A minimum grade of "B" in CSCI   7132 and CSCI   7136 or Permission of Instructor.

CSCI   7432   Algorithm Analysis and Data Structures

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Advanced topics in algorithm design and analysis and data structures for implementing these algorithms. Problems considered from areas of information storage and retrieval, graph theory, cryptology and parallel processing.

Prerequisite(s): A minimum grade of "C" in CSCI   5330 or Permission of Instructor.

CSCI   7433   Data and Database Security

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

This course covers data protection approaches and mechanisms applicable for digital data in formatted data storage systems including Databases and Data Warehouses. Topics to be covered include: Data Security,View Security, Privacy and Statistical DB Security, DW Security, and Relevant Standards/Guidelines.

Prerequisite(s): A minimum grade of "B" in CSCI   7132 or permission of instructor.

CSCI   7434   Data Mining

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

The application of concepts and techniques from information science, statistics, visualization, artificial intelligence, and machine learning for the purpose of extracting, integrating, and visualizing information and knowledge from large databases.

Prerequisite(s): A minimum grade of "B" in CSCI   7130 and CSCI   7132 or Permission of Instructor.

CSCI   7435   Data Warehousing

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Data warehouse design principles and technical problems inherent in complex industrial implementations using commercial software. Possible topics include: an introduction to data warehousing, multidimensional data modeling, data warehouse architectures, data warehouse design and implementations, development of data cube technology, organizing data warehousing projects, from data warehousing to data mining.

Prerequisite(s): A minimum grade of "B" in CSCI   7132 or Permission of Instructor.

CSCI   7436   Internet Programming

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Advanced design and implementations of large-scale Internet applications through the use of high and low level programming constructs. Possible topics include: client side scripting languages, middle-tier programming languages, middle-tier transaction servers, server-side data access, server-side scripting/programming, integrating applications within a network cluster, internet protocols and socket programming.

Prerequisite(s): A minimum grade of "C" in CSCI   5332 and CSCI   3432 or Permission of Instructor.

CSCI   7437   Ethics and Research in CS

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

An overview of the fundamentals of research methods, computer ethics and technical writing as it generally may apply in the Computer Sciences and specifically in broad area of cyber security.

CSCI   7532   Advanced Software Engineering

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

The focus is the rigorous specification, modeling and prototyping of critical software systems/components. Topics selected from formal specification using Z and VDL, specifications using UML with OCL for real-time systems. Structure, dynamic and constraint modeling, constraint/performance [rate monotonic] analysis, concurrency, re-configuration and distribution, prototyping, reuse and integration issues, and component implementation using advanced tools with implementation styles such as Generic and Meta-Programming.

Prerequisite(s): A minimun grade of "C" in CSCI   5530.

CSCI   7533   Requirements and Architecture

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Software requirements and architecture evaluation using examples of complex software intensive systems. Product-line approach and use of industry standards. Functional and object oriented approaches in complex domains such as avionics, ground vehicles, medical devices, telecommunication. Students are expected to critically evaluate and develop architecture and requirements for sizable systems, functioning as lead architects and requirements managers.

Prerequisite(s): A minimun grade of "C" in CSCI   5530 or Permission of Instructor.

CSCI   7534   Testing and Measurement

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Testing and quantitative evaluation of software products and processes. Topics include: models, methods, standards and tools for testing, measurement and evaluation, test (defect) catalog and coverage testing of units, components, and subsystems. Integration, system and acceptance testing and evaluation, test suites, regression testing and test automation.

Prerequisite(s): A minimum grade of "C" in CSCI   5530 or Permission of Instructor.

CSCI   7535   Applied Cryptography

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

A survey of ctyptographic techniques and their application. Topics will include stream ciphers, block ciphers, key exchange algorithms, asymmetric ciphers, digital signatures, public key infrastructure, hash functions, elliptic curve ciphers, and techniques of cryptanalysis and applications of cryptography.

Prerequisite(s): A minimum grade of "B" in CSCI   7536.

CSCI   7536   Network and Computer Security

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

An overview of the fundamentals of network and computer security and their application. Topics include securing each layer of the OSI model, TCPIP versions 4 and 6, operating system security, network management systems, secure coding techniques, and the basics of encryption.

CSCI   7610   Graduate Seminar

1 Credit Hour.   1 Lecture Hour.   0 Lab Hours.

Students will research topics related to their major/concentration, under supervision of one or more faculty members. Each student will present results on topics of interest to the class on new developments in mathematical sciences, or on his/her research project. Faculty members also may present lectures for the benefit of the students. Course may be repeated up to a maximum of 3 credit hours to be counted toward the M.S. in Mathematics.

Prerequisite(s): CSCI   5230 or MATH   5330 or STAT   5531 or a minimum grade of "C" in MATH   7231.

CSCI   7710   Advanced Computer Security

3 Credit Hours.   3 Lecture Hours.   0 Lab Hours.

Theory and practice of computer security. Topics include cryptography, cryptanalysis, digital certificates, coding theory, computer forensics, and system security.

Prerequisite(s): CSCI   5330G or CSCI   5431G.

CSCI   7890   Directed Study in Computer Science

1-3 Credit Hours.   1-3 Lecture Hours.   0-2 Lab Hours.

Directed study under faculty supervision.

Prerequisite(s): Permison of Instructor and Department Chair.

CSCI   7892   Research Project in CSC

1-6 Credit Hours.   1-6 Lecture Hours.   0 Lab Hours.

CSCI   7899   Research Project in Computer Science

1-6 Credit Hours.   1-6 Lecture Hours.   0-4 Lab Hours.

Research project addressed toward a real world problem.

Prerequisite(s): Permission of Project Advisor and Department Chair.

CSCI   7999   Thesis

1-6 Credit Hours.   0 Lecture Hours.   0 Lab Hours.

Thesis.