Jun 25, 2024  
Undergraduate Catalog 2021-22 
    
Undergraduate Catalog 2021-22 [ARCHIVED CATALOG]

Course Descriptions


Guide to Course Prefixes  

 

Computer Information Systems

  
  • CIS 4990 - Enterprise Project


    This is the capstone course of the CIS curriculum. Applications of computer, programming, and system knowledge, and skills gained from the previous classes are applied in developing an enterprise-wide software project. Some industrial enterprise-wide packages are reviewed. A team approach is applied to develop and integrate different computerized business functions into an integrated software system. Project management techniques and computer simulated solutions are formally presented to emphasize team dynamics and management skills.

    Prerequisites & Corequisites: Prerequisite: CIS 4600

    Credits: 3 hours

    Restrictions: Restricted to majors/minors in Computer Information Systems; and majors in Health Informatics and Information Management, and Telecommunication and Information Management.

    Notes: A student with a major in Health Informatics and Information Management is strongly recommended to take CIS 3660 and HSV 4900 prior to or concurrently with this course.
  
  • CIS 5550 - Topics in Computer Information Systems


    Special topics appropriate to business applications such as data base management systems, structured concepts, networking, programming documentation and efficiency, planning, organizing and directing management information systems.

    Prerequisites & Corequisites: Prerequisite: Instructor approval.

    Credits: 3 hours

    Restrictions: Restricted to majors/minors across multiple departments. Please see advisor for specific program restrictions.

    Notes: May be repeated for credit. Open to upper level and graduate students.
  
  • CIS 5650 - Big Data Analytics


    This course introduces students to the concept of big data, Hadoop (the industry standard for big data), and its ecosystems (i.e., the supporting software that enhances the core Hadoop system or bridge the core system with other existing systems in use). The course will focus on how to leverage the big data analytics to make better business decisions. It teaches students the skills to manipulate and analyze big volumes of data, which usually is not easily possible with traditional systems. There will be a lot of hands-on exercises in class.

    Prerequisites & Corequisites: Prerequisite: CIS 4610 or instructor approval.

    Credits: 3 hours

    Notes: Open to upper level and graduate students.

Computer Science

  
  • CS 1021 - Introduction to Engineering Computing I: Spreadsheets


    An introduction to computing for engineers and technologists using spreadsheets. Basic concepts and structures of spreadsheets are presented. Examples come from diverse disciplines of engineering, technology, and computer science. Students learn how spreadsheets are different from and similar to mathematical software and computer programming. Practical experience with spreadsheets is gained in laboratories built into this course.

    Prerequisites & Corequisites: Prerequisite: MATH 1180

    Credits: 1 hour

    When Offered: Fall, Spring
  
  • CS 1022 - Introduction to Engineering Computing II: Mathematical Software


    An introduction to computing for engineers and technologists using mathematical software. Basic concepts and structures of mathematical software are presented. Examples come from diverse disciplines of engineering, technology, and computer science. Students learn how mathematical software is different from and similar to mathematical software and computer programming. Practical experience with mathematical software is gained in laboratories built into this course.

    Prerequisites & Corequisites: Prerequisite: MATH 1180

    Credits: 1 hour

    When Offered: Fall, Spring
  
  • CS 1023 - Introduction to Engineering Computing III: Computer Programming


    An introduction to computing for engineers and technologists using elementary computer programming. Basic concepts and structures of computer programming are presented. Examples come from diverse disciplines of engineering, technology, and computer science. Students learn how computer programming is different from and similar to mathematical software and computer programming. Practical experience with elementary computer programming is gained in laboratories built into this course.

    Prerequisites & Corequisites: Prerequisite: MATH 1180

    Credits: 1 hour

    When Offered: Fall, Spring
  
  • CS 1050 - Introduction to Computers


    This course, which consists of one hour of lecture and two hours of laboratory/recitation each week, provides an introduction to computers and their applications. Topics include computer terminology and social and ethical issues of computing. Students will be introduced to a variety of computer applications which may include spreadsheets, databases, word processing or an introduction to the BASIC programming language. Recitation and laboratory sections may vary according to the applications covered. Students will also be introduced to the campus network and system utilities available there.

    Credits: 3 hours

    Notes: A student may not receive credit for both BIS 1020 and CS 1050. This course may not be used in computer science major or minor programs.
  
  • CS 1106 - Computational Thinking


    Gets students thinking about computing, their education and their career. Introduces algorithms and algorithmic thinking to solve problems using computers. Introduces working with open data and Big Data as well as data visualization. Discusses the evolution of the Internet and World Wide Web including an introduction to XML and the Semantic Web. Explores computing disciplines and professional organizations.

    Credits: 3 hours

  
  • CS 1110 - Computer Science I


    A first course in the science of programming digital computers. Analysis of problems and development of correct procedures for their solution will be emphasized along with the expression of algorithmic solutions to problems in a structured high level computer language. Applications will solve both numerical and non-numerical problems for the computer.

    Prerequisites & Corequisites: Prerequisite: MATH 1180 or MATH 1220 or MATH 2000 or MATH 1700 or MATH 1230 or MATH 1710 or MATH 2720 or MATH 3740. (Any of these courses may be taken concurrently with CS 1110 and must earn a grade of “C” or better.)

     

    Credits: 4 hours

    When Offered: Fall, Spring

  
  • CS 1120 - Computer Science II


    This course is a continuation of Computer Science I with more emphasis on top-down, modular, structured design and techniques involved in the production of large computer programs. Advanced language features such as recursion, sets, pointers, records/structures will be discussed. Data structures and their various implementations are introduced. Design and analysis of various searching and sorting techniques will be presented. Elementary file processing using sequential and random access input and output will be demonstrated. A team project will be assigned.

    Prerequisites & Corequisites: Prerequisites: CS 1110 and one of the following: MATH 1220 or MATH 2000 or MATH 1700 or MATH 1230 or MATH 1710 or MATH 2720 or MATH 3740 (Any of the MATH prerequisites may be taken concurrently with CS 1120. Must earn a grade of “C” or better in any prerequisite.)

    Credits: 4 hours

    When Offered: Fall, Spring
  
  • CS 1200 - Programming in C for Engineers


    This course focuses on the fundamentals of programming and the basics of the C language. Topics include compiling, variables, math, input/output, conditional statements, loops, arrays, functions, random numbers, pointers, arrays, strings, structures, reading/writing files, and the C preprocessor.

    Prerequisites & Corequisites: Prerequisite: MATH 1180 or MATH 1220 or MATH 2000 or MATH 1700 or MATH 1230 or MATH 1710 or MATH 2720 or MATH 3740. (Any of these courses may be taken concurrently with CS 1200 and must earn a grade of “C” or better.)

    Credits: 3 hours

  
  • CS 1210 - Introduction to C


    This course covers the fundamentals of programming in C. Topics include basic syntax, data types, declarations, expressions, variables, compiling, input/output, conditional statements, loops, arrays, functions, pointers, arrays, strings, structures, structures as parameters, array of structures, reading/writing files, and the C preprocessor.

    Prerequisites & Corequisites: Prerequisite: CS 1120 with a grade of “C” or better.

    Credits: 1 hour

  
  • CS 1310 - Foundations of Computer Science


    Covers fundamental concepts in discrete mathematics and introduction to automata theory. Topics include: sets, functions, relations, proof techniques, graphs and trees, sequences, asymptotic behavior, counting and probability. Will also include an introduction to automata, regular expressions and grammars, machine representations of integer and real numbers. Algorithms related to the course topics will be introduced and implementations examined and their efficiency considered.

    Prerequisites & Corequisites: Prerequisite: MATH 1180 or MATH 1220 or MATH 2000 or MATH 1700 or MATH 1230 or MATH 1710 or MATH 2720 or MATH 3740, and some programming experience. (Must earn a grade of “C” or better in any prerequisite.)

    Credits: 4 hours

  
  • CS 2000 - Programming Language Experience


    Details of a specific computer programming language are presented. The name of the specific language discussed will appear in the student’s transcript. Students obtain practice by writing programs in the language. This course assumes knowledge of the use of the computer system and editor and basic programming concepts. It is suitable for anyone wishing to learn the specific language being taught.

    Prerequisites & Corequisites: Prerequisite: CS 1110 and (1-1/2 years of high school algebra or MATH 1110).

    Credits: 1 to 3 hours

    Notes: Course can be repeated for credit in a different language.
  
  • CS 2100 - Introductory Topics in Computing Technology


    A topics course presenting introductory computer science material suitable for credit in some undergraduate computer science major and minor programs. Topic can vary with each offering. The course can be repeated with different topics for credit.

    Credits: 1 to 3 hours

  
  • CS 2230 - Computer Organization and Assembly Language


    This course introduces concepts of computer architecture and assembly language. CISC and RISC instruction sets, along with associated hardware issues (e.g., data representation and instruction formats, instruction pipelining, register windows, context switching, and memory management) will be discussed. The student will program in both assembly language and the C programming language as well as interfacing the two languages.

    Prerequisites & Corequisites: Prerequisite: CS 1110 with a grade of “C” or better.

    Credits: 3 hours

    When Offered: Fall, Spring
  
  • CS 2610 - R Programming for Data Science


    This course provides the student with an advanced understanding of the R system. It prepares the student for effective usage of and program development in the R system. This includes: understanding functional programming in R, understanding R objects, and how to develop reliable R programs. R graphics for interactive data exploration, producing publication quality graphics and producing web based graphics will also be covered. This course will be very small team project oriented.

    Prerequisites & Corequisites: Prerequisite: STAT 2600 with a grade of “C” or better and a suitable laptop.

    Credits: 4 hours

    When Offered: Fall and Spring
  
  • CS 3100 - Storage, Retrieval, and Processing of Big Data


    This course provides the student with an understanding of the issues involved in dealing with Big Data. It prepares the student for dealing with the storage of extremely large data sets, accessing the data, reduction of the data into manageable size and processing the results. Such Big Data can come from stored structured information, unstructured distributed information or streaming sources. Students will reduce Big Data sets, use R packages and other code to analyze the data, and produce graphics to explore and explain the Data. This course will be very small team project oriented.

    Prerequisites & Corequisites: Prerequisite: CS 2610 with a grade of “C” or better and a suitable laptop.

    Credits: 3 hours

  
  • CS 3240 - System Programming Concepts


    Topics include: program development tools, basic testing, timing, profiling and benchmarking, characteristics of physical devices, memory management, device drivers, pseudo-devices, file structures, file I/O (both buffered and unbuffered), processes, shells, inter-process communications, signals, exceptions, pipes, sockets, shared memory and file and record locking. All topics are viewed from a UNIX system programming perspective.

    Prerequisites & Corequisites: Prerequisites: CS 1120 and (CS 2230 or ECE 2510), with a grade of “C” in all prerequisites.

    Credits: 3 hours

  
  • CS 3310 - Data and File Structures


    This course focuses on the study of internal and external data structures and algorithms with an ongoing emphasis on the application of software engineering principles. Trees, graphs and the basic algorithms for creating, manipulating and using them will be studied. Various types of hash and indexed random access file structures will be discussed and implemented. B-trees and external file sorting will be introduced. Internal and external data and file organizations and algorithms will be compared and analyzed. Students will carry out a number of programming projects which will include the various interface (person-to-person, module-to-module, person-to-module-to-person) aspects of the software development process.

    Prerequisites & Corequisites: Prerequisite: CS 1120 and (CS 1310 or MATH 1450), with a grade of “C” or better, or equivalent.

    Credits: 3 hours

    When Offered: Fall, Spring
  
  • CS 3500 - Introduction to Web Technologies


    Covers theory and practice of major technologies involved in current web services. Topics include: installing, administering and securing a web server; http and https protocols; cgi scripts; connecting to a database; php; javascript; ajax; and css. Will include best practices in developing and securing web applications; and current attacks on web services. Practical applications will be developed in a team environment and testing for standards compliance, mobile device support, security and performance will be done.

    Prerequisites & Corequisites: Prerequisite: Significant previous programming experience and a laptop.

    Credits: 3 hours

  
  • CS 3550 - Network Fundamentals


    This course examines the fundamentals of network communication. The course covers network addressing, protocols, and basic attacks against an organization’s network infrastructure as well as their mitigation’s. Students will learn to implement network applications and capture and analyze network traffic to monitor for potential attacks. Practical exercises and labs will be used during this course to allow the students to apply these concepts in real-world scenarios.

    Prerequisites & Corequisites: Prerequisite: CS 1120 with a grade of “C” or better.

    Credits: 3 hours

  
  • CS 3950 - Venture Project


    This course engages sophomore/junior students to gain professional experience with their specific venture topic. Participating students will operate a simulated full-scale consulting and development firm that specializes in the venture topic. The goal of the course is to have the students spend time in the lab working as part of a team that provides solutions to real clients. Computer Science major students can count up to six credits of CS electives from this course towards their degree.

    Prerequisites & Corequisites: Prerequisite: Instructor approval.

    Credits: 1 to 3 hours

    Notes: May be repeated for credit.
  
  • CS 4120 - Professional Field Experience


    This course allows students to receive academic credit for professional work experience in the computing field. The work activities must require significant computer science knowledge and education. This course may not be taken for work already completed and may not be used for computer science major or minor elective. It is a credit/no credit course and may be taken for a maximum of three credit hours.

    Prerequisites & Corequisites: Prerequisites: CS 3310 or equivalent, and approval in advance by the Department.

    Credits: 1 to 3 hours

  
  • CS 4310 - Design and Analysis of Algorithms


    A continuation of the study of data structures and algorithms. It provides a theoretical foundation in designing algorithms. The focus is on the advanced analysis of algorithms and on how the selections of different data structures affect the performance of algorithms. Algorithmic paradigms such as divide and conquer, greedy method, dynamic programming, backtracking and branch and bound are covered. B-trees and 2 to 3 search trees and a variety of graph structures are discussed along with their applications to algorithm implementation. Algorithms will be analyzed for their complexity. NP-completeness will be introduced.

    Prerequisites & Corequisites: Prerequisite: CS 3310 or equivalent.

    Credits: 3 hours

    When Offered: Fall
  
  • CS 4430 - Database Management Systems


    This course presents fundamental concepts and practices of database management systems. Database environment and administration are defined along with roles of the database administrator and the data dictionary. Conceptual and logical models are discussed with emphasis on the relational approach. Data access techniques such as sequential and multi-level sequential indexes, linked lists, inverted files and hashing are briefly reviewed. A few commercial systems will be surveyed. Security, reliability and integrity will be studied. Students will acquire experience with the various topics by applying them to an actual database system. Students will also write application programs which use the database systems.

    Prerequisites & Corequisites: Prerequisite: CS 1120 with a grade of “C” or better, or equivalent.

    Credits: 3 hours

    Notes: A student may not receive credit for both CS 4430 and CS 5430.
  
  • CS 4540 - Operating Systems


    The internal and external views of computer operating systems are presented. A historical survey of the development and growth of operating systems is given. Fundamentals of systems and system design are stressed. Basic concepts and terminology are emphasized. Processes, communications and synchronizations, deadlocks, scheduling, shared resources, resource allocation and deallocation, memory management, files management, and protection are discussed. Applications to real systems are investigated to motivate the ideas presented. Students build or run simulations and modify the internals of a working operating system.

    Prerequisites & Corequisites: Prerequisites: CS 3310 and (CS 2240 or CS 3240 or ECE 3570), with a grade of “C” or better in all prerequisites.

    Credits: 3 hours

    When Offered: Fall, Spring
  
  • CS 4541 - Computer Systems Fundamentals


    This course offers an intensive study of computer system design, emphasizing modern operating systems and their impact on application programming. Topics covered include processes and threads, CPU scheduling, process synchronization, deadlock, memory management, caches, virtual memory, virtual machines, shared-memory and message-passing based parallelism, clusters, security and protection, authentication, and cloud computing.

    Prerequisites & Corequisites: Prerequisites: CS 3310 and CS 3240, with a grade of “C” or better in all prerequisites.

    Credits: 3 hours

  
  • CS 4610 - Reusable Software Architectures


    This course covers common reusable patterns of software design: creational, structural and behavioral patterns are explored using the Java programming language. General Java concepts are also covered such as class creation, building GUIs and using the debugger inside an IDE.

    Prerequisites & Corequisites: Prerequisite: CS 3310 with a grade of “C” or better.

    Credits: 3 hours

  
  • CS 4850 - Foundations of Programming Languages


    This course covers the syntax and semantics of programming languages. Topics include regular expressions, finite automata, regular grammars, context-free grammars, push-down automata, operational semantics, interpreters and compilers. The course emphasizes the practical relationship between computer science theory and the implementation of programming languages.

    Prerequisites & Corequisites: Prerequisite: CS 3310 and CS 3240, with a grade of “C” or better in all prerequisites.

    Credits: 3 hours

    When Offered: Fall, Spring
  
  • CS 4900 - Software Systems Development I: Requirements and Design


    This course is the first of a capstone project sequence required for all computer science majors. Software engineering and its methodologies are explained. Various software life cycle models are introduced. Students are placed into teams and assigned to a client and project. The teams create a project plan, analyze and specify requirements for their project and develop a design. Prototype demonstrations and periodic oral and written progress reports are required to help assure steady progress. Individuals and teams produce a variety of documents throughout the course. Documents include a management plan, project abstracts, a requirements specification, a user interface prototype document, and a design document consisting of architectural and detailed design elements.

    Prerequisites & Corequisites: Prerequisite: CS 3310

    Credits: 3 hours

    Notes: This course is approved as a writing-intensive course.
    When Offered: Fall, Spring
  
  • CS 4910 - Software Systems Development II: Implementation, Testing


    This course is the second of a capstone project sequence required for all computer science majors. Students are placed into teams and assigned to complete an existing project for a client. The teams implement and debug code according to a design produced earlier. They produce a testing plan, carry out testing, record test results and summarize them. Prototype demonstrations and periodic progress reports are required to help assure steady progress. Individuals and teams produce a variety of documents throughout the course. These documents include a testing plan, a testing log, a summary of testing, a maintenance manual and a user manual. Teams also deliver a public demonstration at the end of the course. Discussion of the role of the computer scientist in society and current social and ethical issues related to computing and software development will be integrated into the course. Topics covered are designed to promote awareness of professional, ethical, and societal issues in the field of computer science. This course satisfies WMU Essential Studies Level 3: Connections – Local and National Perspectives Category.

    Prerequisites & Corequisites: Prerequisite: CS 4900

    Credits: 3 hours

  
  • CS 4980 - The Computer Science Profession


    This course examines the role of the computer scientist in society. Topics covered are designed to promote awareness of professional, ethical, and societal issues in the field of computer science.

    Prerequisites & Corequisites: Prerequisite: Senior status.

    Credits: 1 hour

    When Offered: Spring
  
  • CS 4990 - Undergraduate Research in Computer Science


    Supervised undergraduate research. Topics are chosen and arrangements are made on an individual student basis. With prior written approval, this course may be used for elective credit in the Theory and Analysis option of the B.S. degree in computer science. Students interested in CS 4990 should consult their department advisor or the department chair for details.

    Prerequisites & Corequisites: Prerequisite: Department approval.

    Credits: 1 to 3 hours

    Notes: May be repeated for credit to a maximum of three hours. Graded on a Credit/No Credit basis.
  
  • CS 5250 - Computer Architecture


    General topics in computer architecture, memory systems design and evaluation, pipeline design techniques, RISC architectures, vector computers, VLSI systems architecture.

    Prerequisites & Corequisites: Prerequisites: (CS 2230 or ECE 2510) and CS 3310, with a grade of “C” or better.

    Credits: 3 hours

    Notes: Open to upper level and graduate students. Undergraduates with junior or senior status who have met the specific course prerequisites or have the permission of the instructor may enroll in 5000-level courses.
  
  • CS 5260 - Parallel Computations


    Architecture, synchronization and communication aspects of parallel and distributed systems. This course will focus on the design and analysis of parallel algorithms with a prototype treatment on current machines. The algorithms may include parallel sorting, combinatorial search, graph search and traversal, applications in graphics, 2-d finite differences, 2-d finite element techniques, matrix algorithms and the Fast Fourier Transform.

    Prerequisites & Corequisites: Prerequisite: CS 3310 with a grade of “C” or better.

    Credits: 3 hours

    Notes: Open to upper level and graduate students. Undergraduates with junior or senior status who have met the specific course Prerequisites or have the permission of the instructor may enroll in 5000-level courses.
  
  • CS 5270 - Computer Graphics


    An introduction to modern computer graphics systems. Topics covered include graphics hardware, two- and three-dimensional geometry and transformations, rendering, shading, texturing, raster and vector graphics, and modeling with curves and surfaces. Students will learn basic concepts and techniques in interactive computer graphics with emphasis on modern graphics programming.

    Prerequisites & Corequisites: Prerequisites: CS 3310 with a grade of “C” or better.

    Credits: 3 hours

    Notes: Open to upper level and graduate students. Undergraduates with junior or senior status who have met the specific course Prerequisites or have the permission of the instructor may enroll in 5000-level courses.
  
  • CS 5300 - Artificial Neural Systems


    An introduction to neural net concepts, algorithms, and applications. A history of neural nets will be presented along with some discussion of models of Biological neural systems. The salient features of neural nets (architecture, activation functions, weighting scheme) will be characterized. Standard algorithms will be presented including Hopfield nets, linear associative mode bidirectional associative memories, and adaptive resonance models. The student will use neural net software to experiment with standard models to develop an application for a project.

    Prerequisites & Corequisites: Prerequisite: CS 3310.

    Credits: 3 hours

    Notes: An introductory statistics course is recommended. Open to upper level and graduate students.
  
  • CS 5310 - Algorithms


    This course is a continuation of the study of data structures and algorithms, emphasizing methods useful in practice. It provides a theoretical foundation in designing algorithms as well as their efficient implementations. The focus is on the advanced analysis of algorithms and on how the selections of different data structures affect the performance of algorithms. Topics covered include: sorting, search trees, heaps, and hashing; divide-and-conquer; dynamic programming; backtracking; branch-and-bound; amortized analysis; graph algorithms; shortest paths; network flow; computational geometry; number-theoretic algorithms; polynomial and matrix calculations; and parallel computing. It comprises four hours of lecture and recitation experience every week.

    Prerequisites & Corequisites: Prerequisite: CS 3310 with a grade of “C” or better.

    Credits: 3 hours

    Notes: Open to graduate students only.
    Lecture Hours - Laboratory Hours: (2 - 2)
  
  • CS 5400 - Design of User Interfaces


    An introduction to the specification, development, and evaluation of user interfaces. This course provides an overview of human capabilities, technological possibilities, interaction design, and interface evaluation. The course presents both the theoretical foundations of interaction design and practical case studies of good and bad interface design. During the course, students will design and test one or more interfaces.

    Prerequisites & Corequisites: Prerequisite: CS 3310 with a grade of “C” or better or permission of instructor.

    Credits: 3 hours

    Notes: Open to upper level and graduate students.
  
  • CS 5430 - Database Systems


    An introductory course on relational database design, query and programming. Topics include relational model, relational algebra, conceptual design using entity-relationship model, functional dependency and normal forms, SQL, constraints and triggers, indexes, views, authorization, stored procedures, database programming, and transactions. Other topic include object-relational data model and an overview of database management system implementations. Students will get experience on how to design and use a relational database. A student may not receive credit for both CS 4430 and CS 5430.

    Prerequisites & Corequisites: Prerequisite: CS 3310 with a grade of “C” or better.

    Credits: 3 hours

    Notes: Open to upper level and graduate students.
  
  • CS 5541 - Computer Systems


    This course offers an intensive study of computer system design, emphasizing modern operating systems and their impact on application programming. Topics covered include: processes and threads, CPU scheduling; process synchronization; deadlock, memory management; cache; main memory; virtual memory; virtual machine; shared-memory and message-passing based parallelism; clusters; database concepts; security and protection; authentication; and cloud computing. It comprises four hours of lecture and recitation experience every week.

    Prerequisites & Corequisites: Prerequisites: CS 3240 or (CS 2240 and CS 3310), with a grade of “C” or better in all prerequisites.

    Credits: 3 hours

    Notes: Open to upper level and graduate students.
  
  • CS 5550 - Computer Networks and Distributed Systems


    The design and evaluation of computer networks using current hardware and software are explained. Various types of computer buses, local area networks, and long haul networks are defined. Case studies of popular networks are presented. Layered network models are studied. There is lab work with local area and long haul networks.

    Prerequisites & Corequisites: Prerequisites: CS 3310 and (CS 3240 or ECE 3570).

    Credits: 3 hours

    Notes: Open to upper level and graduate students.
  
  • CS 5610 - Advanced R Programming for Data Science


    This course provides the student with an advanced understanding of the R system. It prepares the student for effective usage of and program development in the R system at the graduate level. This includes: a deep understanding of functional programming in R and R objects, and how to develop reliable R programs. R graphics for interactive data exploration, producing publication quality graphics and producing web based graphics will also be covered. This course will be very small team project oriented.

    Prerequisites & Corequisites: Prerequisites: CS 2610 and STAT 3640, with a grade of “C” or better in all prerequisites.

    Credits: 4 hours

    Notes: Open to seniors and graduate students.
  
  • CS 5700 - Computer Security and Information Assurance


    This course is an introduction to computer/network security and information assurance. The topics include cryptographic techniques; network security - threats, controls, and tools; program security; and legal, ethical and privacy issues in computer security. Students will learn fundamental concepts of security applicable to computer programming and computer system design. Assignments will improve students’ practical skills in using computer networks and systems.

    Prerequisites & Corequisites: Prerequisite:  CS 5550 with a grade of “C” or better.

    Credits: 3 hours

    Notes: Open to upper level and graduate students.
  
  • CS 5750 - Secure Software Development


    This course covers the theory and practice of software security, focusing on common software security risks for systems software including identification of potential vulnerabilities and coding principles to avoid security holes in new software. The course covers essential guidelines for building secure software through secure coding, access control, data integrity, and confidentiality.

    Prerequisites & Corequisites: Prerequisites: CIS 3240 and CS 3310 with a grade of “C” or better.

    Credits: 3 hours

    Notes: Open to upper level and graduate students.
  
  • CS 5800 - Theory Foundations


    This course covers the theory of computer science emphasizing automata, grammars and their applications in the specification of languages and computer systems, models of computation, and complexity. Analytic and problem solving abilities will be reinforced, and concepts covered in the course will be applied to real-world problems. It comprises four hours of lecture and recitation experience every week.

    Prerequisites & Corequisites: Prerequisite: CS 3310 with a grade of “C” or better.

    Credits: 3 hours

    Notes: Open to upper level and graduate students.
  
  • CS 5810 - Compiler Design and Implementation


    The design and implementation of programming language translation. Topics include: lexical analysis, parsing, intermediate representations and code generation. A major project is required.

    Prerequisites & Corequisites: Prerequisite: CS 4800 or CS 4850 or CS 5800, with a grade of “C” or better.

    Credits: 3 hours

    Notes: Open to upper level and graduate students.
  
  • CS 5820 - Artificial Intelligence


    This course covers basic AI techniques and concepts including rule-based systems, intelligent search, heuristics, knowledge representation and reasoning, predicate logic and pattern recognition. It introduces several AI application areas such as learning, vision, natural language processing, games, and expert systems.

    Prerequisites & Corequisites: Prerequisite: CS 3310 with a grade of “C” or better.

    Credits: 3 hours

    Notes: Open to upper level and graduate students. Undergraduates with junior or senior status who have met the specific course Prerequisites or have the permission of the instructor may enroll in 5000-level courses.
  
  • CS 5821 - Machine Learning


    The course will cover both theory and practice, applying a variety of Machine Learning techniques and models using available tools on large widely available data sets. R will be presumed, but Python and Numpy/Scipy will be used freely, as well as the natural language tools available in Python. Feature selection, model choices and relative performance measures will be presented within a Bayesian framework.

    Prerequisites & Corequisites: Prerequisites: MATH 2300 and (CS 3100 or CS 3310). A grade of “C” for undergraduates and “B” for graduates needed in prerequisite courses.

    Credits: 3 hours

    Notes: Open to upper level and graduate students.
  
  • CS 5950 - Advanced Topics in Computer and Information Science


    The content of this course varies. It is intended to introduce the student to advanced topics which are normally offered as separate courses. The course may be taken more than once with approval of the student’s advisor.

    Prerequisites & Corequisites: Prerequisite: Approval of Department.

    Credits: 1 to 3 hours

    Notes: Open to upper level and graduate students.
  
  • CS 5990 - Independent Study in Computer Science


    Advanced students with good scholastic records may elect to pursue independently the study of some topic of special interest. Topics are chosen and arrangements are made to suit the needs of each particular student.

    Prerequisites & Corequisites: Prerequisite: Written approval of instructor.

    Credits: 1 to 3 hours

    Notes: Open to upper level and graduate students.

Counselor Education and Counseling Psychology

  
  • CECP 3700 - Introduction to Career Planning and Development


    This course is designed to help students understand the process of career decision-making and to help prepare them for future career experiences by focusing on career planning and development. The course provides an overview of theories and concepts involved in career decision-making using established psychological research. Students’ vocational interests, values, personality, and abilities are explored to enhance career exploration and decision-making. The links between career identity development, career planning and multicultural factors (e.g., gender, race, social class, and other issues of diversity) are examined with an emphasis on enhancing students’ ability to incorporate the contextual dimensions of work. Finally, research on contemporary aspects of career development and the workforce are introduced enabling students to implement a strategic career plan by focusing on employability skills and strategies for implementing academic/career development plans. This course satisfies WMU Essential Studies Level 2: Exploration and Discovery – Personal Wellness Category.

    Credits: 3 hours

  
  • CECP 3800 - Personal Growth and Development through the Lifespan


    This course examines personal development from a psychological perspective by exploring a wide variety of ways in which to change, grow, and achieve one’s creative potential. Drawing from counseling psychology’s emphasis on strengths-focused, preventative and contextual influences on development, the course advances a multi-faceted approach to personal development combining research, theory, personal experience, and self-reflection. The content includes: (a) theories of human development; (b) strategies for facilitating optimum development over the lifespan; and (c) the stages of family development. The course emphasizes psychological approaches for assessing and enhancing human development within a cultural context across the lifespan. This course satisfies WMU Essential Studies Level 2: Exploration and Discovery – Personal Wellness Category.

    Credits: 3 hours

  
  • CECP 4840 - Community Diversity in Substance Abuse Services


    This course of study will help students to understand diverse cultures and incorporate the relevant needs of culturally diverse groups, as well as people with disabilities, into clinical practice. This course will also examine the ethical topics directly related to diverse populations, such as different strategies of coping and how various cultures view addiction and recovery.

    Credits: 3 hours

  
  • CECP 5200 - Foundations of Rehabilitation Counseling


    This course surveys the role of the rehabilitation counselor in establishing eligibility, planning services, the tracking system, counseling, case management, work evaluation, work adjustment, supported employment, transition, client assistance programs, job analysis, job development, post-employment, and advocacy. Major emphasis is given to the operation of the state vocational/federal system.

    Credits: 3 hours

    Notes: Open to upper level and graduate students.
  
  • CECP 5830 - Workshops in Counselor Education and Counseling Psychology


    Workshops designed to enhance skill development related to Counselor Education and Counseling Psychology practices. Open to all students, but is not intended for counseling majors.

    Credits: 1 to 4 hours

    Notes: May be repeated for credit. Open to upper level and graduate students.

Cybersecurity: CIS

  
  • CYIS 2110 - Cryptology Concepts and Techniques


    This course introduces cryptology concepts and examines their mathematical bases. Historical items of interest such as the Enigma Machine and Navajo Code will be introduced. The mathematics behind various types of ciphers as well as cryptanalysis techniques that apply to them will be covered. Topics will include, but are not limited to, substitution, transposition, RSA, EIGamal, and Rijndael ciphers.

    Prerequisites & Corequisites: Prerequisite: CYCS 1310 with a grade of “C” or better.

    Credits: 3 hours

    Restrictions: Restricted to majors in Cybersecurity.

  
  • CYIS 2310 - Ethics and Impacts


    This course focuses on the multitude of ethical challenges faced by all cybersecurity personnel. Topics in the course include ethical responses to cyberattacks, intellectual property disclosure, data privacy, and development ethics as it relates to software and systems. Students will be exposed to a myriad of ethical quandaries as they relate to issues such as information disclosure, workplace monitoring, and content controls.

    Credits: 3 hours

    Restrictions: Restricted to majors in Cybersecurity.

  
  • CYIS 2710 - Windows System Administration


    This course focuses on building the knowledge, skills, and techniques required to manage Windows systems in an organizational environment. Course topics cover Windows functionality design, Windows Server installation, server role provisioning, user configuration, server visualization, and group policy implementation. Topics also include network configuration, security policies management, and disaster recovery within an organizational environment. Students will learn how to manage Windows systems and users, implement group and security policies, monitor system performance, troubleshoot from system diagnostics, and orchestrate services and functionalities necessary for an organization.

    Prerequisites & Corequisites: Prerequisite: CYCS 1120 with a grade of “C” or better.

    Credits: 3 hours

    Restrictions: Restricted to majors in Cybersecurity.

  
  • CYIS 2910 - Linux System Administration


    This course focuses on the configuration, deployment, and management of Linux systems—to include servers and workstations—in diverse environments. Course topics will include configurations and installs using automated tools and shell scripting to meet operational requirements using accepted security controls and procedures. Students will learn how to manage systems and users, implement security policies and processes, monitor system diagnostics, and deploy services and tools necessary for an organization.

    Prerequisites & Corequisites: Prerequisite: CYCS 1120 with a grade of “C” or better.

    Credits: 3 hours

    Restrictions: Restricted to majors in Cybersecurity.

  
  • CYIS 3110 - Cybersecurity Data Analytics


    This course introduces fundamental programming and analytics concepts, techniques, and tools in managing, analyzing, and interpreting data for cybersecurity informatics. approaches to programming effective data structures, input-output, and flow control will be covered, as well as basic data mining and visualization techniques applied by security analysts to organize and interpret cybersecurity-related data that varies in type, volume, and rate of change.

    Prerequisites & Corequisites: Prerequisite: CYIS 2100 or CYCS 2110, with a grade of “C” or better.

    Credits: 3 hours

    Restrictions: Restricted to majors in Cybersecurity.

  
  • CYIS 3600 - Secure Systems Analysis and Design


    This course focuses on the secure analysis and design architectures and methodologies that employ multi-phased processes for developing information software and systems to be deployed in modern organizations. The course introduces various methods, techniques, frameworks, standards, and tools to determine and meet the information and security requirements by building within system models that can be implemented within an organizational architecture. The secure system development lifecycle will be studied in detail to address various system threats, vulnerabilities, and attacks within diverse contexts. The course will cover roles, responsibilities, and mindset of the security analyst to include business justification of secure systems within the organization.

    Prerequisites & Corequisites: Prerequisites: Junior standing, CYCS 1120, and either (CYIS 2110 or CYCS 2110); with a grade of “C” or better in all prerequisites.

    Credits: 3 hours

    Restrictions: Restricted to majors in Cybersecurity.

  
  • CYIS 3660 - Cybersecurity Management Principles


    This course focuses on the managerial, regulatory, legal, and ethical requirements of cybersecurity. Course topics include security policy, risk management, defense in depth, security design and architectures, and compliance and regulatory issues. Topics also include incident response, disaster recovery, and business continuity planning within diverse organizational environments.

    Prerequisites & Corequisites: Prerequisites: Junior standing and (CYIS 2310 or CYCS 2310), with a grade of “C” or better.

    Credits: 3 hours

    Restrictions: Restricted to majors in Cybersecurity.

  
  • CYIS 3900 - Secure Web Applications and Technologies


    This course focuses on defensive security methods and techniques that could be used to assess, identify, and stop vulnerable web applications. It also applies human computer interaction theories, principles, and techniques using a secure software development to implement full stack Web applications. Content includes secure coding standards, client-side and server-side languages, web APIs, identifying vulnerabilities, setting hacker traps, defending different access points and enforcing application flows and other web services and technologies. Students will build and deploy secure web applications to support e-commerce, information exchange, and other business requirements.

    Prerequisites & Corequisites: Prerequisites: Junior standing, CYCS 1120, and either (CYIS 2110 or CYCS 2110); with a grade of “C” or better in all prerequisites.

    Credits: 3 hours

    Restrictions: Restricted to majors in Cybersecurity.

  
  • CYIS 3910 - Computer Networking with Network+


    This course is intended for entry-level computer support professionals who wish to increase their knowledge and understanding of networking concepts and acquire the required skills to prepare for a career in network support or administration, or who wish to prepare for the CompTIA Network+ certification. In this course, students will describe the major networking technologies and systems of modern networks, and be able to configure, manage, and troubleshoot modern networks.

    Prerequisites & Corequisites: Prerequisites: Junior standing and CYIS 3110, with a grade of “C” or better.

    Credits: 3 hours

    Restrictions: Restricted to majors in Cybersecurity.

  
  • CYIS 4600 - Secure Database Management Systems


    This course focuses on secure database design, development, implementation, administration and management. Course content covers data security within all aspects of database components including design, data storage, access control, change control, permission model, database server security, and database encryption and key management. Data protection during processing and transmission to include data migration (ETL) procedures are also covered in the course. In addition, course topics include basic relational and non-relational (NoSQL) data models. Students will work on a project where they will develop, test, and deploy a secure database.

    Prerequisites & Corequisites: Prerequisites: Junior standing and CYIS 3600, with a grade of “C” or better.

    Credits: 3 hours

    Restrictions: Restricted to majors in Cybersecurity.

  
  • CYIS 4910 - Cybersecurity Capstone Project 1


    This course is the first of a capstone project sequence required for all Cybersecurity majors. Applications of computer, programming, and system knowledge, and skills gained from the previous classes are applied to develop a security-oriented software, system deployment, or assessment project. A team approach is implemented to develop and integrate different computerized business functions into an integrated deliverable. Prototype demonstrations and periodic oral and written progress reports are required to help assure steady progress. Individuals and teams produce a variety of documents throughout the course. Documents include a management plan, project abstracts, a requirements specification, and a design document consisting of architectural and detailed design elements.

    Prerequisites & Corequisites: Prerequisites: Senior standing and CYIS 4600, with a grade of “C” or better.

    Credits: 3 hours

    Restrictions: Restricted to majors in Cybersecurity.

  
  • CYIS 4920 - Cybersecurity Capstone Project 2


    This course is the second of a capstone project sequence required for all Cybersecurity majors. Student teams complete an existing project by implementing code, configuring systems, or assessing activities according to a previous design. They produce a testing plan, carry out testing, record test results, and summarize them. Prototype demonstrations and periodic progress reports are required to help assure steady progress. Individuals and teams produce a variety of documents throughout the course. These documents include a testing plan, a testing log, a summary of testing, a maintenance manual and a user manual. Discussion of current social and ethical issues related to individual projects and Cybersecurity in general will be integrated into the course. Project management techniques and computer simulated solutions are formally presented to emphasize team dynamics and management skills.

    Prerequisites & Corequisites: Prerequisites: Senior standing and either (CYIS 49010 or CYCS 4910), with a grade of “C” or better.

    Credits: 2 hours

    Restrictions: Restricted to majors in Cybersecurity.

  
  • CYIS 5710 - Information Security Fundamentals


    This course examines information security fundamentals needed for a basic understanding of the Information Security discipline. The course covers basic attacks and vulnerabilities against an organization as well as their mitigation, managerial and legal requirements for organizations, professional ethics, and security policy formation and implementation. This course will help students understand identity and access management, asset security, and risk management. Finally, students will learn the importance of assessing and testing security frameworks to ensure robust incident response, disaster recovery, and business continuity plans. Case projects and scenarios are used throughout the course to illustrate, test, and understand these topics.

    Prerequisites & Corequisites: Prerequisite: Admission to the Graduate College or senior standing.

    Credits: 3 hours

    Notes: Open to upper level and graduate students.
  
  • CYIS 5770 - Cybersecurity Special Topics


    Course content varies. This course will occasionally be offered so that students may take a course about a Cybersecurity topic not normally covered in depth within the standard course offerings. Students can take this course more than once as long as the content is different, and they have approval from their advisor.

    Prerequisites & Corequisites: Prerequisite: Senior standing and departmental or instructor approval.

    Credits: 1 to 4 hours

    Restrictions: Restricted to programs across multiple departments. Please see advisor for specific program restrictions.

    Notes: Open to upper level and graduate students. May be repeated for credit.

Cybersecurity: CS

  
  • CYCS 1110 - Computer Programming 1


    A first course in the science of programming digital computers. Analysis of problems and development of correct procedures for their solution will be emphasized along with the expression of algorithmic solutions to problems in a structured high-level computer language. Program applications that will solve both numerical and non-numerical problems for the computer.

    Prerequisites & Corequisites: Prerequisite: MATH 1180 (may be taken concurrently).

    Credits: 4 hours

    Restrictions: Restricted to majors in Cybersecurity.

  
  • CYCS 1120 - Computer Programming 2


    This course is a continuation of Computer Programming 1 with more emphasis on top-down, modular, structured design and techniques involved in the production of large computer programs. Advanced language features such as recursion, sets, pointers, records/structures will be discussed. Data structures and their various implementations are introduced. Design and analysis of various searching and sorting techniques will be presented. Elementary file processing using sequential and random-access input and output will be demonstrated.

    Prerequisites & Corequisites: Prerequisite: CYCS 1110 with a grade of “C” or better.

    Credits: 4 hours

    Restrictions: Restricted to majors in Cybersecurity.

  
  • CYCS 1200 - Programming in C for Cybersecurity


    This course focuses on the fundamentals of programming and the basics of the C language. Topics include compiling, variables, math, input/output, conditional statements, loops, arrays, functions, random numbers, pointers, arrays, strings, structures, reading/writing files, and the C preprocessor. Common security flaws involving these topics will be addressed.

    Prerequisites & Corequisites: Prerequisite: MATH 1180 with a grade of “C” or better.

    Credits: 3 hours

    Restrictions: Restricted to majors in Cybersecurity.

  
  • CYCS 1310 - Foundations of Cybersecurity


    Covers fundamental concepts in discrete mathematics and introduction to automata theory. Topics include: sets, functions, relations, proof techniques, graphs and trees, sequences, asymptotic behavior, counting and probability. The course will also include an introduction to automata, regular expressions and grammars, machine representations of integer and real numbers. Algorithms related to the course topics will be introduced and implementations will be examined, and their efficiency considered.

    Prerequisites & Corequisites: Prerequisite: MATH 1180 with a grade of “C” or better.

    Credits: 4 hours

    Restrictions: Restricted to majors in Cybersecurity.

  
  • CYCS 2110 - Cryptology Concepts and Techniques


    This course introduces cryptology concepts and examines their mathematical bases. Historical items of interest such as the Enigma Machine and Navajo Code will be introduced. The mathematics behind various types of ciphers as well as cryptanalysis techniques that apply to them will be covered. Topics will include, but are not limited to, substitution, transposition, RSA, EIGamal, and Rijndael ciphers.

    Prerequisites & Corequisites: Prerequisite: CYCS 1310 with a grade of “C” or better.

    Credits: 3 hours

    Restrictions: Restricted to majors in Cybersecurity.

  
  • CYCS 2230 - Basic Computer Organization


    This course introduces concepts of computer architecture and assembly language. CISC and RISC instruction sets, along with associated hardware issues (e.g., data representation and instruction formats, instruction pipelining, register windows, context switching, and memory management) will be discussed., The student will program in both assembly language and the C programming language as well as interfacing the two languages.

    Prerequisites & Corequisites: Prerequisite: CYCS 1110 with a grade of “C” or better.

    Credits: 3 hours

    Restrictions: Restricted to majors in Cybersecurity.

  
  • CYCS 2310 - Ethics and Impacts


    This course focuses on the multitude of ethical challenges faced by all cybersecurity personnel. Topics in the course include ethical responses to cyberattacks, intellectual property disclosure, data privacy, and development ethics as it relates to software and systems. Students will be exposed to a myriad of ethical quandaries as they relate to issues such as information disclosure, workplace monitoring, and content controls.

    Credits: 3 hours

    Restrictions: Restricted to majors in Cybersecurity.

  
  • CYCS 3240 - Secure Systems Programming Concepts


    Topics include: program development tools, basic testing, timing, profiling and benchmarking, characteristics of physical devices, memory management, device drivers, pseudo-devices, file structures, file I/O (both buffered and unbuffered), processes, shells, inter-process communications, signals, exceptions, pipes, sockets, shared memory and file and record locking. All topics are viewed from a UNIX system programming perspective.

    Prerequisites & Corequisites: Prerequisites: CYCS 1120 and CYCS 2230, with a grade of “C” or better in all prerequisites.

    Credits: 3 hours

    Restrictions: Restricted to majors in Cybersecurity.

  
  • CYCS 4540 - Operating Systems for Cybersecurity


    The internal and external views of computer operating systems are presented. A historical survey of the development and growth of operating systems is given. Fundamentals of systems and system design are stressed. Basic concepts and terminology are emphasized. Processes, communications and synchronizations, deadlocks, scheduling, shared resources, resource allocation and deallocation, memory management, files management, and protection are discussed. Applications to real systems are investigated to motivate the ideas presented. Students build or run simulations and modify the internals of a working operating system.

    Prerequisites & Corequisites: Prerequisite: CYCS 3240 with a grade of “C” or better.

    Credits: 3 hours

    Restrictions: Restricted to majors in Cybersecurity.

  
  • CYCS 4710 - Core Cybersecurity with Security+


    This course is intended to prepare students for entry-level cybersecurity careers, and to prepare them to test for the CompTIS Security+ exam. The CompTIA Security+ exam will certify the successful candidate has the knowledge and skills required to install and configure systems to secure applications, networks, and devices; perform threat analysis and respond with appropriate mitigation techniques; participate in risk mitigation activities; and operate with an awareness of applicable policies, laws, and regulations. The successful candidate will perform these tasks to support the principles of confidentiality, integrity, and availability.

    Prerequisites & Corequisites: Prerequisites: CYCS 3240 and CYIS 3660, with a grade of “C” or better in all prerequisites.

    Credits: 3 hours

    Restrictions: Restricted to senior majors in Cybersecurity.

  
  • CYCS 4910 - Cybersecurity Capstone 1


    This course is the first of a capstone project sequence required for all Cybersecurity majors. Applications of computer, programming, and system knowledge, and skills gained from the previous classes are applied to develop a security-oriented software, system deployment, or assessment project. A team approach is implemented to develop and integrate different computerized business functions into an integrated deliverable. Prototype demonstrations and periodic oral and written progress reports are required to help assure steady progress. Individuals and teams produce a variety of documents throughout the course. Documents include a management plan, project abstracts, a requirements specification, and a design document consisting of architectural and detailed design elements.

    Prerequisites & Corequisites: Prerequisite: Senior standing and CYIS 4600, with a grade of “C” or better.

    Credits: 3 hours

    Restrictions: Restricted to majors in Cybersecurity.

  
  • CYCS 4920 - Cybersecurity Capstone 2


    This course is the second of a capstone project sequence required for all Cybersecurity majors. Student teams complete an existing project by implementing code, configuring systems, or assessing activities according to a previous design. They produce a testing plan, carry out testing, record test results, and summarize them. Prototype demonstrations and periodic progress reports are required to help assure steady progress. Individuals and teams produce a variety of documents throughout the course. These documents include a testing plan, a testing log, a summary of testing, a maintenance manual and a user manual. Discussion of current social and ethical issues related to individual projects and Cybersecurity in general will be integrated into the course. Project management techniques and computer simulated solutions are formally presented to emphasize team dynamics and management skills.

    Prerequisites & Corequisites: Prerequisite: Senior standing and CYCS 4910, with a grade of “C” or better.

    Credits: 2 hours

    Restrictions: Restricted to majors in Cybersecurity.

  
  • CYCS 5710 - Network Security Fundamentals


    This course examines the network security fundamentals needed for a basic understanding of the Information Security discipline. The course covers basic attacks and vulnerabilities against an organization’s network infrastructure as well as their mitigation’s. This course will help students understand network addressing, protocols, and vulnerabilities. Finally, students will learn to capture and analyze network traffic to monitor for potential attacks. Practical exercises and labs will be used during this course to allow the students to apply these concepts in real-world scenarios.

    Prerequisites & Corequisites: Prerequisite: Admission to the Graduate College or senior standing.

    Credits: 3 hours

  
  • CYCS 5730 - Secure System Administration


    This course will address the theory and practices involved in securely delivering services from both Linux/Unix and Windows servers in a networked environment. Topics will include encrypted communication channels, intrusion detection systems and log monitoring, and secure consumption of services by client systems. The course covers tools and techniques for building and maintaining servers in a secure manner.

    Prerequisites & Corequisites: Prerequisites: (CIS 5710 or CYIS 5710) and (CS 5710 or CYCS 5710).

    Credits: 3 hours

    Notes: Open to upper level and graduate students.
  
  • CYCS 5740 - Web Application Security


    This course will address the theory and practices involved in implementing, managing, or protecting Web applications. Students will learn about the underlying technologies and architecture decisions that go into developing a secure application and will learn the skills necessary to evaluate, implement, and test security measures in web applications. Students will complete several practical exercises and labs that will demonstrate and reinforce the theoretical concepts introduced in the course.

    Prerequisites & Corequisites: Prerequisites: (CIS 5710 or CYIS 5710) and (CS 5710 or CYCS 5710).

    Credits: 3 hours

    Notes: Open to upper level and graduate students.
  
  • CYCS 5750 - Software Development for Cybersecurity


    This course covers the theory and practice of software security, focusing on common software security risks including: identification of potential threats and vulnerabilities, methods and tools for identifying and eliminating security vulnerabilities and coding principles to avoid security holes in new software. The course covers essential guidelines for building secure software: how to design software with security in mind from the ground up and to integrate analysis and risk management throughout development.

    Prerequisites & Corequisites: Prerequisites: (CS 5710 or CYCS 5710) and (CIS 5710 or CYIS 5710), with a grade of “C” or better in all prerequisites.

    Credits: 3 hours

    Restrictions: Restricted to majors in Cybersecurity.

    Notes: Open to upper level and graduate students.
  
  • CYCS 5770 - Cybersecurity Special Topics


    Course content varies. This course will occasionally be offered so that students may take a course about a Cybersecurity topic not normally covered in depth within the standard course offerings. Students can take this course more than once as long as the content is different, and they have approval from their advisor.

    Prerequisites & Corequisites: Prerequisite: Department approval OR instructor approval.

    Credits: 1 to 4 hours

    Notes: Open to upper level and graduate students. May be repeated for credit.

Dance

  
  • DANC 1000 - First Year Performance


    Workshops and experiences related to expanding the student’s understanding of dance as an art form and introduction of general skills necessary for a career in dance. Course culminates in performances in the final dances choreographed by DANC 3800 students.

    Credits: 2 hours

    Restrictions: Restricted to dance majors.

    When Offered: Fall
  
  • DANC 1010 - Beginning Ballet


    Elementary ballet technique for the general student. The emphasis is placed on line, control, alignment and musicality. Students will learn elementary combinations utilizing fundamental classical ballet vocabulary.

    Credits: 2 hours

    When Offered: Fall, Spring
  
  • DANC 1020 - Beginning Jazz


    Elementary jazz technique for the general student. Rhythmical integration of isolated movements with emphasis on dynamics, style and performance is stressed.

    Credits: 2 hours

    When Offered: Fall, Spring
  
  • DANC 1030 - Beginning Modern


    Elementary modern technique for the general student. The emphasis is placed on body integration, locomotor skills, dynamic variety, and musicality.

    Credits: 2 hours

    When Offered: Fall, Spring
  
  • DANC 1040 - Beginning Tap


    Elementary tap technique for the general student, emphasizing the basic terminology as well as an investigation of rhythm and improvisation as audibly produced by the feet. Some turns and stylized arm movements may be included.

    Credits: 2 hours

    When Offered: Fall
  
  • DANC 1100 - Ballet Technique I


    An introduction to the art of ballet, designed for dance majors and minors, primarily concerned with development of ballet technique. Emphasis is placed on basic ballet movement sequences and patterns used to develop control, balance, alignment, musicality, strength and vocabulary at the elementary level. Students will continue in DANC 1100 until advanced to DANC 2100 by the instructor.

    Prerequisites & Corequisites: Prerequisite: Advisor approval.

    Credits: 2 hours

    Notes: The content of this course varies each semester. Repeatable for credit.
    When Offered: Fall, Spring
  
  • DANC 1200 - Jazz Technique I


    An introduction to the art of jazz dance, designed for dance majors and minors, primarily concerned with development of technique. The emphasis is placed on alignment, movement isolation, rhythmic awareness, basic vocabulary and both percussive and free-flow combinations. Students will continue in DANC 1200 until advanced to DANC 2200 by the instructor.

    Prerequisites & Corequisites: Prerequisite: Advisor approval.

    Credits: 2 hours

    Notes: The content of this course varies each semester. Repeatable for credit.
    When Offered: Fall, Spring
  
  • DANC 1210 - Roots of Jazz


    An introduction to the basis for the development of contemporary jazz dance forms through exposure to African dance forms and 20th Century American vernacular dance. Students will explore these forms and their interrelationships to contemporary jazz dance styles through movement explorations, videotapes, historical readings, and discussions. Emphasis will be placed on rhythm, syncopation, movement isolation, and improvisation. Live accompaniment and historic music recordings will be used for classes. Required for dance majors and music theatre performance majors. Recommended for dance minors. Not repeatable for credit.

    Prerequisites & Corequisites: Prerequisite: Advisor approval.

    Credits: 2 hours

  
  • DANC 1250 - Special Studies in Introductory Dance Technique


    A study of areas in introductory dance technique not included in regularly scheduled courses. Examples of possible topics include: Music Theatre Dance Styles, Dance Technique Skill Building, Men’s Ballet, and World Dance Forms.

    Credits: 1 to 6 hours

    Notes: The content of this course varies each semester. Repeatable for credit up to 6 hours.
  
  • DANC 1300 - Modern Technique I


    An introduction to the art of modern dance, designed for dance majors and minors, primarily concerned with development of technique. The emphasis is placed on alignment, range of movement, dynamic quality, rhythmic accuracy and the application of kinesiological principles. Students will continue in DANC 1300 until advanced to DANC 2300 by the instructor.

    Prerequisites & Corequisites: Prerequisite: Advisor approval.

    Credits: 2 hours

    Notes: The content of this course varies each semester. Repeatable for credit.
    When Offered: Fall, Spring
  
  • DANC 1450 - Experiencing Dance


    An introduction to the art of dance through historical and multicultural perspectives including direct experiences in the studio and viewing of live and recorded performances. Readings, lectures, videos/films, discussions, writings, and movement classes will be used to introduce the student to: non-Western dance, ballet, modern, jazz, tap and other theatrical dance forms. The course also addresses training in dance, the development of movement vocabulary, and the creative process from literal and metaphorical perspectives. Activities are designed to stimulate the perception and enjoyment of dance on a kinesthetic, musical and visual level. This course satisfies WMU Essential Studies Level 1: Foundations – Inquiry and Engagement: Critical Thinking in the Arts and Humanities Category.

    Credits: 3 hours

    When Offered: Fall, Spring
  
  • DANC 1800 - The Creative Choreographer


    A practical experience focusing on the choreographer’s creative process for solo dances. Emphasis will be placed on identifying, selecting and utilizing a variety of source material through use of critical evaluation skills for dance, use of choreographic devices, use of improvisation for generating movement, creating meaning through the use of time, space, energy/force, and weight, and creation of a written personal artistic statement.

    Prerequisites & Corequisites: Prerequisite: DANC 1860 with a grade of “C” or better.

    Credits: 3 hours

    Restrictions: This course is restricted to the following programs: BA in Dance, BFA in Dance and Dance minors.

 

Page: 1 <- 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13Forward 10 -> 30