Computer Science and Information Systems Courses

CSCI 131 - Visual Basic Programming
Hours: 3
Visual Basic.Net Programming. Three semester hours. This course is designed to provide the student with introductory computer programming skills using an object-oriented computer language. Topics to be covered are algorithms and problem-solving, fundamental programming constructs such as sequence, selection, iteration, and functions, object-oriented interface and program design, and event-driven computer programming with an emphasis on business applications. Prerequisite: MIS 128, MATH 1314 or 1324. This course will not count toward a major or minor in computer science or computer information systems.

CSCI 141 - Intro to Comp Sys Hdw & Sfw Co
Hours: 4
Introduction to Computer Systems Hardware and Software Components. Four semester hours (3 lecture, 2 lab). This course is equivalent to the A+ PC Maintenance Semester I and II in preparation for A+ Certification. It involves the study of computer hardware systems and the configuration of computer systems and subsystems. The course emphasizes the distinction between hardware and software failures in computing systems. Topics include an introduction to computer organization, computing components, troubleshooting of hardware as related to software systems. Prerequisite: CSci 126. Co-requisite: CSci 151.

CSCI 189 - Independent Study
Hours: 0-4

CSCI 197 - Special Topics
Hours: 0-4
Special Topics

CSCI 233 - Application Program Development
Hours: 3
This course is for anyone who wants to learn how to build and maintain websites that use PHP and MySQL. In particular, this course will expand basic MySQL and PHP skills to include the skills you need for building full-fledged database-driven web applications. For this course you should have a basic HTML and CSS skills. Prerequisites: CSci 151 or COSC 1436.

CSCI 317 - NUMERICAL ANALYSIS
Hours: 3
Numerical Analysis. Three semester hours. (Same as MATH 317) Computer algebra systems will be introduced. Topics include methods for approximate solutions of equations in one variable, polynomial approximation methods, numerical calculus, numerical solutions to ordinary differential equations, linear systems of equations and difference equations. Prerequisites: CSci 151 or COSC 1436; and CSCI 152 or COSC 1337; and Math 192. Corequisites: MATH 192.

CSCI 319 - Computational Simulations of Physical Systems
Hours: 3
This self-contained course introduces the student to the Python programming language before exploring applications including finite difference methods, solving linear and non-linear equations, Fourier transforms, simulating physical systems governed by ordinary and partial differential equations, random processes and the Monte Carlo method. No previous programming experience is required. Prerequisites: PHYS 2425.

CSCI 333 - Java Language Programming
Hours: 3
This course introduces the Java programming language. It is intended for advanced students and is a fast-paced course moving rapidly from basic concepts to more complex concepts. Topics covered will include: Basics (Data Types, Classes, File I/O), Graphical User Interface (Swing), Layout of GUI (Layout managers, Borders), Advanced concepts (Threads, Processes). Prerequisites: CSCI 152 or COSC 1337.

CSCI 340 - Introduction to Database
Hours: 3
This course is an introduction to database systems and information management. It is designed to develop entry-level knowledge and skills in data modeling, design, and the representation of information in relational database systems. Structured Query Language and advanced features of relational database systems will be utilized to develop database applications. In addition, this course will include topics on the physical characteristics of databases, techniques for improving access to information, and improving performance and reliability with relational database systems. Prerequisites: CSCI 233 or co-requisite of COSC 2336.

CSCI 351 - Foundations of Information Security
Hours: 3
This course provides the foundation for understanding the key issues associated with protecting information processing systems. Topics include essential security concepts, software security, network attacks and countermeasures, and practical cryptography. Prerequisites: CSCI 152 or COSC 1337.

CSCI 352 - INTRO TO COMP LAW AND FORENSIC
Hours: 3
Introduction to Computer Law and Forensics. Three semester hours. This course will introduce students to the fundamentals of computer forensics and cyber-crime scene analysis. The various laws and regulations dealing with computer forensic analysis will be discussed. Students will be introduced to the emerging international standards for computer forensic analysis, as well as a formal methodology for conducting computer forensic investigations. The course combines theory and hands-on learning. Prerequisites: CSCI 152 or COSC 1337.

CSCI 359 - Systems Analysis & Design
Hours: 3
Traditional and Object-Oriented methods for analysis, design, and implementation of computer based information systems; also includes project management and Computer Assisted System Engineering (CASE) tools. Prerequisites: CSCI 270 or COSC 2336.

CSCI 375 - Introduction to Computer Gaming
Hours: 3
This course introduces various computer gaming platforms and gaming programming techniques. The course will emphasize the XNA gaming platform and aspects of the C# programming language that pertain to gaming. Other topics include Open GL and DirectX as related to computer gaming. Prerequisites: CSCI 270 or COSC 2336.

CSCI 376 - Introduction to Game Design & Development
Hours: 3
Introduction to Game Design & Development provides student with opportunity to learn the necessary concepts and skills of computer game programming in 2D and 3D environments. Students will have the opportunity to design, create, and program fully functional computer games. Topics include engine/design techniques, i.e. real-time 2D/3D graphics, lighting, terrain and texture mapping, visibility and occlusion, collision detection and avoidance, character animation, and Artificial Intelligence characters. Prerequisites: CSCI 270 or COSC 2336.

CSCI 377 - Introduction to Image Processing
Hours: 3
This course will introduce digital image processing from Computer Science point of view. Topics include the fundamental theory and techniques of image representation and modeling, image enhancement, image restoration, image transforms, image compression, and image segmentation. This course will also introduce state-of-art methods in computer science research and applications such as object recognition, multi-resolution analysis, and image description. Prerequisites: CSCI 270 or COSC 2336.

CSCI 380 - Web Programming and Interface
Hours: 3
Web Programming and Interface Design. Three semester hours. (1, 2) This course provides students with a hands-on overview of current Web programming languages and Web multimedia technologies. Client/Server concepts will be discussed and implemented into student Web projects. Concepts relating to good interface design will be covered. The course will also explore how multimedia tools and features can be used to enhance Web sites. Co-requisite: CSci 270 or COSC 2336 or consent of instructor.

CSCI 405 - Internship
Hours: 3
Internship. Three semester hours. This course is offered to students having work internships within a computing, information technology, or related type of enterprise. Students are supervised by employing personnel and by CSci faculty. This course gives students the opportunity to earn course credit for the application of computing knowledge and skills used in the working environment. Prerequisites: Junior or Senior standing in CSci and departmental approval.

CSCI 414 - UNIX Software Development and Networking
Hours: 3
In this course students will be presented with the standard set of tools and software development methodologies that are supported by the Unix programming environment. Students will learn to use standard Unix tools, such as debuggers, compilers, automated build systems and revision control systems. These tools will be applied to the development of applications using standard Unix systems programming, to explore the Posix socket libraries for Unix based low level networking applications. Prerequisites: CSCI 270 or COSC 2336.

CSCI 415 - GLB/Information Security, Law, and Ethics
Hours: 3
This course is divided into two parts, Part I: Introduces students to various technical and administrative aspects of Information Security and Assurance as it relates to computing, and ethics. We will define ethics, morality, and moral systems and recognize the distinction between ethical theory and professional ethics. Part II: introduces students to the intro-level fundamental knowledge of computer security and applied cryptography. Students will learn the basic concepts in computer security including software vulnerability analysis and defense, networking and wireless security, and applied cryptography. Students will also learn the fundamental methodology for how to design and analyze security critical systems. Prerequisites: Junior Standing.

CSCI 428 - Introduction to Object Oriented Programming
Hours: 3
This course introduces the basic concepts and terminology of object technology. It emphasizes current techniques in object oriented design, analysis, and programming. In particular, we will study the concepts of Exception Handling, Encapsulation and Data Hiding, Inheritance, Polymorphism, Arrays and ArrayList. Prerequisites: CSci 270 or COSC 2336.

CSCI 430 - Introduction to Operating Systems
Hours: 3
A study of operating systems with emphasis on a multiprogramming environment; concentrates on principles involved in resource management; topics such as job scheduling and memory management are also studied. Prerequisites: CSCI 241 or COSC 2325; and CSCI 270 or COSC 2336.

CSCI 434 - Introduction to Computer Networks
Hours: 3
This course covers the basic principles and operations of the modern computer networks. Topics include basic data communications, the layered architecture and reference model, protocols and topologies, and network service models and applications. TCP/IP networking and protocols are covered to understand the Internet core functions. In addition, students will have the opportunity to gain practical experience with the installation and administration of networking platforms. Prerequisites: CSCI 241 or COSC 2325; and CSCI 270 or COSC 2336.

CSCI 440 - App Software Project Dev
Hours: 3
A capstone project to provide the student with experience with analysis, design and implementation of a semester project as a member of a systems development team. Prerequisites: CSCI 359, CSCI 380.

CSCI 444 - Introduction to Network Routers and Switches, VLANs and ACLs
Hours: 3
This course is designed to introduce the student to the operation of Computer Network Routers and Communications Switches. Network security features involving Virtual Local Area Networks (VLANs) and Access Control Lists (ACLs) will also be studied. Students will gain practical laboratory experience working with routers and switches. Lab exercises include router and switch configuration, and the implementation of VLANs and ACLs. Prerequisites: CSCI 434.

CSCI 449 - AUTOMATA THEORY
Hours: 3
This course teaches the general theory, concepts, and techniques related to the theory of automata. Practical examples related to programming languages are emphasized. Students will have the opportunity to utilize theoretical aspects of automata theory by performing a medium-scale design project. Topics include Finite Automata, Transition Graphs, Nondeterminism, Finite Automata with Output, Context-Free Grammars, Regular Grammars, Chomsky Normal Form, Pushdown Automata. Context-Free Languages, Non-Context-Free Languages, parsing, and Turing Machines. Prerequisites: CSCI 270 or COSC 2336.

CSCI 454 - Introduction to Network Security
Hours: 3
The course encompasses the structures, transmission methods, transport formats, and security measures used to provide integrity, availability, authentication, and confidentiality for transmissions over computer networks. Topics include TCP/IP overview, basic cryptography, key distribution, user authentication, network and Internet security, and network security operations. Prerequisites: CSCI 434.

CSCI 457 - Programming Mobile Devices
Hours: 3
This course covers the development of applications for network enabled mobile devices including smart phones. Topics include components for graphical user interface, memory management, custom user interface development, touch-based or timer-based event handling, file I/O, animation using 2-D/3-D graphics, audio and video application programming interfaces, and data storage. Object Oriented Programming will be introduced by Swift. Prerequisites: COSC 2336 or CSCI 270.

CSCI 470 - DATABASE PROGRAMMING
Hours: 3
Database Programming. Three semester hours. (1,2) A course on the development of database applications with an emphasis on programming for database access. It includes data storage and manipulation, information presentation with database connectivity using such application programming interfaces as stored procedures, embedded SQL, server pages and servlets. Topics in XML programming for data exchange are also included. Prerequisite: CSCI 340.

CSCI 471 - DATABASE ADMINISTRATION
Hours: 3
Database Administration. Three semester hours. A course on the installation, management and control of database management system software, the database structures and data repository. It includes a study of database architecture, configuration control, security and integrity, recovery management, system performance measurement, and database tuning. Prerequisite: CSCI 340.

CSCI 489 - Independent Study
Hours: 3
Independent Study. One to four semester hours. Individualized instruction/research at an advanced level in a specialized content area under the direction of a faculty member. May be repeated when the topic varies. Prerequisite: Consent of department head.

CSCI 490 - H Honors Thesis
Hours: 3-6

CSCI 491 - H Independent Honors Rdgs
Hours: 3
Independent Study - Hours: One to four Individualized instruction/research at an advanced level in a specialized content area under the direction of a faculty member. Prerequisites Consent of department head. Note May be repeated when the topic varies.

CSCI 497 - Special Topics
Hours: 1-7
Special Topics. One to four semester hours. Organized class. May be repeated when topics vary.