Computer Science (CS)

CS 1100. Freshman Leap Seminar. 1 Credit Hour.

Small group discussions with first year students are led by one or more faculty members and include a variety of foundational, motivational, and topical subjects for computationalist.

CS 1171. Introductory Computing in MATLAB. 1 Credit Hour.

For students with a solid introductory computing background needing to demonstrate proficiency in the MATLAB language.

CS 1301. Introduction to Computing. 3 Credit Hours.

Introduction to computing principles and programming practices with an emphasis on the design, construction and implementation of problem solutions use of software tools.

CS 1301R. Introduction to Computing for Computer Science Recitation. 0 Credit Hours.

Recitation for CS 1301.

CS 1315. Introduction to Media Computation. 3 Credit Hours.

Introduction to computation (algorithmic thinking, data structures, data transformation and processing, and programming) in a media and communication context. Credit not awarded for both CS 4452 and CS 1315.

CS 1315R. CS 1315 Recitation. 0 Credit Hours.

Recitation for CS 1315.

CS 1316. Representing Structure and Behavior. 3 Credit Hours.

Modeling the structure of media (e.g., music, graphical scenes) using dynamic data structures. Designing objects as encapsulations of structure and behavior. Algorithms for simulating objects. May not be taken for credit by students who have credit for CS 1322.

CS 1331. Introduction to Object Oriented Programming. 3 Credit Hours.

Introduction to techniques and methods of object-oriented programming such an encapsulation, inheritance, and polymorphism. Emphasis on software development and individual programming skills.

CS 1331R. CS 1331 Recitation. 0 Credit Hours.

Recitation for CS 1331.

CS 1332. Data Structures and Algorithms for Applications. 3 Credit Hours.

Computer data structures and algorithms in the context of object-oriented programming. Focus on software development towards applications.

CS 1332R. CS 1332 Recitation. 0 Credit Hours.

Recitation for CS 1332.

CS 1371. Computing for Engineers. 3 Credit Hours.

Foundations of computing with an introduction to design and analysis of algorithms and an introduction to design and construction of programs for engineering problem-solving.

CS 1371R. CS 1371 Recitation. 0 Credit Hours.

Recitation for CS 1371.

CS 1372. Structured Program Design for Engineers. 3 Credit Hours.

Design, analysis and implementation of programs for engineering problem-solving using ANSI Standard C, with an introduction to C++.

CS 1801. Special Topics. 1 Credit Hour.

Courses of timely interest to the profession, conducted by resident or visiting faculty.

CS 1802. Special Topics. 2 Credit Hours.

Courses of timely interest to the profession, conducted by resident or visiting faculty.

CS 1803. Special Topics. 3 Credit Hours.

Courses of timely interest to the profession, conducted by resident or visiting faculty.

CS 1804. Special Topics. 4 Credit Hours.

Courses of timely interest to the profession, conducted by resident or visiting faculty.

CS 1805. Special Topics. 5 Credit Hours.

Courses of timely interest to the profession, conducted by resident or visiting faculty.

CS 1XXX. Computer Sci Elective. 1-21 Credit Hours.

CS 2050. Introduction to Discrete Mathematics for Computer Science. 3 Credit Hours.

Proof methods, strategy, correctness of algorithms over discrete structures. Induction and recursion. Complexity and order of growth. Number theoretic principles and algorithms. Counting and computability. Credit not allowed for both CS 2050 and CS 2051.

CS 2050R. CS 2050 Recitation. 0 Credit Hours.

Recitation for CS 2050.

CS 2051. Honors - Induction to Discrete Mathematics for Computer Science. 3 Credit Hours.

Proof methods, strategy, correctness of algorithms over discrete structures. Induction and recursion. Complexity and order of growth. Number theoretic principles and algorithms. Counting and computability. Credit not allowed for both CS 2051 and CS 2050.

CS 2110. Computer Organization and Programming. 4 Credit Hours.

An introduction to basic computer hardware, machine language, assembly language, and C programming.

CS 2200. Computer Systems and Networks. 4 Credit Hours.

A broad exposure to computer system structure and networking including software abstractions in operating systems for orchestrating the usage of the computing resources.

CS 2261. Media Device Architectures. 4 Credit Hours.

Controlling the interface between hardware and software in media devices. Machine-level programming (e.g., in C) to create graphics, generate sound, and support user interaction.

CS 2316. Data Manipulation for Science and Industry. 3 Credit Hours.

Reading, manipulating, and exporting data for engineering, business, and scientific applications. Covers GUI's, File I/O, basic SQL, and web scraping. Emphasis on software development.

CS 2316R. CS 2316 Recitation. 0 Credit Hours.

Recitation for CS 2316.

CS 2335. Software Practicum. 3 Credit Hours.

Methods for solving large programming problems. Techniques for quality assurance, managing programs, working in teams, analyzing problems, and producing effective solutions.

CS 2340. Objects and Design. 3 Credit Hours.

Object-oriented programming methods for dealing with large programs. Focus on quality processes, effective debugging techniques, and testing to assure a quality product.

CS 2345. Advanced Practical Object-Oriented Programming. 4 Credit Hours.

This course presents important programming principles that should be considered when using a non-automatic memory management complex language (such as C++). Templating, generic programming, resource acquisition is initialization (RAII), and smart pointers are a few examples. Credit not awarded for both CS 2345 and ECE 2036.

CS 2600. Knowledge Representation and Processing. 4 Credit Hours.

Introduction to the representation and manipulation of complex symbolic and sub-symbolic information.

CS 2698. Undergraduate Research Assistantship. 1-12 Credit Hours.

Independent research conducted under the guidance of a faculty member.

CS 2699. Undergraduate Research. 1-12 Credit Hours.

Independent research conducted under the guidance of a faculty member.

CS 2701. Startup Lab: Introduction to Technology Ventures. 3 Credit Hours.

Elements of technology venture creation including opportunity identification and validation, ideation, customer discovery, markey analysis, minimum viable product development, business models, intellectual property, and capital raises. Cross-listed with COE 2701.

CS 2701R. CS 2701 Recitation. 0 Credit Hours.

Recitation for CS 2701.

CS 2801. Special Topics. 1 Credit Hour.

Courses of timely interest to the profession, conducted by resident or visiting faculty.

CS 2802. Special Topics. 2 Credit Hours.

Courses of timely interest to the profession, conducted by resident or visiting faculty.

CS 2803. Special Topics. 3 Credit Hours.

Courses of timely interest to the profession, conducted by resident or visiting faculty.

CS 2804. Special Topics. 4 Credit Hours.

Courses of timely interest to the profession, conducted by resident or visiting faculty.

CS 2805. Special Topics. 5 Credit Hours.

Courses of timely interest to the profession, conducted by resident or visiting faculty.

CS 2XXX. Computer Sci Elective. 1-21 Credit Hours.

CS 3001. Computing, Society, and Professionalism. 3 Credit Hours.

Examines the role and impact of information and communication technology in society, with emphasis on ethical, professional, and public policy issues.

CS 3101. Computer Science Ventures. 3 Credit Hours.

Students will learn how computer-science-based ventures are developed. The course is project-based. Students propose, analylze, pitch, design, implement, package and market web-2.0 and virtual-world-based products and services.

CS 3210. Design of Operating Systems. 3 Credit Hours.

Operating systems concepts, including multi-threading, scheduling, synchronization, communication, and access control. Projects will cover design and implementation of several operating systems components.

CS 3220. Computer Structures: Hardware/Software Codesign of a Processor. 3 Credit Hours.

Principles in pipelined processor design, with emphasis on the need for a close interaction between code generation and architecture.

CS 3240. Languages and Computation. 3 Credit Hours.

Interpreters as abstract machines and the tools used to construct them, such as scanners and parsers. An introduction to models of computation as embodied by different programming languages. Limits of and relationships between these models.

CS 3251. Computer Networking I. 3 Credit Hours.

Introduction to problems in computer networking, including error recovery, medium access, routing, flow control, and transport. Emphasis on current best practice. Includes programming of networked applications.

CS 3300. Introduction to Software Engineering. 3 Credit Hours.

Team-based project class to introduce and apply software engineering principles and practices.

CS 3311. Part 1 of a 2 semester project design and implementation sequence conjoined with Tech Communications. 1 Credit Hour.

Part 1 of a 2 semester project design and implementation sequence conjoined with Technical Communications. Prepare requirements, design and project plans. Develop a basic prototype of the desired system. Project is completed in CS 3312-Project Implementation. Credit will not be awared for CS 3311 and CS 4911.

CS 3312. Project Implementation. 2 Credit Hours.

The second part of a 2 semester project design and implementation sequence conjoined with Technical Communications. Implement a project designed in CS 3311. Credit will not be awarded for CS 3312 and CS 4911.

CS 3451. Computer Graphics. 3 Credit Hours.

Geometric constuctions; transformations; perception; reflection models; photorealistic; non-photorealistic, and image-based rendering; rendering software and API's; triangle-mesh processing; graphic acceleration; user-interaction, design and animation.

CS 3510. Design and Analysis of Algorithms. 3 Credit Hours.

Basic techniques of design and analysis of efficient algorithms for standard computational problems. NP-Completeness. Credit not allowed for both CS 3510 and CS 3511.

CS 3511. Design and Analysis of Algorithms, Honors. 3 Credit Hours.

Techniques of design and analysis of efficient algorithms for standard computational problems. NP-Completeness Project. Credit not allowed for both CS 3511 and CS 3510.

CS 3600. Introduction to Artificial Intelligence. 3 Credit Hours.

An introduction to artificial intelligence and machine learning. Topics include intelligent system design methodologies, search and problem solving, supervised and reinforced learning.

CS 3630. Introduction to Perception and Robotics. 3 Credit Hours.

Covers fundamental problems and leading solutions for computer and robot perception and action from the point of view of autonomous robot navigation.

CS 3651. Prototyping Intelligent Devices. 4 Credit Hours.

Hands-on course teaching the fundamentals of electronics of electrical and mechanical prototyping.

CS 3651R. CS 3651 Recitation. 0 Credit Hours.

Recitation for CS 3651.

CS 3743. Analysis of Emerging Technologies. 3 Credit Hours.

Analysis of emerging technologies and their impacts for firm practice, market practice, policy, and society. Credit not allowed for both CS 3743 and MGT 3743 or ME 3743.

CS 3744. Managing Product, Service & Technology Development. 3 Credit Hours.

Analysis of the managerial challenges of the product development process.

CS 3750. Human Computer Interface Design and Evaluation. 3 Credit Hours.

Human computer interface is considered in terms of user-system compatibility. Concepts in human factors and interface design are covered in relation to capabilities of both humans and computers. Crosslisted with PSYC 3750.

CS 3751. Introduction to User Interface Design. 3 Credit Hours.

Describes the characteristics of interaction between humans and computers and demonstrates techniques for the design and evaluation of user interfaces and computational systems.

CS 3790. Introduction to Cognitive Science. 3 Credit Hours.

Multidisciplinary perspectives on cognitive science. Interdisciplinary approaches to issues in cognition, including memory, language, problem solving, learning, perception, and action. Crosslisted with PST, PSYC, and ISYE 3790.

CS 3801. Special Topics. 1 Credit Hour.

Courses of timely interest to the profession, conducted by resident or visiting faculty.

CS 3802. Special Topics. 2 Credit Hours.

Courses of timely interest to the profession, conducted by resident or visiting faculty.

CS 3803. Special Topics. 3 Credit Hours.

Courses of timely interest to the profession, conducted by resident or visiting faculty.

CS 3804. Special Topics. 4 Credit Hours.

Courses of timely interest to the profession, conducted by resident or visiting faculty.

CS 3805. Special Topics. 5 Credit Hours.

Courses of timely interest to the profession, conducted by resident or visiting faculty.

CS 3873. Special Topics. 3 Credit Hours.

Special Topics in Computer Science.

CS 3XXX. Computer Sci. 1-21 Credit Hours.

CS 4001. Computing, Society, and Professionalism. 3 Credit Hours.

Examines the role and impact of information and communication technology in society, with emphasis on ethical, professional, and public policy issues. Credit not allowed for both CS 4001 and 4002.

CS 4002. Robots and Society. 3 Credit Hours.

Examines the role and impact of robotics, distributed sensing and actuation, ubiquitous computing and related technology in society, emphasizing ethical, professional and public policy issues. Credit not allowed for both CS 4001 and 4002.

CS 4003. AI, Ethics, and Society. 3 Credit Hours.

This course covers various Artificial Intelligence and bias mitigation techniques that can be used to counterbalance the potential misuse and abuse of learning from data.

CS 4005. Next-Generation Computing Technologies. 3 Credit Hours.

Students will explore new paradigms in how content is created, distributed, and consumed, with hands-on demos of next-generation computing technologies.

CS 4010. Introduction to Computer Law. 3 Credit Hours.

Provides an introduction to copyrights, patents, trade secrets, trademarks, and commercial law pertaining to computer software and hardware.

CS 4052. Systems Analysis and Design. 3 Credit Hours.

An introductory course on the development life cycle of business information systems. It covers analysis and design tools and methodology. Credit not allowed for both CS 4052 and MGT 4045.

CS 4057. Business Process Analysis and Design. 3 Credit Hours.

Business processes are the mechanisms by which work is organized and performed. This course covers the analysis of business technology. Credit will not be awarded for both CS 4057 and MGT 4057.

CS 4210. Advanced Operating Systems. 3 Credit Hours.

Operating system abstractions and their implementations, multi-threading, efficient inter-address communication, high-level synchronization, introduction to multi-processor and distributed operating systems, real-time systems. Credit is not awarded for both CS 4210 and CS 6210.

CS 4220. Programming Embedded Systems. 3 Credit Hours.

Design principles, programming techniques, and case studies of embedded real-time systems. Interface techniques and devices. Representations and reasoning about physical processes.Credit not awarded for both CS 4220 and CS 6235.

CS 4220R. CS 4220 Recitation. 0 Credit Hours.

Recitation for CS 4220.

CS 4233. Parallel Computer Architecture. 3 Credit Hours.

The objective of this course is to develop an in-depth understanding of the design, implementation, and evaluation of modern parallel computers. Credit not allowed for both CS 4233 and CS 7110.

CS 4235. Introduction to Information Security. 3 Credit Hours.

Terms/concepts, threats, controls; problem definition; comprehensive information security model; security for operating systems, databases, network/distributed systems; administering security; legal/ethical/policy issues. Credit not allowed for both CS 4235 and CS 6035.

CS 4237. Computer and Network Security. 3 Credit Hours.

Fundamental concepts and principles of computer security, operating system and database security, secret key and public key cryptographic algorithms, hash functions, authentication, firewalls and intrusion detection systems, IPSec ad VPN, and wireless security.

CS 4238. Computer Systems Security. 3 Credit Hours.

Trusted computing base, hardware support for protection and virtualization, authentication, access control and authorization, discretionary and mandatory security policies, secure kernel design, and secure databases. Students cannot receive credit for CS 4238 and CS 6238.

CS 4239. Enterprise Cybersecurity Management. 3 Credit Hours.

The duties and concerns of an enterprise Chief Information Security Officer including strategy, cybersecurity operations, risk management, and governance.

CS 4240. Compilers, Interpreters, and Program Analyzers. 3 Credit Hours.

Study of techniques for the design and implementation of compilers, interpreters, and program analyzers, with consideration of the particular characteristics of widely used programming languages.

CS 4245. Introduction to Data Mining and Analysis. 3 Credit Hours.

Computational techniques for analysis of large, complex datasets, covering fundamental aspects as well as modern data mining and analysis techniques. Cross-listed with ISYE 4245.

CS 4251. Computer Networking II. 3 Credit Hours.

Principles of computer networks, including medium access, ARQ protocols, routing, congestion avoidance, and control. Emphasis on design options and tradeoffs. Includes significant network application programming.

CS 4255. Introduction to Network Management. 3 Credit Hours.

Introduction to SNMP-based network management. Practical application to network and system management including hands-on lab practice.

CS 4260. Telecommunications Systems. 3 Credit Hours.

Study of telecommunication systems emphasizing functional roles of the various portions of the system and how various functional components support and interact with one another.

CS 4261. Mobile Applications and Services for Converged Networks. 3 Credit Hours.

This course provides an introduction to mobile applications and services with an emphasis on voice and data service integration in modern commercial networks.

CS 4262. Network Security. 3 Credit Hours.

Fundamental concepts of network information security, including applied cryptography, secure access methods, and vulnerabilities in network protocols and network applications. Students cannot receive credit for CS 4262 and CS 6262.

CS 4263. Psychology of Cybersecurity. 3 Credit Hours.

This course will explore psychological processes relevant to cybersecurity. Students will gain an appreciation for psychological influence factors inherent in the current cyberspace environment.

CS 4270. Data Communications Laboratory. 3 Credit Hours.

Detailed study of the principles of data transmission systems and their performance, reinforced by laboratory exercises.

CS 4280. Survey of Telecommunications and the Law. 3 Credit Hours.

Overview of telecommunication regulation at the federal, state, and judicial levels; review of FCC policies and restrictions on Bell operating companies under the AT&T Consent Agreement.

CS 4290. Advanced Computer Organization. 3 Credit Hours.

Topics concerning the hardware design of computer systems. Advanced techniques in high-performance pipelined central processing units. Memory and I/O systems. Parallel processors including shared-memory multiprocessors and cluster computers. Credit is not allowed for both CS 4290 and any of the following courses: CS 6290, ECE 4100, ECE 6100.

CS 4320. Introduction to Software Processes. 3 Credit Hours.

The course will provide students with an overall context in which software systems are developed from the viewpoint of processes that support development. Software engineering is described as the set of activities developers engage in to create high-quality products within schedule and budget constraints.

CS 4330. Software Engineering Applications. 3 Credit Hours.

Software engineering methods specific to classes of applications or systems, including information systems and embedded, real-time systems.

CS 4342. Software Generation, Testing, and Maintenance. 3 Credit Hours.

Methods and principles for program generation, testing, and managing the evolution of software systems.

CS 4365. Introduction to Enterprise Computing. 3 Credit Hours.

A survey of basic software tools and techniques used in mission-critical systems and applications, combined with in-depth study of fundamental principles underlying enterprise computing. Credit not allowed for both 4365 and CS 6365.

CS 4392. Programming Languages. 3 Credit Hours.

Fundamentals of programming language design and theory. Topics include formal semantics and type systems for imperative, functional, and parallel languages; lambda calculus and its variants; the Curry-Howard Correspondence; techniques for proving language properties and verifying program specifications.

CS 4400. Introduction to Database Systems. 3 Credit Hours.

Comprehensive coverage of mainstream database concepts such as the entity-relationship model, relational databases, query languages, and database design methodology. Includes a project. Credit not allowed for both CS 4400 and CS 6402.

CS 4420. Database System Implementation. 3 Credit Hours.

Study of fundamental software components/algorithms of a database system, including the file manager, query engine, lock manager, and recovery manager. Includes a project component. Credit not allowed for both CS 4420 and CS 6422.

CS 4423. Advanced Database System Implementation. 3 Credit Hours.

Study of advanced topics in implementing a database system, including the query optimizer, concurrency control and recovery protocols. Includes a project component.

CS 4432. Information Systems Design. 3 Credit Hours.

The analysis, design, and implementation of information systems. Topics include requirements analysis, design representations, implementation techniques, and evaluation of systems.

CS 4440. Emerging Database Technologies and Applications. 3 Credit Hours.

The course will cover current developments including distributed, object-oriented, temporal-spatial, Web-based, mobile, and active database technologies, and data warehousing and mining applications.

CS 4452. Human-Centered Computing Concepts. 3 Credit Hours.

Introduction to programming and human-centered principles of computing based on a communications and media computation context. Introduces user interface programming. Credit not awarded for both CS 4452 and CS 1315.

CS 4455. Video Game Design and Programming. 3 Credit Hours.

Techniques for electronic game design and programming, including graphics game engines, motion generation, behavioral control for autonomous characters, interaction structure, social and interface issues of multi-user play, and the business aspects of game development. Credit not allowed for both CS 4455 and CS 6457.

CS 4460. Introduction to Information Visualization. 3 Credit Hours.

Introduction to principles and techniques of information visualization, the presentation of primarily abstract data to help people understand, analyze and make sense of data. Students cannot receive credit for both CS 4460 and CS 6730.

CS 4460R. CS 4460 Recitation. 0 Credit Hours.

This recitation supports the information visualization (CS 4460) course. Sessions will focus on introducing students to technical work with visualization programming languages and grammars important to the course.

CS 4464. Computational Journalism. 3 Credit Hours.

A study of computational and technological advancements in journalism with emphasis on technologies for developing new tools and their potential impact on news and information. Credit not allowed for both CS 4464 and CS 6465.

CS 4470. Introduction to User Interface Software. 3 Credit Hours.

Concepts, techniques, structures, and strategies for implementation of interactive software. Credit not awarded for both CS 4470 and CS 6456.

CS 4472. Design of Online Communities. 3 Credit Hours.

Introduction to the design of online communities. Students study an existing community in depth. Credit not allowed for both CS 4472 and CS 6470.

CS 4475. Computational Photography. 3 Credit Hours.

An introductory course on the scientific, technical, perceptual, and aesthetic principles of pictures. Emphasis is on the techniques of image formation, analysis, merging, modification and their use for depiction of reality on a 2D medium of photographs.

CS 4476. Introduction to Computer Vision. 3 Credit Hours.

Introduction to computer vision including fundamentals of image formation, camera imaging geometry, feature detection and matching, stereo, motion estimation and tracking, image classification and scene understanding. Credit will not be awarded for both CS 4476 and CS 4495 or CS 6476.

CS 4480. Digital Video Special Effects. 3 Credit Hours.

A study of digital multimedia and the analysis and synthesis of digital video. Special attention paid to techniques for generating video special effects.

CS 4488. Procedural Content Generation. 3 Credit Hours.

Students will learn algorithmic techniques for creating geometric models and images that can be used for games, feature films or virtual reality.

CS 4495. Computer Vision. 3 Credit Hours.

An introduction to computer vision and machine perception. An intensive study of the process of generating a symbolic description of the scene by interpretation of images(s).

CS 4496. Computer Animation. 3 Credit Hours.

Motion techniques for computer animation and interactive games (keyframing, procedural methods, motion capture, and simulation) and principles for storytelling, composition, lighting, and interactivity.

CS 4497. Computational Aesthetics. 3 Credit Hours.

Aesthetics plays a key role in society and economy. Students will invent and test beautification algorithms for colors, music, and animations and more.

CS 4510. Automata and Complexity Theory. 3 Credit Hours.

Computational machine models and their language classes. Undecidability. Resource-bounded computations. Central complexity-theoretic concepts such as complexity classes, reducibility and completeness.

CS 4520. Approximation Algorithms. 3 Credit Hours.

Approximation algorithms for NP-hard optimization problems, design and analysis techniques for such algorithms. Credit not allowed for both CS 4520 and CS 7520.

CS 4530. Randomized Algorithms. 3 Credit Hours.

Efficient randomized algorithms with improved performance over deterministic algorithms, or for NP-hard optimization problems, design and analysis techniques for such algorithms. Credit not allowed for both CS 4530 and CS 7530.

CS 4540. Advanced Algorithms. 3 Credit Hours.

Advanced techniques for designing and analyzing efficient algorithms for combinatorial, algebraic, and number theoretic problems. Credit not allowed for both CS 4540 and CS 6505 or CS 4540 and CS 6515.

CS 4550. Scientific Data Processing and Visualization. 3 Credit Hours.

Foundations and algorithms underlying the development and application of tools for the efficient transmission, analysis, filtering, and visualization of large scientific data sets.

CS 4560. Verification of Systems. 3 Credit Hours.

Technique for verifying, validating and testing software and hardware systems. Topics covered will include modeling, abstraction methods, evaluation and certification, and computer-aided verification methods.

CS 4590. Principles and Applications of Computer Audio. 3 Credit Hours.

A well-rounded exploration of digital audio and its importance in current research and applications. Exposes students to the principles, technology, and current research of computer audio.

CS 4605. Mobile and Ubiquitous Computing. 3 Credit Hours.

Investigates the infrastructure required to develop mobile and ubiquitous computing applications and establishes major research themes and experimental practices.Credit not awarded for both CS 4605 and CS 7470.

CS 4611. Artificial Intelligence Problem Solving. 3 Credit Hours.

Basic concepts and methods of AI problem solving, knowledge representation, reasoning, and learning.

CS 4613. Knowledge Systems Engineering. 3 Credit Hours.

Techniques for constructing large knowledge-based systems. Advanced symbolic AI techniques. Constraint systems.

CS 4615. Knowledge-Based Modeling and Design. 3 Credit Hours.

Information-processing theories of modeling and design; topics include design decision-making, problem-solving and learning, and knowledge-based modeling and design.

CS 4616. Pattern Recognition. 3 Credit Hours.

An introductory course on pattern classification and decision problems with applications to character recognition, image analysis, and speech recognition.

CS 4622. Case-Based Reasoning. 3 Credit Hours.

Based on human problem-solving, CBR has had many successes in industry and research. Topics include case representation, indexing and retrieval, similarity assessment, adaptation, learning. Credit not allowed for both CS 4622 and CS 7620.

CS 4625. Intelligent and Interactive Systems. 3 Credit Hours.

Explores how human-computer interaction and machine learning can interact to create personalized information environments. Emphasis on current research efforts from both fields.

CS 4632. Advanced Intelligent Robotics. 3 Credit Hours.

Hands-on course in which students program autonomous mobile robots and solve complex tasks for robot teams.

CS 4635. Knowledge-Based Artificial Intelligence. 3 Credit Hours.

Structured knowledge representation; knowledge-based methods of reasoning and learning; problem-solving, modeling and design.

CS 4641. Machine Learning. 3 Credit Hours.

Machine learning techniques and applications. Topics include foundational issues; inductive, analytical, numerical, and theoretical approaches; and real-world applications. Credit not awarded for both CS 4641 and CS 7641/CSE 6740/ISYE 6740/ECE 4252.

CS 4644. Deep Learning. 3 Credit Hours.

This course will cover the fundamental underpinnings and practice of deep learning, including neural network architectures, optimization algorithms, and applications to perception and Artificial Intelligence.

CS 4646. Machine Learning for Trading. 3 Credit Hours.

This course introduces students to the real world challenges of implementing machine learning based strategies including the algorithmic steps from information gathering to market orders.Credit not awarded for both CS 4646 and CS 7646.

CS 4649. Robot Intelli Planning. 3 Credit Hours.

We investigate algorithms for robots and complex systems that make intelligent decisions. Emphasis on the theoretical and empirical properties of classical, geometric, stochastic/dynamic planning.

CS 4650. Natural Language Understanding. 3 Credit Hours.

Methodologies for designing systems that comprehend natural language. Topics include lexical analysis, parsing, interpretation of sentences, semantic representation, organization of knowledge, and inference mechanisms. Credit not allowed for both CS 4650 and CS 7650.

CS 4660. Introduction to Educational Technology. 3 Credit Hours.

Introduction to the theory and practice of educational technology. Covers learning theory applicable to educational technology, explains major research findings. Credit not awarded for both CS 4660 and CS 6460.

CS 4665. Educational Technology: Design and Evaluation. 3 Credit Hours.

Intensive project class in which students design, implement, and evaluate a piece of educational technology, applying the theory learned in Introduction to Educational Technology.

CS 4670. Computer-Supported Collaborative Learning. 3 Credit Hours.

Research and practice in computer-supported collaborative learning. Review of existing systems and research, as well as evaluation and design methods.

CS 4675. Internet Computing Systems, Services and Applications. 3 Credit Hours.

Focusing on fundamental issues, concepts, techniques, and technical challenges that are critical for designing and developing Internet systems, services and applications. Credit not allowed for both CS 4675 and CS 6675.

CS 4685. Pervasive Systems and Networking. 3 Credit Hours.

In-depth study of systems and wireless networking issues in enabling pervasive computing environments and applications using a hand-on approach.

CS 4690. Empirical Methods for User Interface Design and Evaluation. 3 Credit Hours.

Introduction to empirical methods for gathering requirements and evaluating the end-user and usability of software systems.

CS 4698. Undergraduate Research Assistantship. 1-12 Credit Hours.

Independent research conducted under the guidance of a faculty member.

CS 4699. Undergraduate Research. 1-12 Credit Hours.

Independent research conducted under the guidance of a faculty member.

CS 4710. Introduction to Computing Concepts for Bioinformatics. 4 Credit Hours.

Introduction to programming concepts and computing tools such as formal models and algorithms with applications from conceptual biology. May not be used by computer science majors for degree credit.

CS 4723. Inter Capstone Design. 3 Credit Hours.

Entrepreneurial Junior Design. Teams comprised of CS, ECE, and ME students will design and build prototypes of their invention ideas and explore market fit.

CS 4725. Information Security Strategies and Policies. 3 Credit Hours.

Information security vulnerabilities and risks; legal, cost, privacy, and technology constraints; derivation of strategies; technical and procedural means of achieving desired results. Credit will not be awarded for both CS 4725 and CS 6725 or MGT 4725 or MGT 6725 or PUBP 4725.

CS 4726. Privacy, Technology, Policy, and Law. 3 Credit Hours.

This course takes a multi-disciplinary approach to privacy, a topic of great interest in the technology, policy, ethics, law, and business realms. Credit will not be awarded for both CS 4726 and MGT 4726 or MGT 6726 or CS 6726.

CS 4731. Game AI. 3 Credit Hours.

Examines the expressive possibilities of artificial intelligence techniques in computer games. Students learn AI programming techniques, and how they strongly interface with game design.

CS 4741. Integrative Management Development-Project Preparation. 3 Credit Hours.

Individual and group-based experiential learning activities to develop integrated human system management skills that prepare students for more successful capstone collaboration and learning. Credit not allowed for both CS 4741 and MGT 4741 or ME 4741.

CS 4742. Integrated Computing and Management Capstone Project. 4 Credit Hours.

Project-based course for students in Computing and Management minor to work in interdisciplinary teams on projects provided by corporate affiliates. Credit not allowed for both CS 4742 and MGT 4742 or ME 4742.

CS 4745. Information and Communication Technologies and Global Development. 3 Credit Hours.

Focus on technology design, adoption, and use as seen through the lens of global development.

CS 4752. Philosophical Issues in Computation. 3 Credit Hours.

Metaphysical and epistemological issues in the foundations, methods, and implications of computing. Issues include: minds, brains, and machines; representation and language; simulating nature. Crosslisted with PST 4752.

CS 4770. Mixed Reality Experience Design. 3 Credit Hours.

Focuses on informal design, integration of media theory, HCI and technology issues. Significant group design projects. Credit not awarded for both CS 4770 and LMC 4733/6340/CS 6770.

CS 4791. Integrative Project in Cognitive Science. 3 Credit Hours.

An integrative course in cognitive science focusing on the integration and use of concepts and skills from cognitive science. A different integrative project or set of projects will be taken on each semester; students will contribute on the basis of their background and skill. Crosslisted with PST, PSYC, and ISYE 4791.

CS 4792. Design Project in Cognitive Science. 3 Credit Hours.

Individual project with a cognitive science faculty member, designed as a supplement to the student's senior design project or thesis in their major area. Crosslisted with PST, PSYC, and ISYE 4792.

CS 4793. Integrative Perspectives in Cognitive Science. 3 Credit Hours.

An integrative course in cognitive science which uses a focus topic to deepen interdisciplinary perspective and develop cognitive science knowledge and skills.

CS 4795. GPU Programming for Video Games. 3 Credit Hours.

3-D graphics pipelines. Physically-based rendering. Game engine architectures. GPU architectures. Graphics APIs. Vertex and pixel shader programming. Post-processing effects. Deferred rendering.

CS 4801. Special Topics. 1 Credit Hour.

Courses of timely interest to the profession, conducted by resident or visiting faculty.

CS 4802. Special Topics. 2 Credit Hours.

Courses of timely interest to the profession, conducted by resident or visiting faculty.

CS 4803. Special Topics. 3 Credit Hours.

Courses of timely interest to the profession, conducted by resident or visiting faculty.

CS 4804. Special Topics. 4 Credit Hours.

Courses of timely interest to the profession, conducted by resident or visiting faculty.

CS 4805. Special Topics. 5 Credit Hours.

Courses of timely interest to the profession, conducted by resident or visiting faculty.

CS 4816. Special Topics. 6 Credit Hours.

Special Topics.

CS 4851. Special Topics. 1 Credit Hour.

Special Topics in CS - Lab.

CS 4853. Special Topics. 3 Credit Hours.

Special Topics in CS (lecture and supervised lab)

CS 4854. Special Topics. 4 Credit Hours.

CS 4863. Special Topics. 3 Credit Hours.

Special Topics.

CS 4873. Special Topics. 3 Credit Hours.

CS 4883. Special Topics. 3 Credit Hours.

CS 4893. Special Topics. 3 Credit Hours.

Special Topics for CS (lecture + lab).

CS 4901. Special Problems. 1-21 Credit Hours.

An investigation of significant areas of information in computer science. Guided study and research.

CS 4902. Special Problems. 1-21 Credit Hours.

An investigation of significant areas of information and computer science. Guided study and research.

CS 4903. Special Problems. 1-21 Credit Hours.

An investigation of significant areas of information and computer science. Guided study and research.

CS 4911. Design Capstone Project. 1-21 Credit Hours.

Team-based capstone experience allowing students to analyze a problem for a customer and manage the solution development through the full project life cycle.

CS 4912. Design Capstone Project. 3 Credit Hours.

Team-based capstone experience allowing students to analyze a problem for a customer and manage the solution development through the full project life cycle.

CS 4980. Research Capstone Project. 1-21 Credit Hours.

CS 4XXX. Computer Sci Elective. 1-21 Credit Hours.