A brief exposure to theory and operations of information technology. Concepts presented include computer systems, hardware and software. Hands-on experience with selected productivity software packages. (Department credit not given for CS/CIS majors and/or minors.)
Prerequisite(s): ACT score of 24 or above or SAT of 520 or above and basic computer proficiency.
Advanced coverage of the theory and operations of information technology. Hands-on experience with selected popular software packages for Web and program design. (Department credit not given for CS/CIS majors or minors.)
Lecture 1 hour, Lab 2 hours. Sets, functions, propositional logic, number systems, data representation, binary arithmetic. Problem solving tools and techniques. Control structures. Data structures. Implementation using a high-level language. (Open to any major, but required for CS/CIS majors.)
Prerequisite(s): CS 230 with a grade of C or better, MS 112 or higher level mathematics with a grade of C or better, and an overall GPA of 2.0 or higher.
Algorithmic problem solving. Modular programming. Strings, multi-dimensional arrays, records, dynamic linked lists. Documentation. Testing and debugging. Developing robust, user-friendly programs. Integral, scheduled laboratory. Lecture 2 hours, Lab 1 hours.
Prerequisite(s): CS 231.
Advanced problem solving. Efficiency and reuse. Abstract Data Types. Object-Oriented programming. Dynamic data structures: linked lists, queues, stacks. Recursive functions and procedures. Integral, scheduled laboratory. Lecture 2 hours, Lab 1 hour.
Prerequisite(s): CS 231.
Examination of micro-computers and their role in small to medium firms. Emphasis on applications, I/O operations and file handling in a laboratory environment.
Prerequisite(s): CS 231.
Introduction to database management systems using a current DBMS package; development of menu-driven database applications.
An overview of how data science is used in organizations to solve problems and to create new opportunities. Provides an introduction to the tools and methods used to manage data and instruction in the analytics scripting language, R.
Prerequisite(s): CS 201.
Study of information security and digital forensics using practical case studies. Emphasis is on developing security policies, security management and practices, utilization of digital forensic tools and techniques, risk management, security project management, and protection mechanisms. Major components of the course are hands-on projects on digital forensic investigation and security management case studies. (CS 307 is cross-listed with EM 325, but only one course can be counted for credit.)
Prerequisite(s): CS 231.
A study of embedded system architectures, security, and digital forensics, the role of hardware abstraction layers and middleware, real-time OS issues such as concurrency, synchronization, and resource management, and the components and applications of industrial control systems. Laboratory activities include: ladder logic programming, embedded systems programming, and digital forensics for microcontrollers, mobile computing platforms, and industrial control systems.
Prerequisite(s): CS 201.
This course focuses on a rich variety of models and strategies for connecting individuals, businesses, governments, and other organizations to each other. The topics covered in the course will span value and supply chain concepts, varying business relationship types, as well as obligations for protection of individual privacy and organizational security.
Prerequisite(s): CS 232.
Introduction to the systems development life cycle, software development models, analysis and design techniques and tools, and validation and verification testing. Emphasis and experience will be on software engineering within a team environment.
Prerequisite(s): CS 309.
Study of the systems concept and its relationship to information requirements for decision making and management in traditional and e-commerce environments. (Writing Intensive Course)
Prerequisite(s): CS 201.
Step-by-step process of creating a well-designed website. Emphasizes web design techniques resulting in fast-loading and well-placed graphics, cohesive color and typography across platforms and browsers, clear navigational interface, and appropriate use of sound and video. Includes studio component where students analyze, design, and implement websites.
Prerequisite(s): CS 315 or CS 231.
A practical hands-on introduction to web scripting for writing client-side scripts. Topics include fundamentals of scripting as a web programming language, scripting techniques and programming concepts such as control structures, data structure, objects, event handling, and functions. Multiple scripting languagaes will be used for the hands-on projects.
Prerequisite(s): CS 232.
Design, analysis, and implementation of fundamental data structures: trees, heaps, and graphs. Basic algorithmic analysis and strategies. Basic computability and introduction to distributed algorithms.
Prerequisite(s): CS 232.
Digital logic; instruction set architecture and computer organization; memory systems; functional organization; interfacing and communication; multiprocessing and alternative architectures.
Prerequisite(s): One of (EH 102, EH 104, or EH 106) and one of (CS 201 or CS 230).
Principles of game design. Covers analysis of genres; gameplay; conceptual design; story and character development, effects of art, lighting, and sound; interface design; level design; and the business of game development.
Prerequisite(s): CS 230.
The course provides a fundamental background in bioinformatics, both theoretical (bioinformatics algorithms) and practical (databases and web-based tools used to study problems in biology), to students in computer science or in biological sciences. Introduction to the biological problems addressed in this course will be provided, as well as a formal definition of the computational problems and a deep exploration of the algorithms for solving these problems. Practical use of topics introduced in class is demonstrated by laboratory exercises and homework problems. Students are grouped for class projects such that each group contains at least one life scientist and one computer scientist. (CS 340 is cross listed with BY 340, but only one course may be taken for credit.)
Prerequisite(s): CS 232.
Overview of operating system concepts and structures. Study of process management including synchronization techniques for cooperating processes, main memory management including virtual memory systems, system resource allocation and deadlocks, file system implementation, secondary storage management and input/output subsystems.
Prerequisite(s): CS 232.
An introduction to solving business problems using structured programming techniques and methodology for both interactive and batch processing. Integral, scheduled lab. Lecture/2 hours, lab/1 hour.
Topics, excursions and requirements determined by department. May be duplicated for credit; however, only three (3) credits may be applied toward any major or minor. Infrequently scheduled and subject to minimum and maximum numbers. Advanced deposit required.
Prerequisite(s): CS 201 or equivalent.
Study of terminology and concepts of computer-based management information systems. Emphasis on applications for developing and managing World-Wide Web page information. (Department credit not given for CS/CIS majors and/or minors.)
Prerequisite(s): CS 310.
A study of application development for popular mobile computing platforms, such as smartphones and tablets. Topics and laboratory activities include: responsive screen layout and spacing; the use of sensors, cameras, and other mobile input devices; mobile resource management and optimization; and best practices for mobile security.
Prerequisite(s): CS 201.
How people, groups, organizations, communities and governments manage disasters in the immediate aftermath and recover from their effects, including social, physical, business, and infrastructure problems as well as intra and inter-organizational issues. (CS 412 is cross-listed with EM 411, but only one course can be counted for credit.)
Prerequisite(s): CS 488.
The course will present dynamic web based application architecture, web scripting languages syntax, principles and techniques for developing database driven web applications using multiple web scripting languages. Students will gain the experience in web scripting programming via the completion of a series of practical dynamic website projects.
Prerequisite(s): CS 331.
Survey of design and analysis of efficient algorithms. Introduces methods of describing algorithm time and space complexity and various problem-solving techniques.
Prerequisite(s): CS 310 or equivalent.
Undergraduate Prerequisite: CS 310. Graduate Introduction to technologies and tools for developing Web applications using Web Services, emphasizing organizational issues, challenges, and security concerns related to the effective deployment of those applications.
Prerequisite(s): CS 232.
Human-computer interface, human performance, diversity, and mental models, interaction devices, dialog styles, interface styles, error handling, documentation, and evaluation of software interface designs.
Prerequisite(s): CS 232 and MS 113 or equivalent.
Hardware and software components of computer graphic systems, input representation, and transformation of graphic information. Two-dimensional and three-dimensional transformations; perspective, hidden-line algorithms, shading. Interactive graphics. Survey of applications.
Prerequisite(s): CS 232 and CS 339.
Principles of game development. Covers relevant game mathematics and data structures; selected Al topics common to game development; programming techniques and optimization techniques; game engines; and software engineering and project management for game development.
Prerequisite(s): CS 331 or permission of instructor.
Introduction to the principles and methods used in artificial intelligence programs with a focus on autonomous agents.
Prerequisite(s): MS 444.
An overview of the principles and techniques used in Predictive Modeling. Modeling techniques will include, but not be limited to prediction (regression, decisions trees, neural networks), association rules (market basket analysis), segmentation (clustering, K-Means algorithm), and text mining.
Prerequisite(s): CS 350. Graduate Prerequisite
Study of the computer interconnection and protocols with emphasis on network layers, error detection/correction, and topologies; project approach utilized. Graduate Prerequisite: Undergraduate operating systems course or equivalent.
Prerequisite(s): CS 232.
Formal representations for language syntax and semantics, underlying language theory. Study of automata theory: finite automata, pushdown automata, and Turing machines.
Prerequisite(s): CS 201.
Identifies what constitutes critical infrastructure including cyber as well as physical infrastructure. Evaluation of strategies for promoting vulnerability assessments and risk reduction, and protection of critical infrastructures are examined. (CS 461 is cross-listed with EM 461, but only one course can be counted for credit.)
Prerequisite(s): CS 310 or approval of instructor.
An overview of legal, ethical, global and professional issues in computing. (Writing Intensive Course)
Prerequisite(s): Completion of CS 310 (B or above) or permission of the instructor.
This course is an advanced (honors) course that provides an overview of the legal, ethical, global and professional issues in computing. This course will enable students to identify ethical issues in technology, perform ethical analyses using a variety of ethical theories, and to critically read professional literature in the field. Students will develop an awareness of ethical issues in technology, including, but not limited to, the Internet (e.g. freedom of expression on the Internet), Intellectual Property rights, Privacy, Security, Reliability, Professional ethics, Employment issues and technology, and Plagiarism, and apply ethical theories to issues in those domains.
Prerequisite(s): Undergraduate operating systems course or equivalent.
Undergraduate Prerequisite: CS 350. Graduate Study of network security architectures and models, cryptography, authentication and authorization protocols, secure application and systems development, federal regulations and compliance. Emphasis is on security professional certification.
Prerequisite(s): CS 445.
Current topics such as Big Data, Project Management, Simulation and Optimization. Includes a capstone project where students implement methodologies and practices of data science to create competitive advantage. This course may take the form of an internship upon approval of the MCIS department head.
Prerequisite(s): CS 232.
Concepts and terminology associated with data structure, file organization, access methods, packaged systems, database design and database systems.
Prerequisite(s): CS 488.
Exposure to principles and techniques of business intelligence. Topics include, but are not limited to, data warehouse development using dimensional data modeling, extraction transformation loading (ETL), methodologies and implementation, reports, and dashboards.
Prerequisite(s): CS 310.
This course is a continuation of software engineering that emphasizes the entire software process, developing and using process and product metrics, and managing software projects. Both individual and team projects will develop student expertise.
Prerequisite(s): Requires a faculty recommendation and permission of the department head.
(1-6). Limited to CS or CIS majors with junior or senior standing. This course allows the student to gain experience in a job involving computer science. The department head will approve the number of credit hours based on the scope of the project. May be duplicated for credit for a total of six (6) semester hours.
Prerequisite(s): Senior status and approval of department head.
Exposes student to current or developing topics in computer science or computer information systems. Projects/topics are jointly selected by student and computer science instructor. This course can be taken multiple times of variable credit hours up to a total maximum of six credit hours, provided each course covers a different topic.