Computer Science (CS)

CS 201  Introduction to Information Technology  (3)  

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

CS 202  Honors Introduction to Information Technology  (3)  

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

CS 230  Fundamentals of Computing  (3)  

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

CS 231  Computer Programming I  (3)  

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.

CS 232  Computer Programming II  (3)  

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.

CS 234  Discrete Computational Structures  (3)  

Prerequisite(s): CS 230 and MS 112 or higher.

Introduction to concepts, terminology and manipulative skills associated with combinatorial structures and logic. Sets and functions, partially ordered sets, trees and graphs, algorithms and induction. Boolean algebra and introduction to symbolic logic.

CS 300  Microcomputing  (3)  

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.

CS 302  Database Applications  (3)  

Prerequisite(s): CS 231.

Introduction to database management systems using a current DBMS package; development of menu-driven database applications.

CS 304  Technical Writing for Computer Science (WI)  (3)  

Prerequisite(s): EH 102 and CS 230.

Introduction to the writing tasks necessary of computer technology professionals. Covers skills necessary to prepare the technical reports, presentations, and documentation specific to the information technology environment. (Writing Intensive Course)

CS 305  Spreadsheet Modeling  (3)  

Prerequisite(s): MS 112 or higher and CS 201.

The use of spreadsheet software in modeling business problems. Extensive hands-on use of spreadsheets is required. (Department credit not given for CS/CIS majors or minors.)

CS 306  Introduction to Data Science  (3)  

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.

CS 307  Management of Information Security and Forensics  (3)  

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

CS 308  Embedded and Control Systems Security  (3)  

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.

CS 309  Introduction to E-Commerce  (3)  

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.

CS 310  Software Engineering I  (3)  

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.

CS 311  Management Information Systems (WI)  (3)  

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)

CS 312  Software User Documentation  (3)  

Prerequisite(s): CS 310 and EH 102.

Introduction to writing, analyzing, and evaluating effective software documentation. Exposure to proposal writing. Emphasis on writing software user manuals.

CS 315  Intro to Web Design  (3)  

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.

CS 325  Web Scripting  (3)  

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.

CS 331  Data Structures and Algorithms  (3)  

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.

CS 333  Computer Organization and Architecture  (3)  

Prerequisite(s): CS 232.

Digital logic; instruction set architecture and computer organization; memory systems; functional organization; interfacing and communication; multiprocessing and alternative architectures.

CS 339  Game Design I  (3)  

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.

CS 340  Discovering Genomics and Bioinformatics  (3)  

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

CS 350  Fundamentals of Computer Operating Systems  (3)  

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.

CS 370  COBOL for Information Systems  (3)  

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.

CS 399  Study Tour  (3)  

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.

CS 400  Business Information Management  (3)  

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

CS 408  Mobile Application Development  (3)  

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.

CS 412  Disaster Response & Recovery  (3)  

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

CS 415  Dynamic Web Application  (3)  

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.

CS 420  Algorithms Design/Analysis  (3)  

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.

CS 425  Web Application Development Using Web Services  (3)  

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.

CS 430  Human-Computer Interaction  (3)  

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.

CS 432  Computer Graphics  (3)  

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.

CS 439  Game Design II  (3)  

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.

CS 444  Artificial Intelligence  (3)  

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.

CS 445  Predictive Analysis  (3)  

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.

CS 450  Computer Networking  (3)  

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.

CS 453  Theory of Languages and Automata  (3)  

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.

CS 461  Critical Infrastructures  (3)  

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

CS 462  Ethics and Legal Issues (WI)  (3)  

Prerequisite(s): CS 310 or approval of instructor.

An overview of legal, ethical, global and professional issues in computing. (Writing Intensive Course)

CS 464  Honors Ethics and Legal Issues  (3)  

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.

CS 470  Computer Security  (3)  

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.

CS 480  Special Topics in Data Science  (3)  

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.

CS 488  Database Systems  (3)  

Prerequisite(s): CS 232.

Concepts and terminology associated with data structure, file organization, access methods, packaged systems, database design and database systems.

CS 489  Business Intelligence  (3)  

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.

CS 491  Software Engineering II  (3)  

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.

CS 494  Computer Science Internship  (1-6)  

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.

CS 499  Special Topics  (1-6)  

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.