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 and 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 COMM 1110 and CSCI 1301.
CSCI 2490 C++ Programming
3 Credit Hours. 3 Lecture Hours. 0 Lab Hours.
Coverage of C++ programming techniques: Primitive data types, control structures, functions, pass-by-reference, arrays, pointers, C-strings, recursion, classes and objects, file input and output, operator overloading, inheritance, exception 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 or CSCI 3232.
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 3230.
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, conditional 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 including 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.
Prerequisites: A minimum grade of "C" in CSCI 2490 or CSCI 3232 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 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 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 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 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 1401 and CSCI 3230 or Permission of Instructor.
Cross Listing(s): CSCI 5230G.
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 5331 Computer Architecture
3 Credit Hours. 3 Lecture Hours. 0 Lab Hours.
This course will focus on the following topics: Computer Organization (RISC, CISC architecture), Assembly Language Programming, Processor, Memory and I/O Architecture, Parallel Architectures.
Prerequisite(s): A minimum grade of "C" in CSCI 3232 or CSCI 3341.
Cross Listing(s): CSCI 5331G.
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 or CSCI 3341 and STAT 1401.
Cross Listing(s): CSCI 5332G.
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 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 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): 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 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 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 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 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 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 3432.
Cross Listing(s): CSCI 5530G.
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 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 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 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 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 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 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 1401 or Permission of Instructor.
Cross Listing(s): CSCI 5130.
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 5331G Computer Architecture
3 Credit Hours. 3 Lecture Hours. 0 Lab Hours.
This course will focus on the following topics: Computer Organization (RISC, CISC architecture), Assembly Language Programming, Processor, Memory and I/O Architecture, Parallel Architectures. 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 CSCI 3341.
Cross Listing(s): CSCI 5331.
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. 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 3232 or CSCI 3341) and CSCI 5331 and STAT 1401.
Cross Listing(s): CSCI 5332.
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 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 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 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 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 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 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 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 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 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 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 1401 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 1401 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 minimum 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 minimum 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): Permission 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.