Sep 27, 2024  
2018-2019 Catalog 
    
2018-2019 Catalog ARCHIVED CATALOG: Content may no longer be accurate.

Course Descriptions


 
  
  • CS 3030 - Scripting Languages

    Credits: (4)
    Typically taught:
    Fall [Full Sem]

    This course addresses the design of scripting languages and their applications. Scripting languages can be used to manipulate text and data using subtle and complex coding to automate many tasks. Students will learn to write simple scripts to automate system administration tasks using appropriate languages. This course explores the nature of scripting, the role of scripting languages, introduces some of the popular scripting languages and their applications, and provides skills in scripting language design. Prerequisite: CS 1400  and CS 2705  or CS 1400  and NET 3200 .
  
  • CS 3040 - Windows/Unix/Linux Infrastructure and Administration

    Credits: (4)
    Typically taught:
    Fall [Full Sem]
    Summer [Full Sem]


    This is the second course for understanding Windows operating systems and the first in the Unix/Linux operating system. It includes administration in a client/server directory services environment. Taught in a networking setting, it builds upon complex issues learned in previous courses. Provides the knowledge and skills necessary to install, configure, network and administer both operating systems. Prerequisite: CS 2705 .
  
  • CS 3050 - Enterprise Computing

    Credits: (4)
    Typically taught:
    Spring [Full Sem]

    This course provides an integrated view of using enterprise computing systems. An overview on enterprise hardware concepts, enterprise operating systems concepts, and interactive facilities is covered. Batch applications will be developed, edited, compiled, linked, executed and debugged in enterprise operating systems environments. An introduction to emerging technologies in enterprise computing will be presented. Access to the latest enterprise systems, hands-on exercises, and online support materials are important components of this course. Prerequisite: CS 2420  and CS 2810 .
  
  • CS 3100 - Operating Systems

    Credits: (4)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]
    Summer [Online]


    An overview of computer operating systems concepts, system software components with emphasis on installation, management, monitor/supervisor and I/O management, control commands, network installation, and device drivers. The operating systems studied will be Windows or UNIX. Prerequisite: CS 2420  and CS 2810 .
  
  • CS 3210 - UNIX System Programming and Internals

    Credits: (4)
    Typically taught:
    Fall [Full Sem]

    This course provides hands-on experience with writing programs using UNIX system calls and inter-process Communication mechanisms, from simple file I/O and I/O management subsystems to network client and server programs. The internal design and operation of the UNIX operating systems are studied. A detailed examination of the UNIX SVR4 source code will be included in the course. Prerequisite: CS 2420 .
  
  • CS 3230 - Object Oriented User Interface Development with Java

    Credits: (4)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]


    An introduction to the design and coding of applications using threads. Topics will include the use of threads in the design of operating systems, device drivers, utility programs and general applications. Language used in the course will be Java. Applications will include multimedia, Web Servers, search engines, security issues, and the use of the Java language in the development of applets for home pages. Prerequisite: CS 2420 .
  
  • CS 3250 - Advanced Object Oriented Programming

    Credits: (4)
    Develop and expand abilities in solving lengthy, advanced problems, multiple parallel tasks, generic packages, and other object-oriented techniques using selected languages. Prerequisite: CS 2420 .
  
  • CS 3260 - Mobile Development for the iPhone

    Credits: (4)
    Typically taught:
    Spring [Full Sem]
    Summer [Full Sem]


    Introduction to developing applications for mobile iOS devices (iPhone, iPod Touch and iPad) using the iPhone SDK, in conjunction with the Xcode/Cocoa development environment. Students will learn the basics of the Objective-C programming language and use it to develop applications for the iPhone family of devices. Students will also gain experience in working in a team environment. Prerequisite: CS 1410 , CS 2350  and CS 2550 .
  
  • CS 3270 - Mobile Development for Android

    Credits: (4)
    Typically taught:
    Fall [Full Sem]
    Summer [Online]


    Introduction to developing applications for Android mobile devices. Students will use the Eclipse IDE in conjunction with the Android SDK. Students will gain advanced experience in Java and XML as they develop mobile applications both individually and as members of a development team. Prerequisite: CS 2350 , CS 2550  and CS 3230 .
  
  • CS 3280 - Object Oriented Windows Application Development

    Credits: (4)
    Typically taught:
    Spring [Full Sem]
    Summer [Full Sem]


    This course is designed to teach students how to write Windows programs in C# using the .NET environment. The student will learn how to develop programs based on Microsoft Windows Forms and the .NET Framework. They will also be introduced to APIs and MFC/AFX styles of Windows programming and to become familiar with various data sharing methods and .NET services. Prerequisite: CS 2420 .
  
  • CS 3540 - Database Administration

    Credits: (4)
    Typically taught:
    Spring [Full Sem]

    This course describes the role of the Database Administrator in managing an organization’s most valuable asset - its data. Topics covered include DBMS architecture, database layout, database development, data fragmentation, rollback segments, database tuning, database security, backup and recovery, database networking, and distributed databases. Special emphasis is given to working with current database management systems such as Oracle, SQL Server and DB2. Prerequisite: CS 2550 .
  
  • CS 3550 - Advanced Database Programming

    Credits: (4)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]
    Summer [Full Sem]


    This course is designed to teach students to design, implement, and maintain a distributed database application. Applications development using database programming techniques emphasizing database structures, such as stored procedures, user defined functions, cursors, triggers, and distributed queries will be covered. Other topics will include: advanced transaction processing as well as distributed database problems and solutions using enhanced SQL and XML. Prerequisite: CS 2550 .
  
  • CS 3580 - Data Science Algorithms

    Credits: (4)
    Typically taught:
    Spring [Full Sem]

    This course introduces students to the data management, storage and manipulation tools common in data science and has students apply those tools to real scenarios. Topics include, but are not limited to, the following: data reduction, scalable algorithms, modern distributed solutions, data visualization, applied statistical models, prediction algorithms, and forecasting. Prerequisite: MATH 1040  or QUAN 2600 .
  
  • CS 3610 - Introduction to Game Industry

    Credits: (4)
    Typically taught:
    Summer [Full Sem]

    This is course is an introduction to the game industry and the skills and best practices needed in order to become a game developer. The course will evaluate different gaming hardware, genre, skills, tools, and roles. Students will also understand the elements in creating a game including the game design document, story line, vision, virtual worlds, playfields, and the mathematics and physics that are involved with game development. Prerequisite: CS 1400 .
  
  • CS 3620 - Server-Side Web Architecture

    Credits: (4)
    An introduction to server-side Web development using the most current Web server technologies. General Web development principles such as usability, reliability, maintainability and scalability will be applied to current Web development environments such as ASP.NET, PHP, Python, Ruby and Java. Students will gain real-world experience in creating Websites for multiple Web platforms. Prerequisite: CS 2350  and CS 2550 .
  
  • CS 3630 - Rich Internet Application Development

    Credits: (4)
    An introduction to developing and deploying rich Internet applications (RIAs) using current technologies.  Students will develop engaging websites by incorporating RIAs in the web application development process. Prerequisite: CS 2350  and CS 2550 .
  
  • CS 3645 - Advanced User Interface Design

    Credits: (3)
    Typically taught:
    Spring [Full Sem]

    Students will learn the elements of user interface design as it applies to front-end web development and software engineering. Students will identify best practices in user interface design. The following topics will be covered: wire-framing, color palettes, typography, information architecture, contrast, uniformity, and responsive design techniques. Using current technologies and tools, students will wireframe, design, and program effective interfaces. Prerequisite: WEB 2500  or CS 2335 , WEB 1400  or CS 1400 , or permission of instructor.
  
  • CS 3650 - Human-Computer Interaction

    Credits: (4)
    Typically taught:
    Fall [Full Sem, Full Sem Online]

    This course introduces the skills and concepts of Human-Computer Interaction (HCI) that enable students to design systems that effectively meet human needs. A concrete illustration of the practice of HCI, this course covers usability, user experience, and modern diverse interfaces. This course includes both theoretical and practical best practices. Cross-listed with WEB 3650 . Prerequisite: CS 2420 , CS 2450  or WEB 3500 .
  
  • CS 3705 - Protocol Analysis

    Credits: (4)
    Typically taught:
    Fall [Full Sem]

    This course provides an in depth look at the fundamentals of what protocols do and how they work, how addresses and routing are used to move data through the network, and how information is exchanged over the Internet. In depth analysis of network traffic packets will include normal traffic as well as protocol attack patterns. Topics include: DNS, Apache, email, Samba, PPP, DHCP, TCP, IP, and UDP troubleshooting, and security. Prerequisite: CS 2705  or NET 2435 .
  
  • CS 3720 - Network Architectures and Protocols

    Credits: (4)
    Typically taught:
    not currently offered

    A practical applications course designed to teach the basic concepts associated with local and wide area networks and protocols. The course will concentrate on the TCP/IP and other protocols in the UNIX and Windows NT environments. Covers TCP/IP extensively, NFS, Sockets, RPC and TLI interfaces. The course also covers the use of Domain Name Servers, remote system calls, ports, services, configuration, IP addressing, and UNIX and Windows NT monitoring commands. Prerequisite: CS 3705 .
  
  • CS 3730 - Client/Server Network Programming

    Credits: (4)
    Typically taught:
    not currently offered

    Covers client/server architecture and application development using TCP/IP and other protocols. The course covers client/server operations on a single machine and across an Ethernet network to multiple machines. The course will also cover distributed processing concepts and applications. Applications include the use of STREAMS, Sockets, TLI, network listener facility, drivers, RPC, and ONC. The course will concentrate mainly on UNIX but will cover some concepts and applications using Windows NT. Prerequisite: CS 2705  and CS 3210 .
  
  • CS 3750 - Software Engineering II

    Credits: (4)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]
    Summer [Full Sem]


    (Community Engaged Learning Designation) This course emphasizes teamwork in small groups on a substantial software engineering project that will be performed for a real customer in the community. It is the intent of the course to provide a capstone experience that integrates the material contained in the CS curriculum through work on a software project that applies this material. Projects are chosen so as to provide an interdisciplinary service learning component with project proposals being solicited from the community at large. Projects that integrate students and faculty from other disciplines are also encouraged. Lectures will be directed towards the software development lifecycle, requirements gathering and design documentation, as well as software project management. Each team member will contribute to all phases of the project as well as the development of a project prototype. Prerequisite: CS 2350 , CS 2450 , CS 2899 , CS 3550 , CS 3230  or CS 3280 , and ENGL 3100  or ENGL 2250  or PHIL 1250  or PS 3250 .
  
  • CS 3805 - Computer and Network Security

    Credits: (4)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]


    This course is designed to provide students with a solid foundation in network security including a treatment of security issues related to computers and computer networking. The primary emphasis is on developing security policies, security auditing, security models and laws related to security. Prerequisite: CS 2705  and CS 2420 .
  
  • CS 3830 - Writing Secure Code

    Credits: (4)
    This course focuses on how to develop software systems that are robust and can withstand repeated attacks from malicious intruders. The course coverage includes the need for secure systems, basic security principles and strategies, designing secure applications, secure coding techniques, dangerous APIs, data input issues, network security problems, testing secure applications, security code reviews, secure software installation, and writing security documentation. Prerequisite: CS 2420 .
  
  • CS 3840 - Computer Forensics for Security Assurance

    Credits: (4)
    Typically taught:
    Fall [Full Sem]

    This course is a foundational course in file system analysis, digital forensics and computer media analysis. A combination of lectures and labs will give students a strong understanding of low-level file system knowledge to prepare them for involvement in digital forensic analysis, data recovery and other related tasks. Students will examine widely used file systems such as Windows NTFS and FAT32, UFS, EXT2 and UFS2. Students will also become familiar with software tools used in computer forensic work. Prerequisite: CS 2420 .
  
  • CS 4110 - Concepts of Formal Languages and Algorithms for Computing

    Credits: (4)
    Typically taught:
    Spring [Full Sem]
    Summer [Full Sem]


    Concepts of formal language definition, automata theory, Turing theory, and solvability, with an introduction of algorithms and computational methods used in advanced computer science courses. Prerequisite: CS 2420  and either MATH 1630  or CS 2130 .
  
  • CS 4230 - Java Application Development

    Credits: (4)
    Typically taught:
    Spring [Full Sem]
    Summer [Full Sem]


    This course is a continuation of CS 3230  and examines the development of Java applications intended for an enterprise environment. The course is programming intensive and concentrates on designing and implementing multi-tier and Web applications based on the Java Enterprise Edition (Java EE) specification. Topics include JavaBeans, Java Database Connectivity, client/server interactions, servlets, session tracking, JavaServer Pages, JavaServer Faces, Struts, the Model-View-Controller approach, remote method invocation, Enterprise JavaBeans, and application servers. Lab exercises will emphasize how Java Enterprise programming supports the operation of robust, distributed object architectures. Prerequisite: CS 3230 , CS 3750 .
  
  • CS 4250 - Design Patterns

    Credits: (4)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]


    Introduction to fundamental principles of software development using design patterns, including structural design patterns, behavioral design patterns, SOLID principles, and agile approach; Understand and program the basic concepts and techniques for building software in an adaptive way, including dependencies and layering, interfaces, unit testing, and refactoring. Prerequisite: CS 3230  or CS 3280 .
  
  • CS 4280 - Computer Graphics

    Credits: (4)
    This course introduces and investigates the mathematical and programming basis for generating pictures and images using a computer. Fields impacted by visual rendering technologies include filmmaking, publishing, banking, engineering, and education. Students are introduced to the theory and practice of computer graphics, with an emphasis on designing and developing working applications using currently available graphics libraries. The course focuses on strategies for rendering geometric data (points, lines, and polygons), and the analysis of the processing stages and components of the graphics pipeline, including transformations, viewing volumes, and projections. Programming and mathematical techniques related to modeling, viewing, coordinate frames, and perspective will be primary topics for discussion and code development. The course covers the key processing steps and structures needed to appropriately map 3D geometric primitives to 2D screen positions while maintaining a realistic look, which involves hidden surface removal, proper lighting, and simulated material properties. Prerequisite: CS 2420 .
  
  • CS 4350 - Advanced Internet Programming

    Credits: (4)
    Typically taught:
    Spring [Full Sem]

    Capstone client/server web programming group project implemented using an advanced web framework (such as PHP (Laravel, Zend, Cake PHP) or Django, or Ruby on Rails).  Includes implementation and concepts of an MVC web architecture, Web UI design and creation, data modeling and retrieval, input validation, security, and unit testing. Prerequisite: WEB 3620  or CS 3620 .
  
  • CS 4450 - Advanced Software Engineering Methods

    Credits: (4)
    Typically taught:
    Spring [Full Sem]
    Summer [Full Sem]


    (Formerly 4750) This course teaches the architectural and operational implications of open source development and explores its implementation using selected software development methodologies.  The course will also focus on test-driven software development and re-engineering practices in a team based environment. Prerequisite: CS 3750 .
  
  • CS 4500 - Artificial Intelligence and Neural Networks

    Credits: (4)
    Typically taught:
    Fall [Full Sem]

    This course covers basic artificial intelligence principles and introduces students to AI languages. Concepts of programming parallel architecture machines are introduced and developed. The neural network design of parallel computing is studied, along with its implications in Artificial Intelligence software development. Prerequisite: CS 2420  and either MATH 1630  or CS 2130 .
  
  • CS 4640 - Foundations of Game Development

    Credits: (4)
    This course introduces students to 2D game development using a programming language, scripting, and a gaming engine. The work includes team work project, graphical programming, GUI, and all other aspects of creating a game program associated with a game design document. Prerequisite: CS 1010 . Prerequisite/Co-requisite: Pre or Co-requisite: CS 4280 .
  
  • CS 4650 - Advanced Game Development

    Credits: (4)
    Senior project Game Development II course focuses on 3D game programming in a team work project environment using a game engine. At conclusion student should be able to add the resulting program into their game portfolio. Prerequisite: CS 4640 , CS 3750 .
  
  • CS 4730 - Applied Cryptography

    Credits: (4)
    This course provides an introduction to the principles of number theory and how they are applied to cryptographic algorithms. Different topics that will be examined are: several classic ciphers, modern cryptographic methods, symmetric encryption, public key cryptography, hash functions, key management, digital signatures, certificates, electronic mail security, steganography, and recent developments affecting security and privacy on the Internet. The focus will be on how cryptography and their application can maintain privacy and security in computer networks. Prerequisite: CS 2420  and either MATH 1630  or CS 2130 .
  
  • CS 4790 - .NET Web Application Development

    Credits: (4)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]


    This course is designed to teach sound concepts in ASP.NET Web Application Development using MVC and/or N-Tier methodologies. Students will develop large-scale web applications in a team environment using Agile, RAD and Test-Driven Development techniques. Representative skills mastered in this course will include: ASP.NET and the .NET Framework, C#, MVC, ADO.NET and Entity Frameworks, RAZOR, HTML5, Javascipt, jQuery, Agile, Scrum and Design Patterns. Prerequisite: CS 3750 .
  
  • CS 4800 - Individual Projects and Research

    Credits: (1-4)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]
    Summer [Full Sem]


    The purpose of this course is to permit Computer Science majors to develop an individual project, program, system, or research paper, with coordination and approval of a faculty mentor. The final grade and amount of credit awarded will be determined by the department, depending on the complexity of the upper division work performed. Prerequisite: CS 2420 . May be repeated 3 times up to 4 credit hours. Note: Only 4 credit hours of CS 4800  or CS 4850  or CS 4890  can apply to a CS degree as an elective course, and only a maximum of 6 hours of CS 4800 , CS 4850 , and CS 4890  may be taken to satisfy missing credits or to achieve full time academic status.
  
  • CS 4820 - Compiler Design

    Credits: (4)
    A study of compilers, grammars, finite-state and push down automata, scanning, parsing, error handling, semantic analysis and code generation. Prerequisite: CS 2420 , CS 4110 .
  
  • CS 4830 - Advanced Topics in Computer Science

    Credits: (1-4)
    Variable Title
    Typically taught:
    Spring [Full Sem]

    Advanced topics which are demanded by industry, are currently popular in this rapidly changing field, or which meet special needs of students in Computer Science will be offered. Individualized material will be taught on a one time basis as needed. Time and credit to be arranged. Prerequisite: Consent of instructor. May be repeated 2 times up to 8 credit hours.
  
  • CS 4850 - Faculty Directed Research

    Credits: (1-4)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]
    Summer [Full Sem]


    The purpose of this course is to permit Computer Science majors to work closely and consistently with a faculty mentor on specific research related to current, experimental topics in Computer Science.  The final grade and amount of credit awarded will be determined by the faculty mentor, depending on the complexity of the advanced, upper division work performed. Prerequisite: CS 2420 . May be repeated 3 times up to 4 credit hours. Note: Only 4 credit hours of CS 4800 or CS 4850 or CS 4890 can apply to a CS degree as an elective course, and only a maximum of 6 hours of CS 4800, CS 4850 and CS 4890 may be taken to satisfy missing credits or to achieve full time academic status.
  
  • CS 4890 - Cooperative Work Experience

    Credits: (1-4)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]
    Summer [Full Sem]


    The purpose of this course is to permit Computer Science majors who are currently working in a computer related job or internship to receive academic credit for their work, with coordination and approval of a faculty mentor and their supervisor. The amount of upper division credit awarded will be determined by the department, depending on the nature and quantity of work performed. Prerequisite: CS 2420 . May be repeated 3 times up to 4 credit hours. Note: Only 4 credit hours of CS 4800  or CS 4850  or CS 4890  can apply to a CS degree as an elective course, and only a maximum of 6 hours of CS 4800 , CS 4850 , and CS 4890  may be taken to satisfy missing credits or to achieve full time academic status
  
  • CS 4899 - Bachelor’s Degree Assessment

    Credits: (0)
    This course is to serve as an assessment tool whereby all BS/BA degree seeking students in the Computer Science Department demonstrate their learned knowledge in at least three areas of computer science. At present, this knowledge will be demonstrated through the use of Chi Tester exams administered through the Campus Testing Center. The course is taken during the last term prior to receiving the BS/BA degree. Prerequisite/Co-requisite: Prereq/Coreq: Successful completion of requirements for the Bachelor’s Degree.
  
  • CS 4920 - Short Courses, Workshops, Institutes and Special Projects

    Credits: (1-4)
    Consult the semester class schedule for the current offering under this number. The specific title and credit authorized will appear on the student transcript. May be repeated 3 times up to 4 credit hours.
  
  • CS 5100 - Distributed Operating Systems

    Credits: (3)
    Typically taught:
    Fall [Full Sem]

    Distributed systems or distributed computing deals with the issues encountered while running programs across a computer network.  This course will cover key topics including: models of distributed systems, timing, synchronization, coordination and agreement, fault tolerance, naming, security, and middleware.  Students will learn both the theoretical background of distributed systems as well as work on hands-on projects developing distributed systems applications. Prerequisite: CS 3100 .
  
  • CS 5420 - Advanced Algorithms

    Credits: (3)
    Typically taught:
    Spring [Full Sem]

    Introduction to fundamental principles of advanced algorthm design, including asymptotic analysis; divide-and-conquer algorithms and recurrences; greedy algorithms; practical data structures (heaps, hash tables, search trees, graphs); dynamic programming; graph algorithms; and randomized algorithms. Prerequisite: CS 2420 .
  
  • CS 5500 - Artificial Intelligence and Neural Networks

    Credits: (4)
    Typically taught:
    Spring [Full Sem]

    This course covers basic artificial intelligence principles and introduces students to AI languages.  Concepts of programming parallel architecture machines are introduced and developed.  The neural network design of parallel computing is studied, along with its implications in Artificial Intelligence software development. Prerequisite: CS 2420  and CS 2130 .
  
  • CS 5600 - Machine Learning

    Credits: (3)
    Typically taught:
    Spring [Full Sem]

    Introduction to fundamental principles and practical techniques of machine learning and its applications, including parametric and non-parametric algorithms, support vector machines, kernels, neural networks, clustering algorithms, dimensionality reduction, recommender systems, and deep learning. Prerequisite: CS 2420 .
  
  • CS 5610 - Computer Architecture

    Credits: (3)
    Typically taught:
    Fall [Full Sem]

    Investigation of high-performance computer processing architectures, including concurrent, multicore platforms; memory hierarchy; static and dynamic scheduling; instruction-level parallelism, including branch prediction; graphics processing units; cache performance and analysis. Prerequisite: CS 2810 .
  
  • CS 5740 - Computer Systems Security

    Credits: (3)
    Typically taught:
    Spring [Full Sem]

    Computer Systems Security studies the design and implementation of secure computer systems. Topics include threat models, operating system security, TCP/IP security issues, information flow control, language security, hardware security, security in web applications, and detecting/monitoring unauthorized activity. Assignments include readings from current articles, labs that involve implementing and compromising a secure computer system, and a team final project. Prerequisite: CS 2420  and CS 3100 .
  
  • CS 5820 - Compiler Design

    Credits: (4)
    Typically taught:
    Fall [Full Sem]

    A study of compilers, grammars, finite-state and push down automata, scanning, parsing, error handling, semantic analysis and code generation. Prerequisite: CS 2420  and CS 2130 .
  
  • CS 5840 - Formal System Design

    Credits: (3)
    Typically taught:
    Fall [Full Sem]

    Methods for developing high-quality hardware/software systems that are delivered on time, within budget, and according to requirements.  Techniques for specifing programs and reasoning about them, including formal logical proofs, correct code synthesis, model checking, type theory specifications, and properly evaluating concurrent programs. Prerequisite: CS 2420 .
  
  • CS 5850 - Parallel Programming and Architecture

    Credits: (3)
    Typically taught:
    Spring [Full Sem]

    In parallel programming you will learn how to utilize multiple CPU’s/Cores/Nodes in parallel to increase the performance of your applications.  Different architectures will be discussed along with the advantages and disadvantages of each.  This course will cover key topics parallel programming including: memory models, parallel programming architectures, Flynn’s Taxonomy, synchronization, and performance analysis and tuning.  In addition to learning the theoretical background of parallel programming, you will work on hands-on projects using multiple parallel programming languages and libraries including (CUDA, openMP, MPI, open CL, and python). Prerequisite: CS 3100 .
  
  • CS 6010 - Design Project

    Credits: (2-6)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]
    Summer [Full Sem]


    Students are required to complete a substantial computer science project.  Students must demonstrate proficiency in research, design, analysis, project planning, implementation, testing, presentation and documentation.  Students receive T (temporary) grades until their final design review, after which these grades are changed retroactively.  Students must be enrolled in CS 6010 at the time of their final design review. May be taken 3 times and up to 6 credits.
  
  • CS 6011 - Thesis Research

    Credits: (2-6)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]
    Summer [Full Sem]


    Students are required to complete original computer science research resulting in a thesis.  Students must demonstrate proficiency in research, design, analysis, project planning, implementation, testing, presentation and documentation.  Students receive T (temporary) grades until their final design review, after which these grades are changed retroactively.  Students must be enrolled in CS 6011 at the time of their final thesis defense. May be taken 3 times and up to 6 credits.
  
  • CS 6100 - Distributed Operating Systems

    Credits: (3)
    Typically taught:
    Fall [Full Sem]

    Distributed systems or distributed computing deals with the issues encountered while running programs across a computer network.  This course will cover key topics including: models of distributed systems, timing, synchronization, coordination and agreement, fault tolerance, naming, security, and middleware.  Students will learn both the theoretical background of distributed systems as well as work on hands-on projects developing distributed systems applications.  Recommended Prerequisite: CS 3100 .
  
  • CS 6420 - Advanced Algorithms

    Credits: (3)
    Introduction to fundamental principles of advanced algorthm design, including asymptotic analysis; divide-and-conquer algorithms and recurrences; greedy algorithms; practical data structures (heaps, hash tables, search trees, graphs); dynamic programming; graph algorithms; and randomized algorithms. Prerequisite: CS 2420 .
  
  • CS 6500 - Artificial Intelligence and Neural Networks

    Credits: (4)
    Typically taught:
    Spring [Full Sem]

    This course covers basic artificial intelligence principles and introduces students to AI languages.  Concepts of programming parallel architecture machines are introduced and developed.  The neural network design of parallel computing is studied, along with its implications in Artificial Intelligence software development. Prerequisite: CS 2420 , Recommended Prerequisite: CS 2130 .
  
  • CS 6600 - Machine Learning

    Credits: (3)
    Introduction to fundamental principles and practical techniques of machine learning and its applications, including parametric and non-parametric algorithms, support vector machines, kernels, neural networks, clustering algorithms, dimensionality reduction, recommender systems, and deep learning. Prerequisite: CS 2420 .
  
  • CS 6610 - Computer Architecture

    Credits: (3)
    Investigation of high-performance computer processing architectures, including concurrent, multicore platforms; memory hierarchy; static and dynamic scheduling; instruction-level parallelism, including branch prediction; graphics processing units; cache performance and analysis. Prerequisite: CS 2810 .
  
  • CS 6740 - Computer Systems Security

    Credits: (3)
    Typically taught:
    Spring [Full Sem]

    Computer Systems Security studies the design and implementation of secure computer systems. Topics include threat models, operating system security, TCP/IP security issues, information flow control, language security, hardware security, security in web applications, and detecting/monitoring unauthorized activity. Assignments include readings from current articles, labs that involve implementing and compromising a secure computer system, and a team final project. Prerequisite: CS 2420 .  Recommended Prerequisite: CS 3100 .
  
  • CS 6820 - Compiler Design

    Credits: (4)
    Typically taught:
    Fall [Full Sem]

    A study of compilers, grammars, finite-state and push down automata, scanning, parsing, error handling, semantic analysis and code generation. Prerequisite: CS 2420 .  Recommended Prerequisite: CS 4110 .
  
  • CS 6830 - Special Topics in Computer Science

    Credits: (3)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]


    This course explores new or otherwise relevant computer science topics that are not covered in a regularly offered course. Each offering will have a specific title and authorized credit that will appear on the student’s transcript. May be repeated for credit under different titles. Lecture or Lecture/Lab combination.  May be taken twice up to 6 credits. Prerequisite: Instructor permission.
  
  • CS 6840 - Formal System Design

    Credits: (3)
    Methods for developing high-quality hardware/software systems that are delivered on time, within budget, and according to requirements.  Techniques for specifing programs and reasoning about them, including formal logical proofs, correct code synthesis, model checking, type theory specifications, and properly evaluating concurrent programs. Prerequisite: CS 2420 .
  
  • CS 6850 - Parallel Programming and Architecture

    Credits: (3)
    Typically taught:
    Spring [Full Sem]

    In parallel programming you will learn how to utilize multiple CPU’s/Cores/Nodes in parallel to increase the performance of your applications.  Different architectures will be discussed along with the advantages and disadvantages of each.  This course will cover key topics parallel programming including: memory models, parallel programming architectures, Flynn’s Taxonomy, synchronization, and performance analysis and tuning.  In addition to learning the theoretical background of parallel programming, you will work on hands-on projects using multiple parallel programming languages and libraries including (CUDA, openMP, MPI, open CL, and python).  Recommended Prerequisite:  CS 3100 .
  
  • DANC 1010 CA/DV - Introduction to Dance

    Credits: (3)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]
    Summer [Full Sem]


    An introduction to dance providing a knowledge base from which to experience dance from a variety of viewpoints: historically, culturally, aesthetically, critically, and creatively. This course takes a close-up look at the rules, messages, and meanings embodied in dance around the world. This is a writing intensive course. Students are expected to attend dance concerts and cultural dance experiences outside regularly scheduled class time. Open to all students.
  
  • DANC 1100 - Ballet I

    Credits: (1)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]


    Introduction to the techniques of the classical ballet including alignment, positions, port de bras, and allegro combinations. May be repeated for a maximum of 4 credit hours. Open to all students. May be repeated for credit, but use toward Major/Minor must be approved by program advisor.
  
  • DANC 1200 - Modern I

    Credits: (1)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]


    Introduction to the movement techniques of modern dance. May be repeated for a maximum of 4 credit hours. Open to all students. May be repeated for credit, but use toward Major/Minor must be approved by program advisor.
  
  • DANC 1310 - Music for Dance

    Credits: (2)
    Typically taught:
    Spring [Full Sem] odd years

    Study of the relationship between sound and movement, accompaniment and dance. Focus extends to creative and working relationship(s) between accompaniment/composer and teacher/choreographer with emphasis on practical applications of methods and understandings.
  
  • DANC 1450 - Special Topic Dance Form

    Credits: (1)
    variable topic
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]


    This course is designed to provide enrichment opportunities for those who undertake dance as a field of study or as recreational activity. It allows for the study of changing series of dance forms, including, but not limited to African, Flamenco, Middle Eastern, Clogging, Ballroom, Renaissance, etc. May be repeated for 2 credit hours, but use toward Major/Minor must be approved by program advisor.
  
  • DANC 1500 - Jazz I

    Credits: (1)
    Typically taught:
    Fall [Full Sem]

    Introduction to the style, technique, and rhythmic structures of jazz dance with emphasis on increasing movement capabilities and personal expression. May be repeated for a maximum of 4 credit hours. Open to all students. May be repeated for credit, but use toward Major/Minor must be approved by program advisor.
  
  • DANC 1520 - Folk & Ethnic Dance

    Credits: (1)
    Typically taught:
    Fall [Full Sem]

    Folk and ethnic dances of Europe, Near and Far East, Africa, and the Americas as they relate to concert dance. Open to all students. May be repeated for up to 4 credit hours, but use toward Major/Minor must be approved by program advisor.
  
  • DANC 1580 - Rhythm Tap

    Credits: (1)
    Typically taught:
    Fall [Full Sem] even years

    Special training in tap dance skills and techniques. May be repeated 2 times up to 3 credit hours, but use toward Major/Minor must be approved by program advisor.
  
  • DANC 2250 - Alignment and Conditioning for Dance/Pilates

    Credits: (1)
    Typically taught:
    Spring [Full Sem] even years

    Strength and alignment for dancers, using Pilates mat exercises. The class addresses areas of strength essential for dancers, focuses on breathing techniques integral to the exercises, and uses the exercises as a means to better understand and improve alignment. The course also addresses how strength and alignment facilitates more ease and efficiency in movement. To repeat the class a student must have the permission of the instructor. May be repeated twice for up to 3 credit hours, but use toward Major/Minor must be approved by program advisor.
  
  • DANC 2300 - Dance Kinesiology

    Credits: (3)
    Typically taught:
    Fall [Full Sem] even years

    This course provides a study of anatomy and dance kinesiology with a specific focus on anatomical analysis, conditioning principles and injury prevention, with special attention given to application of information to technique class, rehearsal, choreography and individual anomalies. The course prepares the student to understand basic kinesiological analysis and fundamental concepts of somatic inquiry. Prerequisite/Co-requisite: Pre/Co-requisite: NUTR 1020 .
  
  • DANC 2410 - Improvisation

    Credits: (2)
    Typically taught:
    Spring [Full Sem]

    Guided exploration in the elements of dance for the creative development of personal movement repertoire, spontaneous group interaction, and choreographic skills. May be repeated for credit, but use toward Major/Minor must be approved by program advisor.
  
  • DANC 2470 - Ballet II

    Credits: (1.5)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]


    Technique course designed to increase skill in classical ballet. May be repeated 4 times for a maximum of 6 credit hours. Prerequisite: DANC 1100  (2 credit hours minimum), or DANC 2470 (1 credit hour minimum), or by audition. May be repeated for credit, but use toward Major/Minor must be approved by program advisor.
  
  • DANC 2490 - Modern II

    Credits: (1.5)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]


    Refinement of beginning skills, emphasis on development of technical abilities and performance qualities. Prerequisite: DANC 1200  (2 credit hours minimum), or DANC 2490 (1.5 credit hour minimum), or by audition. May be repeated for a maximum of 6 credit hours.
  
  • DANC 2500 - Jazz II

    Credits: (1)
    Typically taught:
    Fall [Full Sem]

    Refinement of beginning skills, emphasis on development of technical abilities and performance qualities. May be repeated for a maximum of 4 credit hours. Prerequisite: DANC 1500  (2 credit hours minimum), or DANC 2480 (1 credit hour minimum), or by audition. May be repeated for credit, but use toward Major/Minor must be approved by program advisor.
  
  • DANC 2610 - Dance and Digital Technology

    Credits: (2)
    Typically taught:
    Spring [Full Sem] even years

    This course will provide students with an opportunity to explore the integration of dance and technology, specifically the use of the digital video medium and the use of the internet for creative and professional distribution. DANC 2610 will introduce students to dance-videography, video editing, dissemination of work through media such as the DVD format, YouTube, Vimeo and the creation/maintenance of on-line portfolios. May be repeated for credit, but use toward Major/Minor must be approved by program advisor.
  
  • DANC 2920 - Short Courses, Workshops, Institutes and Special Programs

    Credits: (1-4)
    Consult the semester class schedule for the current offering under this number. The specific title and credit authorized will appear on the student transcript. In individual cases, this course might be considered as an elective in the Dance Major. May be repeated up to 4 credit hours, but use toward Major/Minor must be approved by program advisor.
  
  • DANC 2950 - Dance Festival Participation

    Credits: (1)
    Students attend the American College Dance Festival Association’s regional gathering to study a variety of dance forms with professionals from across the country. Students see the choreographies of peers and professionals. Students may be responsible for their own registration fees and transportation, lodging and meal costs. Prerequisite: Audition and permission. May be repeated for up to 4 credit hours, but use toward Major/Minor must be approved by program advisor.
  
  • DANC 3010 - Dance History I

    Credits: (3)
    Typically taught:
    Fall [Full Sem] odd years

    Study of the history and philosophy of dance from lineage-based societies through the early decades of modern dance. Areas covered will include pre-Christian civilizations, the Middle Ages, the Renaissance and the Golden Age of Ballet. Prerequisite: DANC 1010 .
  
  • DANC 3020 - Dance History II: 20th Century Art and Education

    Credits: (3)
    Typically taught:
    Spring [Full Sem] even years

    Study of the history and philosophy of dance in art and education from the Age of Innovation in Ballet through the Contemporary Period of history. Areas of study will include ballet and modern dance today, black dance in America, vernacular forms and dance as public art. Prerequisite: DANC 1010 .
  
  • DANC 3320 - Techniques and Materials for Teaching Modern Dance

    Credits: (3)
    Methods, teaching techniques, accompaniment, and practical experience in teaching modern dance. This is the secondary teaching methods class. Prerequisite: DANC 2490 .
  
  • DANC 3440 - Dance for Musical Theatre

    Credits: (1)
    Typically taught:
    Spring [Full Sem] even years

    Dance skills and techniques taken from the repertoire of the modern musical theatre. Special emphasis on characterization and style as demonstrated by the works of the leading choreographers of this genre. Prerequisite: DANC 1200  and DANC 1500 . May be repeated up to 4 credit hours, but use toward Major/Minor must be approved by program advisor.
  
  • DANC 3450 - Special Topic Dance Form

    Credits: (1)
    variable titles
    This course is designed to provide enrichment opportunities for those who undertake dance as a field of study or as recreational activity. It allows for the study of changing series of dance forms, including, but not limited to African, Flamenco, Middle Eastern, Clogging, Ballroom, Renaissance, etc. May be repeated up to 2 credit hours, but use toward Major/Minor must be approved by program advisor.
  
  • DANC 3470 - Ballet III

    Credits: (1.5)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]


    Coordinating course designed to increase skill in classical ballet technique. Prerequisite: DANC 2470  (3 credit hours minimum), or DANC 3470 (1.5 credit hour minimum), or by audition. May be repeated for a maximum of 6 credit hours.
  
  • DANC 3490 - Modern III

    Credits: (1.5)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]


    Exercises and activities to develop strength, flexibility, endurance, and technical dance skill. Prerequisite: DANC 2490  (3 credit hours minimum), or DANC 3490 (1.5 credit hour minimum), or by audition. May be repeated for a maximum of 6 credit hours.
  
  • DANC 3500 - Choreography I: Space & Time/Design in Dance

    Credits: (3)
    Typically taught:
    Fall [Full Sem]

    Study of the elements of time and space as they are artistically significant in themselves and in organized forms of meaning in dance. Considering time and space design in related fields of music and art included as relevant to choreographic design and communication in dance. Prerequisite: DANC 2410 . May be repeated for up to 6 credit hours, but use toward Major/Minor must be approved by program advisor.
  
  • DANC 3510 - Choreography II: Process

    Credits: (3)
    Typically taught:
    Fall [Full Sem]

    Study of and experience in various approaches to the choreographic process as related to artistic concepts and to the philosophy of art as espoused by various traditional and contemporary dance artists and as developed by the individual student. Prerequisite: DANC 3500 . May be repeated for up to 6 credit hours, but use toward Major/Minor must be approved by program advisor.
  
  • DANC 3520 - Choreography Practicum

    Credits: (2)
    Supervised experience choreographing a dance for public performance. Arranged through cooperative effort of student and supervisor. Prerequisite: DANC 3510  and approval of instructor. May be repeated 3 times for a maximum of 4 credit hours.
  
  • DANC 3525 - ArtsBridge

    Credits: (1-6)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]
    Summer [Full Sem]


    ArtsBridge is a course that provides undergraduate students with an internship and academic credit for designing and implementing a comprehensive, needs-based, integrated arts project with community organizations or area schools. The course will offer students a clear structure and process for navigating the complexities of community engagement. ArtsBridge students will work closely with a WSU faculty mentor, community/school stakeholder, peers, and the ArtsBridge program coordinator throughout the process culminating in the development of a arts integrated project.  Prerequisite: Recommendation by education supervisor in fine arts content area faculty mentor. Content methodology course(s) completed or in progress.  Following faculty recommendation, please contact the ArtsBridge coordinator for an interview.
  
  • DANC 3580 - Rhythm Tap

    Credits: (1)
    Typically taught:
    Fall [Full Sem] even years

    Intermediate/Advanced training in tap dance skills and techniques. Prerequisite: Lower Division Tap Dance (DANC 1580 ) and/or instructor approval. May be repeated 2 times up to 3 credit hours, but use toward Major/Minor must be approved by program advisor.
  
  • DANC 3640 - Teaching Creative Dance in the Elementary School

    Credits: (3)
    Typically taught:
    Fall [Full Sem]

    Techniques for teaching creative dance and basic dance forms. Suggested for Elementary Education majors.
  
  • DANC 3860 - Field Experience

    Credits: (1-3)
    A course designed to provide opportunities for students to gain practical experience in the field by assisting in the activities of community agencies, schools, and Weber State. Prerequisite: DANC 3320  for those who plan to teach in a middle or secondary school or DANC 3640  for those who plan to teach in an elementary school. May be repeated twice, up to 3 credit hours, but use toward Major/Minor must be approved by program advisor.
  
  • DANC 3910 - Moving Company: Rehearsal & Development

    Credits: (2)
    Typically taught:
    Fall [Full Sem]

    The Moving Company is designed to give students the opportunity to learn about the various aspects of creating, rehearsing, and implementing performances off-campus and to reach the community with our dance program. The commitment is for both fall (rehearsal - 3910) and spring (performance - DANC 3911 ) semesters. This segment deals with preparation and rehearsal. May be repeated 3 times up to 8 credit hours, but use toward Major/Minor must be approved by program advisor.
  
  • DANC 3911 - Moving Company: Performance

    Credits: (2)
    Typically taught:
    Fall [Full Sem]

    The Moving Company is designed to give students the opportunity to learn about the various aspects of creating, rehearsing, and implementing performances off-campus and to reach the community with our dance program. The commitment is for both fall (rehearsal - DANC 3910 ) and spring (performance - 3911) semesters. This segment deals with implementation and performance. Prerequisite: DANC 3910 . May be repeated 3 times up to 8 credit hours, but use toward Major/Minor must be approved by program advisor.
  
  • DANC 4250 - Alignment and Conditioning for Dance/Pilates

    Credits: (2)
    Typically taught:
    Spring [Full Sem] even years

    Strength and alignment for dancers, using Pilates mat exercises and Reformer. The class addresses areas of strength essential for dancers, focuses on breathing techniques integral to the exercises, and uses the exercises as a means to better understand and improve alignment. The course also addresses how strength and alignment facilitate ease and efficiency of movement. Co-Requisite: DANC 2250 . May be repeated once up to 4 credit hours, but use toward Major/Minor must be approved by program advisor.
  
  • DANC 4610 - Dance and Digital Technology

    Credits: (2)
    Typically taught:
    Spring [Full Sem] even years

    This course will provide students with an opportunity to explore the integration of dance and technology, specifically the use of the digital video medium and the use of the internet for creative and professional distribution.  DANC 4610 will introduce students to dance-videography, video editing, and dissemination of work through media such as the DVD format, You Tube, Vimeo and the creation/maintenance of on-line portfolios. May be repeated for credit, but use toward Major/Minor must be approved by program advisor.
  
  • DANC 4620 - Dance and Digital Technology Seminar

    Credits: (1)
    Typically taught:
    Fall [Full Sem]

    This seminar will provide students with individual and collaborative study and research in the field of dance and the digital video medium. The course will cover artistic and technical forms, including, but not limited to capturing dance on the digital/video medium, choreographic processes through non-linear digital editing, audio/visual editing for dance, lighting, dance theory and criticism in the context of dance in the digital age. Prerequisite: DANC 2610 . May be repeated once up to 2 credit hours, but use toward Major/Minor must be approved by program advisor.
 

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