Computer Science and Information Systems Courses

CSCI 126 - Introduction to Computing
Hours: 3
(COSC 1301) Introduction to Computing. Three semester hours. (1, 2, 3) An introduction to computers, network communications, and information systems. This course provides the student with knowledge about hardware, software and data management systems. The student is provided experience with an operating system environment, application software including productivity tools, and the use of the internet to communicate and search for information. This course will not count toward a major or minor in computer science or computer information systems.

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 151 - Intro to Comp Sci & Progr
Hours: 4
(COSC 1336) Introduction to Computer Science and Programming. Four semester hours. (1, 2, 3) Introduces the fundamental concepts of structured programming. Topics include software development methodology, data types, control structures, functions, arrays, files, and the mechanics of running, testing, and debugging. This course assumes computer literacy (CSCI 126).

CSCI 152 - Programming Fundamentals II
Hours: 3
(COSC 1337) Programming Fundamentals II. Three semester hours. (1, 2, 3) Review of control structures and data types with emphasis on structured data types. Applies the object-oriented programming paradigm, focusing on the definition and use of classes along with the fundamentals of object-oriented design. Includes basic analysis of algorithms, searching and sorting techniques, and an introduction to software engineering. Prerequisite: 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
Computer programming for business applications; emphasis on design, development, testing, implementation, and documentation of software. Prerequisites: CSCI 151 or equivalent.

CSCI 241 - Machine Language and Computer Organization
Hours: 3
(COSC 2325) Machine Language and Computer Organization. Three semester hours. (1, 2, 3) Basic computer organization; machine cycle, digital representation of data and instructions; assembly language programming, assembler, loader, macros, subroutines, and program linkages. Prerequisite: CSCI 151.

CSCI 270 - Data Structures and Algorithms
Hours: 3
(COSC 2336) Further applications of programming techniques, introducing the fundamental concepts of data structures and algorithms. Topics include recursion, fundamental data structures (including stacks, queues, linked lists, hash tables, trees, and graphs), and algorithmic analysis. Prerequisite: CSCI 152.

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 and 152 and 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 270.

CSCI 340 - Introduction to Database
Hours: 3
CSCI 340 Introduction to Database. Three semester hours. (1, 2, 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. Prerequisite: CSCI 233 or co-requisite CSCI 270 or departmental approval. Prerequisites: CSCI 233 or co-requisite CSCI 270 or departmental approval.

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 consent of instructor.

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. Prerequisite: Junior standing and CSCI 351.

CSCI 359 - Systems Analys & Design
Hours: 3
Systems Analysis and Design. Three semester hours. (1, 2) 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, 340, or concurrent enrollment in CSCI 340.

CSCI 375 - Intro to Computer Gaming
Hours: 3
Introduction to Computer Gaming - Three semester hours 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. Pre-requisites : CSCI 270

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 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 SW Dev Networking
Hours: 3
UNIX Software Development and Networking - Three semester hours 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.

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 or Approval from the Department.

CSCI 428 - Introduction to Object Oriented Programming
Hours: 3
This course emphasizes current techniques in object oriented design, analysis, and programming. Such topics as encapsulation, information hiding, inheritance and polymorphism are studied in class assignments and programming exercises. The C++ programming language is utilized along with the UML modeling language. Prerequisites: CSCI 270 or permission of instructor.

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 and CSCI 270.

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, CSCI 270.

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 a continuation of CSCI 434 (Introduction to Local Area Networks). 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. Prerequisites: CSCI 434.

CSCI 449 - AUTOMATA THEORY
Hours: 3
Automata Theory. Three semester hours. 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, MATH 192

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 or consent of instructor.

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 with the Objective–C, Java, or Swift. Prerequisites: 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.