|
|
DRAFT 2026-2027 Catalog ARCHIVED CATALOG: Content may no longer be accurate.
Course Descriptions - CS, ETC, NET, WEB
|
|
School of Computing
CS 1010 CA - Introduction to Interactive Entertainment Credits: (3) Typically Taught Summer Semester: Online Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: This course examines and analyzes the history, philosophy, and impact of digital entertainment (video and computer games along with simulations) on an individual and society. Students take a critical look at the artistic, but also the cultural, economic and social aspects of this expressive medium. Students imagine and articulate their own ideas and work through a series of projects helping them understand the creative challenges behind interactive entertainment design. Implications of certain values embedded in games will be discussed. Elements of the ethical code of conduct for a game creator will be formulated. The issue of balancing individual creativity vs. socio-cultural impact will also be discussed. Students will be required to play video games outside of the regularly scheduled class times. A lab fee is required for this class.
CS 1030 - Foundations of Computing Credits: (4) Typically Taught Summer Semester: Full Sem, Full Sem Online Typically Taught Fall Semester: Full Sem, Full Sem Online Typically Taught Spring Semester: Full Sem, Full Sem Online Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: Computers are an essential part of every occupation. Having a basic understanding of computers will help students become more confident users. This course is taught at an introductory level and presents a broad overview of topics in computing such as personal digital security, ethical behaviors in education and business, how computers work and communicate with one another, how data is stored and used in a computer, and how to create a website and write a computer program.
CS 1400 - Programming I Credits: (4) Variable Title Typically Taught Summer Semester: Full Sem, Full Sem - Online Typically Taught Fall Semester: Full Sem, Full Sem - Online Typically Taught Spring Semester: Full Sem, Full Sem - Online Description: Most technology, such as airplanes, laptops, smartphones, and appliances, depends on computer programming to function. This course introduces students to computer programming using a modern programming language. Designed for students with little or no programming experience, it covers topics including logical problem solving, basic input/output, conditionals, loops, functions, arrays, classes, utilizing language libraries, development environments, and program debugging. Students will gain a basic understanding of how to create software for all computing environments.
CS 1410 - Object-Oriented Programming Credits: (4) Typically Taught Summer Semester: Full Sem, Full Sem - Online Typically Taught Fall Semester: Full Sem, Full Sem - Online Typically Taught Spring Semester: Full Sem, Full Sem - Online Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: An introduction to the C++ language. Topics will include data types, control structures, functions, pointers, arrays, I/O streams, classes, objects, encapsulation, overloading, inheritance and use of these concepts in problem solving. Pre-requisite(s): (CS 1400 or ECE 1400 or CS 2250 ) and (ENGL 1010 or ENGL 2010) .
CS 2130 - Computational Structures Credits: (4) Typically Taught Summer Semester: Full Sem, Online Typically Taught Fall Semester: Full Sem, Online Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: An overview of the fundamentals of algorithmic, discrete mathematics applied to computation using a contemporary programming language. Topics include sets, functions, logic, matrices, relations, graphs, trees, regular expressions, grammars, finite state machines, and data encoding. Pre-requisite(s): CS 1400 or ECE 1400 .
CS 2250 - Structured Computing in a Selected Language Credits: (4) Typically Taught Spring Semester: Full Sem Description: Introduction to structured problem solving using objects, data enumeration and encapsulation in a selected language. The language for a particular instance of this course will be based upon demand. Pre-requisite(s): Basic skills in fundamental Algebra.
CS 2350 - Client Side Web Development Credits: (4) Typically Taught Summer Semester: Full Sem, Full Sem - Online Typically Taught Fall Semester: Full Sem, Full Sem - Online Typically Taught Spring Semester: Full Sem, Full Sem - Online Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: This course provides an introduction to client-side programming and Web page development. Subjects covered include responsive Web page design and dynamic Web page development. The course will explore various technologies such as HTML5, CSS3, JavaScript client-side programming, and an introduction to a JavaScript framework. Pre-requisite(s): CS 1030 and CS 1400 .
CS 2420 - Introduction to Data Structures and Algorithms Credits: (4) Typically Taught Summer Semester: Full Sem, Full Sem - Online Typically Taught Fall Semester: Full Sem, Full Sem - Online Typically Taught Spring Semester: Full Sem, Full Sem - Online Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: General principles of common data structures and design of efficient algorithms. Topics include: arrays, linked-lists, stacks, queues, trees, graphs, tables, storage and retrieval structures, searching, sorting, hashing, and algorithmic analysis. Emphasis will be on abstraction, efficiency, re-usable code, and object-oriented implementation. Pre-requisite(s): CS 1410 . Pre-requisite/Co-requisite: MATH 1050 or MATH 1080 or MATH 1210 .
CS 2450 - Software Engineering I Credits: (4) Typically Taught Summer Semester: Online Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem, Online Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: An Object Oriented Analysis and Design course which provides practical guidance on the construction of object-oriented systems. Its specific goals are to provide a sound understanding of the fundamental concepts of the Software Development Life-Cycle, to teach quality design and development style through applications of object-oriented project development within a variety of problem domains, and provide coverage of current Software Engineering models and diagramming techniques. Pre-requisite(s): CS 1410 .
CS 2550 - Introduction to Database Design and SQL Credits: (4) Typically Taught Summer Semester: Full Sem, Full Sem - Online Typically Taught Fall Semester: Full Sem, Full Sem - Online Typically Taught Spring Semester: Full Sem, Full Sem - Online Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: This course is an introduction to databases, specifically focusing on the relational database model, database design and modeling and the structured query language (SQL). Students will become proficient at formulating data query requests using SQL and will also gain experience in database normalization and entity-relationship modeling.
CS 2800 - Individual Projects & Research Credits: (1-4) Typically Taught Summer Semester: Full Sem Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem Description: 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. Pre-requisite(s): CS 1410 . May be repeated 3 times up to 6 credits. Note: Note: Only 4 credit hours of either CS 2800 or CS 2890 can apply to a CS degree as an elective course, and only a maximum of 6 hours of both CS 2800 and CS 2890 may be taken to satisfy missing credits or to achieve full time academic status.
CS 2810 - Computer Architecture/Organization Credits: (4) Typically Taught Summer Semester: Full Sem-Online Typically Taught Fall Semester: Full Sem, Full Sem-Online Typically Taught Spring Semester: Full Sem, Full Sem-Online Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: Computers are essential to modern life, yet most people use them with no understanding of how they accomplish everything they do. This course will explore how computers function from a technical perspective, allowing students to see why they work and are designed the way they are. The course will focus on Von Neumann computers, covering a variety of topics including logic gates, basic digital circuit concepts, number and data representation, the processor implementation, BIOS, buses, interrupts, addressing, memory management, and storage. The practical implementation of this knowledge will be examined by introducing assembly language code. Pre-requisite(s): CS 1410 or (CS 1400 and (CYBR 2210 or NET 2210 or NET 3200).
CS 2890 INT - Cooperative Work Experience Credits: (1-4) Typically Taught Summer Semester: Full Sem Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem Description: 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. Pre-requisite(s): CS 1410 . May be repeated 3 times up to 6 credits. Note: Note: Only 4 credit hours of either CS 2800 or CS 2890 can apply to a CS degree as an elective course, and only a maximum of 6 hours of both CS 2800 and CS 2890 may be taken to satisfy missing credits or to achieve full time academic status.
CS 2899 - Associate Degree Assessment Credits: (0) Description: This course is to serve as an assessment tool whereby all AAS degree seeking students in the Department of Computer Science demonstrate core knowledge acquired from course studies in the discipline as specified in the AAS degree program. May be repeated 11 times.
CS 2920 - Short Courses, Workshops, Institutes, and Special Programs Credits: (1-6) Workshop Typically Taught Summer Semester: Full Sem Description: 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 for a total maximum of 6 credit hours.
CS 3030 - Scripting Languages Credits: (4) Typically Taught Fall Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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. Pre-requisite(s): CS 1400 and (CYBR 2300 or CS 2705 ).
CS 3050 - Enterprise Computing Credits: (4) Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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. Pre-requisite(s): CS 2420 and CS 2810 .
CS 3100 - Operating Systems Credits: (4) Typically Taught Summer Semester: Full Sem Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: An overview of computer operating system from the programmer’s point of view. Input-output hardware, interrupt handling, properties of external storage devices, associative memories and virtual address translation techniques, optimizing programs for performance, concurrent programming with threads, and network programming. Pre-requisite(s): CS 2420 and (CS 2810 or ECE 3620 ).
CS 3210 - UNIX System Programming and Internals Credits: (4) Typically Taught Fall Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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. Pre-requisite(s): CS 2420 .
CS 3230 - Object Oriented User Interface Development with Java Credits: (4) Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: An intermediate programming course that covers the “core” features of the Java programming language with the goal of preparing students to focus on specialized uses of Java. Topics include object-oriented programming and polymorphism, graphics, event handling, building graphical user interfaces with Swing, multithreading and synchronization, and error handling. Pre-requisite(s): CS 2420 .
CS 3260 - Mobile Development for the iPhone Credits: (4) Typically Taught Summer Semester: Full Sem Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: This course addresses the development of applications for mobile iOS devices, specifically the iPhone using Xcode and associated tools. Students will learn the basics of the Swift programming language and use it to create applications for the iPhone family of products. Pre-requisite(s): CS 1410 , CS 2350 and CS 2550 .
CS 3270 - Mobile Development for Android Credits: (4) Typically Taught Summer Semester: Online Typically Taught Fall Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: Mobile devices have become an essential part of many people’s lives. This course will explore the development of applications using the Android SDK and modern Android development tools while applying industry best practices. Students will develop multiple apps from start to finish, and will be prepared to develop applications on their own. Pre-requisite(s): CS 2350 , CS 2550 and CS 3230 .
CS 3280 - Object Oriented Windows Application Development Credits: (4) Typically Taught Summer Semester: Full Sem Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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 Windows Applications 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. Pre-requisite(s): CS 2420 .
CS 3540 - Database Administration Credits: (4) Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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. Pre-requisite(s): CS 2550 .
CS 3550 - Advanced Database Programming Credits: (4) Typically Taught Summer Semester: Full Sem Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: Students will build upon the basic database knowledge and skills gained in the introductory database course. Advanced database knowledge will be gained through the design and implementation of an enterprise-level database. Students will perform database programming techniques such as stored procedures, user-defined functions, cursors, triggers, and distributed queries. Various database paradigms will be used in the course including RDBMS and NoSQL. Pre-requisite(s): CS 2550 and (CS 1410 or CS 3030 or WEB 3200 ).
CS 3620 - Server-Side Web Architecture Credits: (4) Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: An introduction to server-side web architectures using current server-side technologies. General web development principles such as usability, reliability, maintainability, security, and scalability will be taught. Students will also learn how to architect and apply server-side technology to create both dynamic websites, and API’s at scale using industry best practices. Pre-requisite(s): CS 2550 and (CS 2350 or WEB 1430 ).
CS 3650 - Human-Computer Interaction Credits: (4) Typically Taught Fall Semester: Full Sem, Full Sem Online Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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. Pre-requisite(s): CS 2420 , CS 2450 or WEB 3500 . Cross-listed with WEB 3650 .
CS 3705 - Protocol Analysis Credits: (4) Typically Taught Fall Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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. Pre-requisite(s): CYBR 2300 or CS 2705 or CYBR 2435 .
CS 3750 CEL - Software Engineering II Credits: (4) Typically Taught Summer Semester: Full Sem Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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. Pre-requisite(s): CS 2899 , CS 3550 , and (CS 3230 or CS 3280) .
CS 3810 - Experimental Course Credits: (1-6) Experimental Description: 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 for a total maximum of 6 credit hours.
CS 4110 - Concepts of Formal Languages and Algorithms for Computing Credits: (4) Typically Taught Summer Semester: Full Sem Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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. Pre-requisite(s): CS 2420 and either MATH 1630 or CS 2130 .
CS 4250 - Design Patterns Credits: (4) Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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. Pre-requisite(s): CS 3230 or CS 3280 .
CS 4280 - Computer Graphics Credits: (4) Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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. Pre-requisite(s): CS 2420 .
CS 4350 - Advanced Internet Programming Credits: (4) Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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. Pre-requisite(s): WEB 3620 or CS 3620 .
CS 4450 - Advanced Software Engineering Methods Credits: (4) Typically Taught Summer Semester: Full Sem Typically Taught Spring Semester: Full Sem Description: This course provides a capstone project experience for students interested in software engineering. While previous courses in the Computer Science curriculum provide students with the knowledge and skills necessary to begin a career as a software engineer, the end-to-end design and implementation experience offered in this course, done as part of a team, and addressing an open ended problem (as well as an open ended solution), comes much closer to the experience that software engineering professionals encounter in the workplace. The emphasis on documentation and presentation of designs and results is also valuable career preparation, and forces students to take ownership of their designs and systems as they present them to others. Pre-requisite(s): CS 3750 .
CS 4500 - Introduction to Artificial Intelligence Credits: (4) Typically Taught Fall Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: This course covers basic artificial intelligence principles from the perspective of implementing intelligent agents through software. Students will write intelligent software agents to solve a variety of problems from different application domains. Topics include search, search heuristics, adversarial search, constraint satisfaction problems, knowledge and reasoning, planning, and knowledge representation. Pre-requisite(s): CS 2420 and either MATH 1630 or CS 2130 .
CS 4580 - Data Science Algorithms Credits: (4) Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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. Pre-requisite(s): ((CS 1400 and CS 2550 ) or CS 2420 ) and (MATH 1040 or MATH 1120 or MATH 3410 or QUAN 2600 ) and (at least 60 hours of completed credits).
CS 4640 - Foundations of Game Development Credits: (4) Typically Taught Fall Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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. Pre-requisite(s): CS 1010 and CS 3280 .
CS 4650 - Advanced Game Development Credits: (4) Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: This course is a continuation of CS 4640 and covers intermediate to advanced level 3D game development using a commercial gaming engine authoring tool like Unity or Unreal. Students work in small teams and reference a game design document (which they’ve previously created themselves or which is selected from previously approved CS 1010 course documents) to program and fully develop a “medium-scoped” 3D video game. The game will be delivered over several iterations throughout the semester, each requiring peer review and play-test feedback. This course emphasizes several aspects of 3D game development, including but not limited to level, character, environment and world construction, scripting, 3D modeling and asset creation, user interface, scene transitions and cinematics, rudimentary AI, physics, graphical post-processing, as well as solid gameplay principles, core mechanics, scalability, and replayability. The course focuses heavily on game development and programming, assuming the game design has been previously scoped out. Pre-requisite(s): CS 4640 and CS 3750
CS 4760 - CS Capstone Credits: (4) Typically Taught Summer Semester: Full Sem Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: This CS capstone course is designed to provide real-world software engineering project opportunities for students to apply previous knowledge from the Computer Science curriculum. Students will work together as a team, along with their instructor, to solve a problem by developing a small-scale software application. Relevant software engineering skills emphasized in this course include, but are not limited to, Agile software development principles, project management, software design patterns, repository version control, data integration, security, testing, and documentation. Additional emphasis will be placed on the end user experience, as well as validation of functional requirements defined by the client. The capstone prepares students for experiences that software engineering professionals encounter in the workplace. Pre-requisite(s): CS 3750 .
CS 4800 - Individual Projects and Research Credits: (1-4) Typically Taught Summer Semester: Full Sem Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem Course Fee: $7.50 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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. Pre-requisite(s): CS 2420 and instructor approval. May be repeated 3 times up to 4 credit hours. Note: 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 4830 - Advanced Topics in Computer Science Credits: (1-4) Variable Title Typically Taught Spring Semester: Full Sem Course Fee: $7.50 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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. Pre-requisite(s): Consent of instructor. May be repeated 2 times up to 8 credit hours.
CS 4850 - Faculty Directed Research Credits: (1-4) Typically Taught Summer Semester: Full Sem Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem Course Fee: $7.50 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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. Pre-requisite(s): CS 2420 . May be repeated 3 times up to 4 credit hours. Note: 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 INT - Cooperative Work Experience Credits: (1-4) Typically Taught Summer Semester: Full Sem Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem Description: 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. Pre-requisite(s): CS 2420 and instructor approval. May be repeated 3 times up to 4 credit hours. Note: 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) Description: 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. Pre-requisite/Co-requisite: Successful completion of requirements for the Bachelor’s Degree.
CS 4920 - Short Courses, Workshops, Institutes, and Special Programs Credits: (1-6) Workshop Description: 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 for a total maximum of 6 credit hours.
CS 5100 - Distributed Operating Systems Credits: (3) Typically Taught Fall Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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. Pre-requisite(s): CS 3100 .
CS 5200 - The Internet of Things Credits: (3) Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: The growth of the Internet of Things (IoT) is changing the way we interact with the world by saving time and resources and opening new opportunities for growth and innovation. This course explores the fundamentals of the world of IoT, including design considerations and constraints. It provides an overview of the networks and security issues related to IoT devices. Course participants will get hands-on experience using Arduino and/or Raspberry Pi hardware and software platforms, learn different communication protocols, how to harness the data from IoT devices, and review capabilities of cloud-based IoT platforms. Pre-requisite(s): CS 2810 or ECE 3710 .
CS 5300 - Route Planning and Navigation Credits: (3) Typically Taught Fall Semester: Full Sem Description: The course teaches advanced topics of perception, mapping, route planning and navigation concepts. In this course the students will create maps of the operational environment using SLAM. Given the map, the students would drive the vehicle autonomously to a specified destination. Topics that will be covered include camera calibration, advanced computer vision and path planning. The course will conclude with a capstone project with the expectation that the student can program the vehicle to navigate in a dynamic environment, follow road markings, and reach a specified goal; latitude and longitude. Suggested Requisite(s): ECE 3730
CS 5420 - Advanced Algorithms Credits: (3) Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: Introduction to fundamental principles of advanced algorithm 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. Pre-requisite(s): CS 2420 .
CS 5450 - Software Evolution and Maintenance Credits: (3) Typically Taught Fall Semester: Full Sem Description: This course aims to improve student awareness of standard software engineering tools and techniques and make them more capable team members/leaders in software development projects. In this course, students build on their software engineering knowledge by evaluating the Software Development Lifecycle (SDLC) of an existing undergraduate capstone project (or and re-engineering it with specific techniques for maintenance, scalability, dependability, reliability, safety, security, and resilience. Topics such as reverse engineering, design recovery, program analysis, program transformation, refactoring, traceability, and program understanding will be investigated. Accompanying lectures aim to provide timely concepts from the software engineering body of knowledge as they relate to the course work. There will also be class discussions and demonstrations around practical aspects of improving software-related skills that draw upon the students’ collective experience and upon the research. Pre-requisite(s): CS 3100 .
CS 5500 - Introduction to Artificial Intelligence Credits: (3) Typically Taught Fall Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: Dive into the world of Artificial Intelligence and explore how intelligent software agents can solve real-world problems across diverse domains. This course introduces modern AI tools, approaches, and algorithms, preparing students to tackle challenges in fields like natural language processing, autonomous systems, and more. Students will engage with key AI concepts such as heuristic search, machine learning, neural networks, reinforcement learning, knowledge representation, planning, and reasoning. Additionally, the course addresses ethical considerations in AI, ensuring students understand the broader impact of their work. Whether you’re aiming to innovate or solve complex problems, this course equips you with the skills to harness AI’s potential in today’s dynamic landscape. Pre-requisite(s): CS 2420 and either MATH 1630 or CS 2130 .
CS 5550 - Advanced Database Management Systems Credits: (3) Typically Taught Summer Semester: Full Sem Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem Description: The course covers design, management, implementation, and programming of relational database systems in a high-volume data environment. Database design principles like E-R modeling, schema design and refinement, normal forms and constraints are introduced. Data Definition Language queries and Data Manipulation Language queries are covered to implement and query a database. Other SQL implementation topics like stored procedures, functions, triggers, and indexes are covered. Advanced database topics like big data analytics, storage management principles, query processing and optimization, transaction management, concurrency control, parallel and distributed databases are covered. The course also introduces alternatives to relational databases. Pre-requisite(s): CS 3550 .
CS 5580 - Data Science Algorithms Credits: (3) Typically Taught Spring Semester: Full Sem Description: This course offers a comprehensive introduction to algorithms widely used in data science, emphasizing both foundational principles and practical applications. Students will learn to analyze and interpret data through essential topics such as machine learning, data preprocessing, and optimization techniques. The curriculum combines theoretical insights with hands-on experience using real-world datasets, equipping students with the core skills required for entry-level roles in data science, including positions as a data scientist, data engineer, or data analyst. Pre-requisite(s): CS 4580 .
CS 5600 - Machine Learning Credits: (3) Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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. This course focuses on understanding and implementing the machine learning algorithms. Pre-requisite(s): CS 2420 .
CS 5610 - Computer Architecture Credits: (3) Typically Taught Fall Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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. Pre-requisite(s): CS 2810 or ECE 3710 .
CS 5650 - Interaction Design Credits: (3) Typically Taught Fall Semester: Full Sem, Full Sem - Online Typically Taught Spring Semester: Full Sem, Full Sem - Online Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: The most exciting technologies of today are immersive, interactive, solve big problems, and are even entertaining. In this course, we will study how, as software developers, we can understand our users and create innovative designs that best meet their needs and desires. Known tools and techniques from the field of human-computer interaction are reviewed. User center research and evaluation techniques will be presented and students will have the opportunity to undertake a study on user design where they apply these techniques. Pre-requisite(s): CS 3100 .
CS 5700 - Deep Learning Theory Credits: (3) Typically Taught Fall Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: Deep learning is at the heart of many life-changing applications and areas of interests including language understanding, face recognition, speech synthesis and recognition, object detection, and robotics to name a few. This course introduces the fundamental principles of deep learning and its applications, including multilayer perceptrons, backpropagation, auto-differentiation, optimizers, convolutional networks (CNNs), recurrent networks (RNNs), autoencoders (AEs), and generative adversarial networks (GANs). This course focuses on both understanding deep learning algorithms (their strengths and limitations) and getting acquainted with the current deep learning research landscape. Pre-requisite(s): CS 5600 .
CS 5705 - Applied Cloud Computing Credits: (3) Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: Current business demands often require an amount of data that cannot reasonably process on a single computer. Even companies that work with reasonably small datasets expect rapid growth, so they prefer to use data processing solutions that scale when needed. In this course, you will gain practical, hands-on experience with modern cloud computing resources through publicly available cloud infrastructures. This course will prepare students with practical, hands-on experience in modern cloud and distributed computing paradigms and tools. Pre-requisite(s): CS 3100 and CS 4580 .
CS 5720 - Program Debugging and Repair Credits: (3) Typically Taught Summer Semester: Full Sem Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem Description: Introduction to software testing as a precursor of debugging and repair. Understanding the cognitive process behind debugging and an introduction to scientific debugging. Introduction to automated debugging techniques like Fault Localization and Delta Debugging. Understanding the intuition behind Automatic Program Repair (APR). Introduction to APR techniques and tools. Introduction to recent advances in program debugging and repair. Understanding challenges and opportunities associated with automated program debugging and repair. Pre-requisite(s): CS 3280 or CS 3230 or Instructor Approval.
CS 5740 - Computer Systems Security Credits: (3) Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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. Pre-requisite(s): CS 2420 and CS 3100 .
CS 5820 - Compiler Design Credits: (3) Typically Taught Fall Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: A study of compilers, grammars, finite-state and push down automata, scanning, parsing, error handling, semantic analysis and code generation. Pre-requisite(s): CS 2420 and CS 2130 .
CS 5830 - Special Topics in Computer Science Credits: (3) Typically Taught Fall Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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. Pre-requisite(s): CS 3100 .
CS 5840 - Formal System Design Credits: (3) Typically Taught Fall Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: Methods for developing high-quality hardware/software systems that are delivered on time, within budget, and according to requirements. Techniques for specifying programs and reasoning about them, including formal logical proofs, correct code synthesis, model checking, type theory specifications, and properly evaluating concurrent programs. Pre-requisite(s): CS 2420 .
CS 5850 - Parallel Programming and Architecture Credits: (3) Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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). Pre-requisite(s): CS 3100 .
CS 6000 - Fundamentals of Graduate Studies Credits: (1) Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem Description: The purpose of this course is to introduce students in the graduate programs in the College of Engineering, Applied Science, and Technology to the expectations of graduate study and the scholarly requirement options for their program. Students will learn the difference between a research thesis and a design project as well as how to select, narrow, and refocus a research topic. Students will explore academic electronic databases and Internet search engines, thus developing skills that allow them to critically evaluate published scholarly work. They will also be introduced to research methods and design and will develop skills in organization, effective editing, reviewing, and proofreading. This course should be taken within the first year of study to establish a program of study and support future work on a thesis or project.
CS 6010 - Design Project Credits: (2-6) Typically Taught Summer Semester: Full Sem Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem Course Fee: $7.50 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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 up to 10 times for credit.
CS 6011 - Thesis Research Credits: (2-6) Typically Taught Summer Semester: Full Sem Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem Course Fee: $7.50 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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 up to 10 times for credit.
CS 6100 - Distributed Operating Systems Credits: (3) Typically Taught Fall Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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. Pre-requisite(s): CS 3100 .
CS 6200 - The Internet of Things Credits: (3) Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: The growth of the Internet of Things (IoT) is changing the way we interact with the world by saving time and resources and opening new opportunities for growth and innovation. This course explores the fundamentals of the world of IoT, including design considerations and constraints. It provides an overview of the networks and security issues related to IoT devices. Course participants will get hands-on experience using Arduino and/or Raspberry Pi hardware and software platforms, learn different communication protocols, how to harness the data from IoT devices, and review capabilities of cloud-based IoT platforms. Pre-requisite(s): CS 2810 or ECE 3710 .
CS 6300 - Route Planning and Navigation Credits: (3) Typically Taught Fall Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees for the CS major are designed to cover the costs of lab equipment
maintenance and replacement including desktop and server computer systems and
software; consumable materials and supplies; and support for lab aides, student tutors,
and online instructional resources. Description: The course teaches advanced topics of perception, mapping, route planning and navigation concepts. In this course the students will create maps of the operational environment using SLAM. Given the map, the students would drive the vehicle autonomously to a specified destination. Topics that will be covered include camera calibration, advanced computer vision and path planning. The course will conclude with a capstone project with the expectation that the student can program the vehicle to navigate in a dynamic environment, follow road markings, and reach a specified goal; latitude and longitude. Suggested Requisite(s): ECE 3730
CS 6420 - Advanced Algorithms Credits: (3) Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: Introduction to fundamental principles of advanced algorithm 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. Pre-requisite(s): CS 2420 .
CS 6450 - Software Evolution and Maintenance Credits: (3) Typically Taught Fall Semester: Full Sem Description: This course aims to improve student awareness of standard software engineering tools and techniques and make them more capable team members/leaders in software development projects. In this course, students build on their software engineering knowledge by evaluating the Software Development Lifecycle (SDLC) of an existing undergraduate capstone project (or and re-engineering it with specific techniques for maintenance, scalability, dependability, reliability, safety, security, and resilience. Topics such as reverse engineering, design recovery, program analysis, program transformation, refactoring, traceability, and program understanding will be investigated. Accompanying lectures aim to provide timely concepts from the software engineering body of knowledge as they relate to the course work. There will also be class discussions and demonstrations around practical aspects of improving software-related skills that draw upon the students’ collective experience and upon the research. Pre-requisite(s): CS 3100 .
CS 6500 - Advanced Artificial Intelligence Credits: (3) Typically Taught Fall Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: Building on the foundational principles introduced in CS 5500, this course delves deeper into advanced AI techniques and applications. Students will explore cutting-edge topics such as advanced machine learning architectures, deep reinforcement learning, generative models, and AI-driven optimization. Emphasis is placed on the integration of theory with practical challenges, enabling students to solve complex problems and innovate across domains like large-scale data systems and real-time decision-making. The course also examines emerging trends and the broader implications of AI in society, ensuring graduates are equipped to lead in this rapidly evolving field. Pre-requisite(s): CS 5500 .
CS 6550 - Advanced Database Management Systems Credits: (3) Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: The course covers design, management, implementation, and programming of relational database systems in a high-volume data environment. Database design principles like E-R modeling, schema design and refinement, normal forms, and constraints are introduced. Data Definition Language queries and Data Manipulation Language queries are covered to implement and query a database. Other SQL implementation topics like stored procedures, functions, triggers, and indexes are covered. Advanced database topics like big data analytics, storage management principles, query processing and optimization, transaction management, concurrency control, parallel and distributed databases are covered. The course also introduces alternatives to relational databases. Pre-requisite(s): CS 2550 or equivalent.
CS 6570 - Data Science Algorithms I Credits: (3) Typically Taught Fall Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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.
CS 6580 - Data Science Algorithms II Credits: (3) Typically Taught Spring Semester: Full Sem Description: This course is the second in a two-course sequence that prepares students to apply practical solutions to modern data science problems as a professional data analyst. The intent of this course is to go further in-depth and reinforce the concepts taught in CS 6570 . Students will investigate and analyze the topics of CS 6570 using advanced tools and techniques to better prepare them for the challenges associated with the data science discipline. The principles of visualization will also be emphasized as well as exposure to recommendation engines and time series forecasting and analysis. Pre-requisite(s): CS 6570 or CS 4580 .
CS 6600 - Machine Learning Credits: (3) Typically Taught Fall Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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. This course focuses on understanding and implementing the machine learning algorithms. Pre-requisite(s): CS 3100 .
CS 6610 - Computer Architecture Credits: (3) Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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. Pre-requisite(s): CS 2810 or ECE 3710 .
CS 6650 - Interaction Design Credits: (3) Typically Taught Fall Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: The most exciting technologies of today are immersive, interactive, solve big problems, and are even entertaining. In this course, we will study how, as software developers, we can understand our users and create innovative designs that best meet their needs and desires. Known tools and techniques from the field of human-computer interaction are reviewed. User center research and evaluation techniques will be presented and students will have the opportunity to undertake a study on user design where they apply these techniques. Pre-requisite(s): CS 3100 .
CS 6700 - Deep Learning Theory Credits: (3) Typically Taught Fall Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: Deep learning is at the heart of many life-changing applications and areas of interests including language understanding, face recognition, speech synthesis and recognition, object detection, and robotics to name a few. This course introduces the fundamental principles of deep learning and its applications, including multilayer perceptrons, backpropagation, auto-differentiation, optimizers, convolutional networks (CNNs), recurrent networks (RNNs), autoencoders (AEs), and generative adversarial networks (GANs). This course focuses on both understanding deep learning algorithms (their strengths and limitations) and getting acquainted with the current deep learning research landscape. Pre-requisite(s): CS 6600 .
CS 6705 - Applied Cloud Computing Credits: (3) Typically Taught Spring Semester: Full Sem Course Fee: $300.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: Current business demands often require an amount of data that cannot reasonably process on a single computer. Even companies that work with reasonably small datasets expect rapid growth, so they prefer to use data processing solutions that scale when needed. In this course, you will gain practical, hands-on experience with modern cloud computing resources through publicly available cloud infrastructures. This course will prepare students with practical, hands-on experience in modern cloud and distributed computing paradigms and tools. Pre-requisite(s): CS 6570 or CS 4580 .
CS 6710 - Software Testing Credits: (3) Typically Taught Summer Semester: Full Sem Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: Introduction to fundamental principles and processes of software testing, including testing throughout the software development lifecycle, static testing, testing techniques and management; develop and apply knowledge and skills in implementing testing techniques in software development projects; including black‐box and white‐box testing, desktop, web, and mobile testing, testing automation, and test metrics.
CS 6720 - Programming Debugging and Repair Credits: (3) Typically Taught Fall Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: Introduction to software testing as a precursor of debugging and repair. Understanding the cognitive process behind debugging and an introduction to scientific debugging. Introduction to automated debugging techniques like Fault Localization and Delta Debugging. Understanding the intuition behind Automatic Program Repair (APR). Introduction to APR techniques and tools. Introduction to recent advances in program debugging and repair. Understanding challenges and opportunities associated with automated program debugging and repair. Pre-requisite(s): Graduate standing in Master of Science in Computer Science (MS) .
CS 6740 - Computer Systems Security Credits: (3) Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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. Pre-requisite(s): CS 2420 and CS 3100 .
CS 6820 - Compiler Design Credits: (3) Typically Taught Fall Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: A study of compilers, grammars, finite-state and push down automata, scanning, parsing, error handling, semantic analysis and code generation. Pre-requisite(s): CS 2420 . Suggested Requisite(s): CS 4110 .
CS 6830 - Special Topics in Computer Science Credits: (3) Variable Title Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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. Pre-requisite(s): Instructor permission. May be taken twice up to 6 credits.
CS 6840 - Formal System Design Credits: (3) Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: Methods for developing high-quality hardware/software systems that are delivered on time, within budget, and according to requirements. Techniques for specifying programs and reasoning about them, including formal logical proofs, correct code synthesis, model checking, type theory specifications, and properly evaluating concurrent programs. Pre-requisite(s): CS 2420 .
CS 6850 - Parallel Programming and Architecture Credits: (3) Typically Taught Spring Semester: Full Sem Course Fee: $25.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: 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). Pre-requisite(s): CS 3100 .
CYBR 1030 - Foundations of Computing Credits: (4) Typically Taught Summer Semester: Full Sem, Full Sem Online Typically Taught Fall Semester: Full Sem, Full Sem Online Typically Taught Spring Semester: Full Sem, Full Sem Online Description: This course follows the core body of knowledge specified by the ACM which provides students with a broad overview of topics they might encounter within the major areas of computing. The course is taught at an introductory level and includes topics such as: history of computers, computer architecture, operating systems, web design and development, programming, database, software engineering, networking, and more. Cross-listed with CS 1030 and WEB 1030 .
CYBR 1300 - Networks and Emerging Technologies Credits: (3) Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem Description: This course is designed to introduce the fundamentals of voice and data networking technologies. The course includes topics such as history of telecommunications, history of data networking, study of industry, transport media, common networking protocols, and emerging technologies.
CYBR 1400 - Introduction to Cyber Defense and Ethics Credits: (3) Typically Taught Spring Semester: Full Sem Course Fee: $20.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: This course will introduce the terminology, concepts, and defense techniques related to cyber defense. An overview of careers and professional organizations related to cybersecurity is also included. The ethics of working with information and cyber tools will be discussed.
CYBR 2010 - Business English Applications Credits: (3) Typically Taught Fall Semester: Full Sem Online Description: Includes Business English essentials: grammar, punctuation, and proofreading. Keyboarding 40 wpm recommended. Pre-requisite(s): WEB 1700 or WEB 1701 /WEB 1501 .
CYBR 2200 - Cybersecurity and System Fundamentals Credits: (3) Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem Course Fee: $20.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: Students enrolling in this course will be exposed to current computer hardware and software technologies including computer processors, memory, storage, motherboards, graphical processing units, and other related hardware. Current operating systems will be installed, configured, and optimized following industry best practice. Cybersecurity topics such as password policies, patch management, and system hardening will be emphasized throughout the course.
CYBR 2210 - Linux Systems Administration Credits: (3) Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem Course Fee: 20.00 Description: This course gives students a solid foundation in the fundamentals of the Linux operating system. Students gain system-level experience through problem-solving exercises at the command line and in the graphical user interface (GUI). By the end of the course, students will have learned the major, essential, command-line commands necessary to be accomplished users of Linux. Pre-requisite(s): CYBR 2200 .
CYBR 2300 - Introduction to Networking and Cybersecurity Credits: (3) Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem Course Fee: $20.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: This course provides students with an introduction to the principles of computer networking and cybersecurity. Covered concepts include network topologies and design, network models, networking protocols, cybersecurity concepts, physical media, network addressing, equipment, basic cryptography, LAN management, network operations, troubleshooting, network attacks, and defense strategies. Pre-requisite(s): CS 1030 or CYBR 2200 . Pre-requisite/Co-requisite: CYBR 2200 .
CYBR 2310 - Network Server Administration Credits: (3) Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem Description: Students will learn how to install, configure, manage, and troubleshoot hardware and applications in a Server environment in different cloud ecosystems. With a specific focus on Server fundamentals, this course will teach students how to install servers, configure active directories, create and manage users, install server roles and features, perform diagnostics, and troubleshoot malfunctioning servers. Pre-requisite(s): CYBR 2300 or CS 2705 .
CYBR 2415 - Routing and Switching Credits: (4) Typically Taught Fall Semester: Full Sem Course Fee: $20.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: This course is designed to provide a practical understanding of the configuration, securing, and administration of routing and switching devices. Practical labs using Cisco equipment will be used to introduce, reinforce, and evaluate networking and security concepts. A detailed look into IP addressing, networking protocols, and security best practices is included. Pre-requisite(s): CYBR 2300 or CS 2705 .
CYBR 2435 - Cisco Advanced LAN and WAN Switching and Routing Theory and Design Credits: (3) Typically Taught Spring Semester: Full Sem Course Fee: $20.00 Course Fee Purpose: Course fees are designed to cover the costs of lab equipment maintenance and replacement including desktop and server computer systems and software; consumable materials and supplies; and support for lab aides, student tutors, and online instructional resources. Description: This course is the second in a two-course series designed to prepare students to pass the examinations for Cisco Certified Network Associate (CCNA). This course covers advanced router configurations, LAN switching theory and VLANs, advanced LAN and LAN switched design, Novell IPX, WAN theory design and technology, PPP, frame relay, ISDN, network troubleshooting, national SCANs skills, and threaded case studies. Pre-requisite(s): CYBR 2415 .
CYBR 2500 - Practical Cybersecurity Infrastructure Credits: (4) Typically Taught Fall Semester: Full Sem Typically Taught Spring Semester: Full Sem Description: Students enrolled in this course will be exposed to hands-on application of concepts and topics in the computer networking and cybersecurity fields. Topics covered in this course include exposure to current physical desktop and server hardware, configuration of networking devices such as switches, routers, access points, firewalls, copper and/or fiber optic cable installation, and applying theory and concepts from prior courses in a hands-on environment. Pre-requisite(s): CYBR 2210 and CYBR 2310 and CYBR 2415 . Page: 1
| 2
|
|