CSCI Computer Science

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   1232   Introduction to FORTRAN Programming

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

Basic concepts, logic and syntax of the FORTRAN programming language. Elementary programming techniques and algorithms. Topics include: arithmetic operations, input/output, 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.

Cross Listing(s): CSCI   1236H.

CSCI   1236H   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, MATH   1113, MATH   1232, MATH   1441.

Cross Listing(s): CSCI   1236.

CSCI   1301   Programming Principles I

0,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.

Cross Listing(s): CSCI   1301H, CSCI   1301S.

CSCI   1301H   Programming Principles I

0,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.

Cross Listing(s): CSCI   1301, CSCI   1301S.

CSCI   1301S   Programming Principles I

0,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.

Cross Listing(s): CSCI   1301, CSCI   1301H.

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   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.

Cross Listing(s): CSCI   3230H.

CSCI   3230H   Data Structures Honors

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.

Cross Listing(s): CSCI   3230.

CSCI   3231   Logic Circuits and Microprocessors

0,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.

Cross Listing(s): CSCI   3232H.

CSCI   3232H   Systems Software Honors

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" in all of the following: CSCI   1302 and prior or concurrent enrollment in CSCI   3230.

Cross Listing(s): CSCI   3232.

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.

Cross Listing(s): CSCI   3236H.

CSCI   3236H   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.

Cross Listing(s): CSCI   3236.

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.

Cross Listing(s): CSCI   3432H.

CSCI   3432H   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.

Cross Listing(s): CSCI   3432.

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   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.

Cross Listing(s): CSCI   4235H.

CSCI   4235H   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.

Cross Listing(s): CSCI   4235.

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.

Cross Listing(s): CSCI   4439H.

CSCI   4439H   Game Programming Honors

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.

Cross Listing(s): CSCI   4439.

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   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   2231 and CSCI   3230 or Permission of Instructor.

Cross Listing(s): CSCI   5230G.

CSCI   5235H   Human Computer Interaction-Hon

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.

Cross Listing(s): CSCI 5235.

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   5330H.

CSCI   5330H   Algo Design & Analysis Honors

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   5330, CSCI   5330G.

CSCI   5331   Computer Architecture

0,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   5331H, CSCI   5331G.

CSCI   5331H   Computer Architecture

0,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   3231.

Cross Listing(s): CSCI   5331, 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 and STAT   2231.

Cross Listing(s): CSCI   5332H, CSCI   5332G.

CSCI   5332H   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   5332, 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   5335H.

CSCI   5335H   Object-Oriented Design Honors

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   5335, CSCI   5335G.

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   5430H and CSCI   5430G.

CSCI   5430H   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   5430 and CSCI   5430G.

CSCI   5431   Computer Security

0,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   5431H and CSCI   5431G.

CSCI   5431H   Computer Security Honors

0,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   5431 and 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   5436H.

CSCI   5436H   Distributed Web Systemsm 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 5432 or CSCI   3432.

Cross Listing(s): CSCI   5436G, 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   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 5432 or CSCI   3432.

Cross Listing(s): CSCI   5530H, CSCI   5530G.

CSCI   5530H   Software Engineering (Honors)

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   5530, 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   5538, CSCI   5538G.

CSCI   5538H   Wireless and Mobile Systems (Honors)

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   5538, CSCI   5538G.