2022-2023 Catalog 
    
    May 11, 2024  
2022-2023 Catalog [ARCHIVED CATALOG]

Courses


 

Computer Science

  
  • CS 3040 - Advanced Object Technology Using Java

    3 Credits (Minimum) 3 Credits (Maximum)

    Understand advanced object-oriented concepts and implement software in Java. Topics include swing, beans, class construction, exception handling, threads, graphics, printing, cloning, serialization, collections, event-handling models, model-view-controller and reflection. Apply good OO principles by implementing mid-sized projects in Java. Prer., CS 1450; College of Engineering students only.
  
  • CS 3050 - Social and Ethical Implications of Computing

    1 Credits (Minimum) 1 Credits (Maximum)

    This class will discuss selected topics in ethical, social, political, legal and economic aspects of the application of computers. Each student is expected to research one or more topics, actively participate in discussions, and give a presentation. Written papers may be required. Approved for Compass Curriculum requirement: Writing Intensive. Prer., CS 2080; College of Engineering students only.
  
  • CS 3060 - Object-Oriented Programming Using C++

    3 Credits (Minimum) 3 Credits (Maximum)

    The principal goals of this course are: 1) to learn the fundamentals of object-oriented programming, 2) to gain skill and proficiency in using the C++ programming language, 3) to exercise the C++ language in implementing a moderate sized software system designed with objects. Prer., CS 2060, CS 2080; College of Engineering students only.
  
  • CS 3080 - Python Programming

    3 Credits (Minimum) 3 Credits (Maximum)

    Python basics, advanced topics including working with pdf, excel, JSON, CSV,; decorators, lambda functions, generators, iterators, pattern matching, web scraping, threading, multiprocessing, networking with sockets, servers with Django, scientific computing using Numpy Matplotlib Class Project . Prer., CS 1150, CS 1450.
  
  • CS 3110 - Programming the Mobile Web

    3 Credits (Minimum) 3 Credits (Maximum)

    Provides an introduction to web systems and technologies with focus on the support for mobile platforms. Topics include HTML5, CSS, JavaScript, AJAX, web servers, server side scripting/browser detection, content delivery, iOS, Android, and mobile web application development environments and processes. Prer., CS 1450, CS 2080; College of Engineering students only.
  
  • CS 3160 - Concepts of Programming Languages

    3 Credits (Minimum) 3 Credits (Maximum)

    Evolution of the central concepts of programming languages, describing syntax and semantics, data types, abstract data types, control structures, subprograms, concurrency and exception handling. Prer., CS 2160, and either CS 3020 or CS 3060; College of Engineering students only.
  
  • CS 3300 - Introduction to Software Engineering

    3 Credits (Minimum) 3 Credits (Maximum)

    Students build a solid foundation for developing and maintaining sustainable codebases through modern practices. Version control, project management styles, coding best practices, cloud services, and web technologies used to create deployable products and maintain work. Approved for Compass Curriculum requirement: Navigate. Prer., CS 2080, and CS 3020 or CS 3060 or CS 3080; College of Engineering students only. Meets with ENGR 3300.
  
  • CS 3350 - Team-Based Game Production

    3 Credits (Minimum) 3 Credits (Maximum)

    Students continue working on an existing game, starting from the end of pre-production and continue to Alpha, a milestone that consists of delivery to internal employees (team members) for testing. Prer., CS 1450 or GDD 2200; GDD 2150; PES 1110; College of Engineering students only.
  
  • CS 3400 - User Experience and User Interface Design

    3 Credits (Minimum) 3 Credits (Maximum)

    Introduction to user experience and user interface design. Topics include user needs analysis, usability concepts, design principles, interaction design, prototyping, usability testing, basic web technologies, and visual design principles. The emphasis is to gain practical experience in transforming user needs and product goals into a highly usable screen-based experience. Prer., CS 1150, CS 1450
  
  • CS 3800 - Introduction to Computer Science Research for Undergraduates

    3 Credits (Minimum) 3 Credits (Maximum)

    This course will introduce the basics of doing CS research and survey ongoing research in the field. Students will learn literature review and research techniques by reading research papers across CS topics, preparing written analyses, and giving oral reports. Prer., Junior standing or instructor approval.
  
  • CS 3900 - Entrepreneurship for Computer Scientist

    3 Credits (Minimum) 3 Credits (Maximum)

    Become familiar with the basics of entrepreneurship including intellectual property, patents, business plans, market research, acquiring angel investors, bank loans, venture capital and setting up corporations and LLC.
  
  • CS 3910 - System Administration and Security

    3 Credits (Minimum) 3 Credits (Maximum)

    Covers the installation and configuration of mainstream operating systems, important network services, disaster recovery procedures, and techniques for ensuring the security of the system. Prer., CS 2080; College of Engineering students only.
  
  • CS 4000 - Computer Science Internship

    1 Credits (Minimum) 6 Credits (Maximum)

    Internship at a company, non-profit, government or academic location, covering at least 140 hours, with prior consultation between direct supervisor and professor. Documentation of learning goals, schedules and deliverables needed. Cannot be at student’s regular work place. Prer., Junior standing and 3.0 GPA.
  
  • CS 4001 - Introduction to Computer Science Research

    3 Credits (Minimum) 3 Credits (Maximum)

    This course will introduce the basics of doing CS research and survey ongoing research in the field. Students will read research papers across multiple CS topics and prepare written analyses. Meets with CS 5001.
  
  • CS 4010 - Selected Topics in Computer Science

    1 Credits (Minimum) 3 Credits (Maximum)

    The content of these courses will vary from time to time and reflect the areas of current interest in Computer Science. As the courses continually change, students may take the course several times for elective credit. Prer., Instructor consent, College of Engineering students only.
  
  • CS 4020 - Selected Topics in Computer Science

    1 Credits (Minimum) 3 Credits (Maximum)

    The content of these courses will vary from time to time and reflect the areas of current interest in Computer Science. As the courses continually change, students may take the course several times for elective credit. Prer., Instructor consent, College of Engineering students only.
  
  • CS 4030 - Selected Topics in Computer Science

    1 Credits (Minimum) 3 Credits (Maximum)

    The content of these courses will vary from time to time and reflect the areas of current interest in Computer Science. As the courses continually change, students may take the course several times for elective credit. Prer., Instructor consent, College of Engineering students only.
  
  • CS 4040 - Selected Topics in Computer Science

    1 Credits (Minimum) 3 Credits (Maximum)

    Selected topics in computer science. The content of these courses will vary from time to time and reflect the areas of current interest in computer science. As the courses continually change, students may take the course several times for elective credit. Prer., Instructor consent, College of Engineering students only.
  
  • CS 4050 - Selected Topics in Computer Science

    1 Credits (Minimum) 3 Credits (Maximum)

    The content of these courses will vary from time to time and reflect the areas of current interest in Computer Science. As the courses continually change, students may take the course several times for elective credit. Prer., College of Engineering students only. Meets with CS 5050.
  
  • CS 4060 - Selected Topics in Computer Science

    1 Credits (Minimum) 3 Credits (Maximum)

    The content of these courses will vary from time to time and reflect the areas of current interest in Computer Science. As the courses continually change, students may take the course several times for elective credit. Prer., College of Engineering students only.
  
  • CS 4070 - Selected Topics in Computer Science

    1 Credits (Minimum) 3 Credits (Maximum)

    The content of these courses will vary from time to time and reflect the areas of current interest in Computer Science. As the courses continually change, students may take the course several times for elective credit. Prer., Instructor consent, College of Engineering students only.
  
  • CS 4080 - Selected Topics in Computer Science

    1 Credits (Minimum) 3 Credits (Maximum)

    The content of these courses will vary from time to time and reflect the areas of current interest in Computer Science. As the courses continually change, students may take the course several times for elective credit. Prer., Instructor consent, College of Engineering students only.
  
  • CS 4090 - Selected Topics in Computer Science

    1 Credits (Minimum) 3 Credits (Maximum)

    The content of these courses will vary from time to time and reflect the areas of current interest in Computer Science. As the courses continually change, students may take the course several times for elective credit. Prer., Instructor consent, College of Engineering students only.
  
  • CS 4100 - Compiler Design I

    3 Credits (Minimum) 3 Credits (Maximum)

    Underlying theory and design techniques for compilers. Lexical analysis, top-down and bottom-up parsing algorithms, runtime storage management, syntax directed translation schemes, intermediate code generation. Approved for Compass Curriculum requirement: Summit. Prer., CS 3160, and either CS 4700 or CS 5700; College of Engineering students only. Meets with CS 5100.
  
  • CS 4200 - Computer Architecture I

    3 Credits (Minimum) 3 Credits (Maximum)

    Course covers fundamentals of computer design, instruction set principles and examples, pipelining, advanced pipelining and instruction-level parallelism, memory-hierarchy design and survey of design issues in storage, interconnection network and multiprocessor systems. Prer., CS 2160 or ECE 3430; College of Engineering students only.
  
  • CS 4220 - Computer Networks

    3 Credits (Minimum) 3 Credits (Maximum)

    Course focuses on the basic network and protocol concepts and principles with practical hands-on exercises on network management, network programming, and network planning through the use of industry simulators. Topics include: Internet protocols and routing, local area networks, basic TCP/IP programming, congestion control, packet switching and routing, quality-of-service, and network management. Prer., CS 2060, CS 2150 or MATH 2150; College of Engineering students only.
  
  • CS 4300 - Advanced Software Engineering

    3 Credits (Minimum) 3 Credits (Maximum)

    Software methodologies and practices. A course project provides student teams practical application of software engineering techniques from conception through planning, development, assessment/testing, deployment, and operations while experiencing the related challenges. Approved for Compass Curriculum requirement: Summit. Prer., CS 3160 and CS 3300. Meets with CS 5300.
  
  • CS 4310 - Software Requirements Analysis and Specification

    3 Credits (Minimum) 3 Credits (Maximum)

    Techniques and tools for requirements analysis and specification. Requirements languages and notations. Specification completeness and consistency. Team project in the creation and analysis of a specification of a software system. Current topics in requirements engineering explored in research. Prer., Knowledge of modern programming languages, discrete structures, CS 1450 or equivalent. Recommended: CS 3300 or equivalent. Meets with CS 5310.
  
  • CS 4320 - Software Design

    3 Credits (Minimum) 3 Credits (Maximum)

    Covers methodologies and tools for design of sequential, parallel and distributed software systems. Design language; graphical design representations. Data abstraction, data dictionaries. Data flow design and diagrams. Object-oriented design. Documentation. Team project in the design of a system. Prer., Knowledge of modern programming languages, discrete structures, CS 1450 or equivalent. Recommended: CS 3300 or equivalent. Meets with CS 5320.
  
  • CS 4340 - Software Maintenance

    3 Credits (Minimum) 3 Credits (Maximum)

    Discussion/application of corrective, adaptive, perfective, and preventive software maintenance techniques and tools. Software systems analysis, reverse engineering, re-engineering, regression testing, and configuration management. Project on existing software system. Prer., Knowledge of modern programming languages, discrete structures, CS 1450 or equivalent. Recommended: CS 3300 or equivalent. Meets with CS 5340.
  
  • CS 4350 - Software Project Management

    3 Credits (Minimum) 3 Credits (Maximum)

    Planning, scheduling, costing of projects. Measuring progress, predicting success, controlling failure. Management tools and their use. Effectiveness and efficiency of software engineering environments. Distributed software development. Quality control standards and practices. Prer., Knowledge of modern programming languages, discrete structures, CS 1450 or equivalent. Recommended: CS or equivalent. Meets with CS 5350.
  
  • CS 4420 - Database Systems I

    3 Credits (Minimum) 3 Credits (Maximum)

    Course introduces general database concepts as well as database system technology. The course covers ER and R data models, R-algebra, SQL, data storage and indexing, query optimization, database design and security. Prer., CS 2150 or MATH 2150, CS 3020 or CS 3060 or CS 3080. College of Engineering students only. Meets with CS 5420.
  
  • CS 4435 - Data Mining

    3 Credits (Minimum) 3 Credits (Maximum)

    This course covers introduction to fundamental concepts, data warehousing, data pre-processing, association rules, cluster analysis, classification and prediction, frequent pattern mining, complex data mining applications and trends in data mining. Prer., CS 4420 or 5420. Meets with CS 5435.
  
  • CS 4440 - Big Data

    3 Credits (Minimum) 3 Credits (Maximum)

    Extensive experience in multiple paradigms for Big Data, focusing on: 1) Large-scale data analysis techniques: statistics basics, machine learning, classification; 2) parallel programming techniques: Nvidia GPUs/CUDA; 3) Cloud computing techniques: Map-Reduce, Hadoop, Pig, Hive. Prer., ECE 3610 or MATH 3810; CS 3060; College of Engineering students only. Meets with CS 5440.
  
  • CS 4460 - Intelligent Robotics

    3 Credits (Minimum) 3 Credits (Maximum)

    This course introduces students to the field of robotics. Topics include Robotics Operating System, Agents and agent-based system, swarm intelligence, Unmanned Vehicles (UGV, UAV, AUV), robot teaming, mission planning/management systems, path planning & obstacle avoidance. Prer., CS 2060, CS 2150 or MATH 2150, MATH 1360, CS 1450, and CS 2300 or MATH 3130. Meets with DASE 4460.
  
  • CS 4470 - Data Visualization

    3 Credits (Minimum) 3 Credits (Maximum)

    Animation: basic principles, physically based modeling, algorithms for animation, constraint optimization, use of dynamics in animations, and teleological modeling. Scientific Visualization: overview, foundational techniques, and applications. Prer., CS 2300 or MATH 3130, CS 4720, or instructor consent. Meets with DASE 4770.
  
  • CS 4500 - Operating Systems I

    3 Credits (Minimum) 3 Credits (Maximum)

    Introduces concepts, terminology, and algorithms of operating systems. Describes semaphores, processes, virtual mappings, interrupts, resource allocation and management, protection, synchronization, scheduling, queuing and communication as applied to operating system design and implementation. Prer., CS 2060 or ECE 1021, CS 2080, CS 4200 or CS 5200 or ECE 4480; College of Engineering students only.
  
  • CS 4570 - Computer-based Optimization

    3 Credits (Minimum) 3 Credits (Maximum)

    Computer-Based optimization techniques including simulation, modeling, heuristic methods, genetic algorithms, simulated annealing, duality theory, dynamic programming, and queuing theory. Prer., ECE 1021 or CS 1120 or CS 1450. Meets with DASE 4570.
  
  • CS 4600 - Numerical Computing

    3 Credits (Minimum) 3 Credits (Maximum)

    Algorithms for the solution of nonlinear equations, interpolation and approximation, differentiation, integration, systems of linear equations, ordinary differential equations and least squares. Prer., CS 1450, MATH 2350, and either MATH 3130 or CS 1300; College of Engineering students only. Meets with CS 5600.
  
  • CS 4700 - Computability, Automata and Formal Languages

    3 Credits (Minimum) 3 Credits (Maximum)

    Finite automata and regular expressions, context-free grammars, context-free languages, and pushdown automata, Turning machines, undecidability, the Chomsky hierarchy of formal languages, computational complexity and intractable problems. Prer., CS 2150 or MATH 2150, College of Engineering students only. Meets with CS 5700.
  
  • CS 4710 - Evolutionary Computation

    3 Credits (Minimum) 3 Credits (Maximum)

    Introduction to evolutionary computation with emphasis on genetic algorithms. Includes evolution strategies, evolutionary programming, schemata fitness functions and classifiers, current research topics, messy algorithms, adaptive landscapes. Prer., ECE 3610 or MATH 3810 or QUAN 2010; CS 3160; CS 4720 or CS 4820; or Instructor Permission. Meets with DASE 4710 and CS 5710.
  
  • CS 4720 - Design and Analysis of Algorithms

    3 Credits (Minimum) 3 Credits (Maximum)

    Design methodologies; divide-and-conquer, exhaustive search, dynamic programming. Time and space complexity measures, analysis of algorithms. Survey of important algorithms for searching, sorting, graph manipulation. Tractability: class P and NP, NP complete problems. Prer., CS 1450, CS 2150 or MATH 2150; College of Engineering students only.
  
  • CS 4730 - Algorithmic Game Theory and Multiagent Systems

    3 Credits (Minimum) 3 Credits (Maximum)

    An overview of game theory with emphasis on computational applications. Voting, auctions, zero-sum games, equilibrium concepts, and multiagent learning are covered. Examples draw from engineering, economic, and social models, including electronic commerce, network routing, and robotics. Prer., CS 1450; MATH 3810 or ECE 3610 or QUAN 2010; CS 4700 or CS 4720 or instructor consent. Meets with CS 5730.
  
  • CS 4740 - Networks, Crowds, and Markets: Reasoning about a connected world

    3 Credits (Minimum) 3 Credits (Maximum)

    This course introduces students to the multidisciplinary field of Network Science. Topics include graph theory, modeling the spread of disease and opinion in networks, consensus, measuring the importance of network nodes, pagerank, and influencing social behavior in networks. Prer., CS 2150 or MATH 2150, MATH 1360, CS 1450, CS 2300 or MATH 3130. Meets with CS 5740.
  
  • CS 4780 - Advanced 3D Games and Digital Content Creation

    3 Credits (Minimum) 3 Credits (Maximum)

    Populating virtual worlds with characters and objects. Concentrates on current technology and advanced topics using graphics and VR technology. Typical topics include graphics engines, landscape specializations, wrapping techniques, complex scenes, lighting, shadows, motion control, collisions, dynamics, image-based rendering, multiplayer games, etc., plus advanced features from Siggraph and others. Prer., CS 4800 or CS 5800; College of Engineering students only. Meets with CS 5780.
  
  • CS 4800 - Computer Graphics

    3 Credits (Minimum) 3 Credits (Maximum)

    Fundamental areas of modern raster computer graphics: hardware, software, data structures, mathematical modeling, user interface and manipulation of graphical objects. A subset of the two-dimensional GKS is examined and implemented with emphasis placed upon segmented display files and instance modeling. Basic to all graphic programs written are the ergonomic requirements of the user. Required programs are in the areas of animation, paint systems, polygon filling and clipping, and curve generation. Prer., CS 1450 or GDD 2200, MATH 3130 or CS 2300; College of Engineering students only. Meets with CS 5800.
  
  • CS 4820 - Artificial Intelligence

    3 Credits (Minimum) 3 Credits (Maximum)

    Course covers the foundation of artificial intelligence: search techniques, first-order predicate calculus and knowledge representation. Also covers advanced topics such as speech and natural language processing and learning. Approved for Compass Curriculum requirement: Writing Intensive. Prer., CS 2150 MATH 2150, CS 3160, or instructor consent. Meets with CS 5820.
  
  • CS 4850 - Bioinformatics and Computational Biology

    3 Credits (Minimum) 3 Credits (Maximum)

    Review of molecular and cell biology; bioinformatics databases; pairwise sequence alignment algorithms; Markov Chains, Hidden Markov Models; evolutionary models; Phylogenetic trees; gene recognition; protein structure prediction. Prer., MATH 3810, CS 4720; College of Engineering students only. Meets with CS 5850.
  
  • CS 4860 - Machine Learning

    3 Credits (Minimum) 3 Credits (Maximum)

    Introduction to machine learning followed by a selection of machine learning topics such as regression, Bayesisan learning, Hidden Markov Models, support vector machine, clustering and reinforcement learning. Approved for Compass Curriculum requirements: Writing Intensive. Prer., CS 2150 or MATH 2150; MATH 3130 or CS 2300; CS 3160 or instructor consent. Meets with DASE 4860.
  
  • CS 4870 - Introduction to Artificial Neural Networks

    3 Credits (Minimum) 3 Credits (Maximum)

    The course will cover neural network architectures and learning algorithms. Topics include biological motivation, perceptions, back-propagation, self-organizing maps, recurrent networks, and deep learning. Prer., MATH 2350 or equivalent; good programming skills. Meets with CS 5870.
  
  • CS 4890 - Computational Linguistics

    3 Credits (Minimum) 3 Credits (Maximum)

    Approaches to syntactic processing of natural language: issues in semantic interpretation, pragmatics, or the impact of context and world knowledge of natural language understanding and generation of natural language responses. Prer., CS 2150 or MATH 2150, MATH 3130 or equivalent, CS 3160. Meets with CS 5890.
  
  • CS 4910 - Introduction to Computer Security

    3 Credits (Minimum) 3 Credits (Maximum)

    Students will learn basic cryptography, user authentication, access control, malicious software, network attacks and protection, software security, and operating system security. Students will also perform hands-on security lab exercises. Prer., CS 3300, Senior standing, College of Engineering students only.
  
  • CS 4920 - Introduction to Applied Cryptography

    3 Credits (Minimum) 3 Credits (Maximum)

    Basic security issues in computer communication, classical cryptographic algorithms, symmetric-key cryptography, public-key cryptography, authentication, and digital signatures. Prer., CS 2150 or MATH 2150; CS 3020 or CS 3060 or CS 3080. Meets with CS 5920.
  
  • CS 4930 - Privacy and Censorship

    3 Credits (Minimum) 3 Credits (Maximum)

    This class will cover two topics: privacy from the perspective of organization and individuals, and censorship techniques that censors use to monitor citizenΓÇÖs Internet use and block unwanted network traffic. You will build your knowledge about privacy and censorship by learning about technology-related privacy concerns and mitigation. Prer., CS 2080. Meets with CS 5930.
  
  • CS 4940 - Ethical Hacking

    3 Credits (Minimum) 3 Credits (Maximum)

    Explores the methodologies surrounding ethical hacking and penetration testing. Students will learn various penetration testing techniques according to proven methodologies from NIST, NSA, and EC-Council. Students will learn and exercise reconnaissance, exploitation, analysis, and reporting methods. Prer., CS 3300, CS 4910.
  
  • CS 4950 - Homeland Security and Cyber Security

    3 Credits (Minimum) 3 Credits (Maximum)

    This course examines how homeland security safeguards the United States from domestic catastrophic destruction and investigates cyber security as a priority homeland security concern since a coordinated cyber attack against critical infrastructure could produce the worst catastrophe in the nation’s history. Meets with CS 5950.
  
  • CS 4980 - System Security

    3 Credits (Minimum) 3 Credits (Maximum)

    This course continues deeper exploration of the security of systems comprising components, connections, and software. System security requires a holistic view to identify security problems and devise solutions. Prer., CS 2080, CS 4910.
  
  • CS 4985 - Cybersecurity Metrics and Quantification

    3 Credits (Minimum) 3 Credits (Maximum)

    This course systematically introduces the state-of-the-art in the field of cybersecurity metrics and quantification, including what to measure, how to measure, and how to leverage what can be measured for various cybersecurity decision-making and risk management purposes. Prer., CS 4220, CS 4910, CS 4950. Meets with CS 5985.
  
  • CS 4990 - Tor Anonymity Networks

    3 Credits (Minimum) 3 Credits (Maximum)

    This course introduces the most popular anonymous networks called Tor networks. The course covers basic concept of Tor networks up to state-of-art research on Tor. Prer., CS 4220. Meets with CS 5990.
  
  • CS 5010 - Intensive Computer Science for Graduate Students

    3 Credits (Minimum) 3 Credits (Maximum)

    Intended for prospective graduate students with extensive programming experience. Covers concepts in CS 1150 and CS 1450. Can substitute for these courses in satisfying entrance requirements for M.S. in Computer Science. Does not count towards M.S.or B.S. degrees. Not open to undergraduate. Prer., Knowledge of high-level programming language.
  
  • CS 5020 - Selected Topics in Computer Science

    1 Credits (Minimum) 3 Credits (Maximum)

    Topics vary.
  
  • CS 5030 - Selected Topics in Computer Science

    1 Credits (Minimum) 3 Credits (Maximum)

    Topics vary.
  
  • CS 5050 - Selected Topics in Computer Science

    1 Credits (Minimum) 3 Credits (Maximum)

    The content of these courses will vary from time to time and reflect the areas of current interest in Computer Science. As the courses continually change, students may take the course several times for elective credit. Meets with CS 4050.
  
  • CS 5060 - Selected Topics in Computer Science

    1 Credits (Minimum) 3 Credits (Maximum)

    Topics vary.
  
  • CS 5070 - Selected Topics in Computer Science

    1 Credits (Minimum) 3 Credits (Maximum)

    Topics vary.
  
  • CS 5080 - Selected Topics in Computer Science

    1 Credits (Minimum) 3 Credits (Maximum)

    Topics vary.
  
  • CS 5090 - Selected Topics in Computer Science

    1 Credits (Minimum) 3 Credits (Maximum)

    Topics vary.
  
  • CS 5100 - Compiler Design

    3 Credits (Minimum) 3 Credits (Maximum)

    Underlying theory and design techniques for compilers. Lexical analysis, top-down and bottom-up parsing algorithms, runtime storage management, syntax directed translation schemes, and intermediate code generation. Prer., CS 3160, and CS 4700 or CS 5700; College of Engineering students only. Meets with CS 4100.
  
  • CS 5200 - Computer Architecture I

    3 Credits (Minimum) 3 Credits (Maximum)

    Course covers fundamentals of computer design, instruction set principles and examples, pipelining, advanced pipelining and instruction-level parallelism, memory-hierarchy design and survey of design issues in storage, interconnection network and multiprocessor systems. Prer., CS 2160, Graduate standing.
  
  • CS 5220 - Computer Communication

    3 Credits (Minimum) 3 Credits (Maximum)

    The subject of transmitting information between processors is described in detail. The student is expected to have maturity with hardware and/or real-time concepts. Communication systems, from simple to asynchronous point-to-point links, to those based on complex network architectures will be studied. Material will be oriented toward the computer scientist as a user, designer and evaluator of such systems. Terminology and concepts will be emphasized rather than detailed electronic or physical theory. Prer., CS 2060, CS 2080, and MATH 3810 or ECE 3610. Graduate students only.
  
  • CS 5250 - Multimedia Computing and Communications

    3 Credits (Minimum) 3 Credits (Maximum)

    Design principles of multimedia authoring and communication systems. It covers the interface and characteristics of voice and video processing equipment, multimedia document architectures, media encoding/compression schemes, real-time scheduling of time critical multimedia documents, multimedia editors, multimedia communication standards and communication software. Prer., Graduate standing or instructor permission.
  
  • CS 5260 - Advanced Internet and Web Systems

    3 Credits (Minimum) 3 Credits (Maximum)

    Advanced topics in Internet and WWW systems, TCP/IP network modules in kernel, content switching, web server technologies, web system management, load balancing, web security, and electronic commerce. Prer., CS 3010, CS 5220, or consent of instructor.
  
  • CS 5300 - Advanced Software Engineering

    3 Credits (Minimum) 3 Credits (Maximum)

    Software methodologies and practices. A course project provides student teams practical application of software engineering techniques from conception thru planning, development, assessment/testing, deployment, and operations while experiencing the related challenges. Prer., CS 3160 and CS 3300 or equivalents. Meets with CS 4300.
  
  • CS 5310 - Software Requirements Analysis and Specification

    3 Credits (Minimum) 3 Credits (Maximum)

    Techniques and tools for requirements analysis and requirements specification. Requirements languages and notations. Specification completeness and consistency. Team project in the analysis and specification of a major software system. Prer., CS 1450 or equivalent, knowledge of a modern programming language and discrete structures.
  
  • CS 5320 - Software Design

    3 Credits (Minimum) 3 Credits (Maximum)

    Covers a variety of methodologies and tools for design of sequential, parallel and distributed software systems. Design language; graphical design representations. Data abstraction, data dictionaries. Data flow design and diagrams. Object-oriented design. Documentation. Team project in the design of a major software system. Prer., Graduate students only.
  
  • CS 5330 - Formal Methods of Software Systems Engineering

    3 Credits (Minimum) 3 Credits (Maximum)

    Elements of discrete mathematics. Formal mechanisms for specifying and verifying the correctness, reliability, and efficiency of software systems. State transition, regular expression, context free, and applicative models. Assertions, Hoare axioms, and weakest preconditions. State machine, algebraic, and operational specification techniques. Prer., Graduate students only.
  
  • CS 5340 - Software Maintenance

    3 Credits (Minimum) 3 Credits (Maximum)

    Discussion and application of corrective, adaptive, perfective and preventive software maintenance techniques and tools. Related topics such as software systems analysis, reverse-engineering, re-engineering, regression testing and configuration management are examined. As a project, student teams maintain an existing software system. Prer., Knowledge of modern programming language, discrete structures, Graduate students only.
  
  • CS 5350 - Software Project Management

    3 Credits (Minimum) 3 Credits (Maximum)

    Planning, scheduling, costing of projects. Measuring progress, predicting success, controlling failure. Management tools and their use. Effectiveness and efficiency of software engineering environments. Distributed software development. Quality control standards and practices. Prer., Knowledge of modern programming, NG language, data structures and algorithms, and discrete structures.
  
  • CS 5360 - Software Product Assurance

    3 Credits (Minimum) 3 Credits (Maximum)

    Principles, techniques and tools for producing quality software systems. The first half of this course focuses on software product assurance processes. The second half covers a variety of software testing techniques. Prer., Graduate students only.
  
  • CS 5371 - Software Testing for Mobile Devices and Embedded Systems

    3 Credits (Minimum) 3 Credits (Maximum)

    This course covers theoretical and practical aspects of Software Testing for mobile devices and embedded systems and introduces students to recent research in the area. Students develop a research proposal in the subject area on a topic of their choice. Prer., CS 1450 and either CS 3110 or CS 4500. Graduate students only.
  
  • CS 5380 - Object-Oriented Software Development

    3 Credits (Minimum) 3 Credits (Maximum)

    Principles of object-oriented problem-solving, object-oriented analysis and object-oriented design. Development of class hierarchies, use of polymorphism and inheritance, criteria for good design, semester project. Prer., CS 3300 or consent of instructor.
  
  • CS 5390 - Software Systems Engineering Project Laboratory

    3 Credits (Minimum) 3 Credits (Maximum)

    Students participate in a project involving the development or maintenance of a software system intended for external distribution and use. Duties include requirements analysis, specification, design, implementation, testing, quality assurance, configuration management and documentation. Projects come from the university and from outside sources. Students are evaluated based on their project work and an oral presentation describing their work and critiquing their results. Prer., CS 5310, CS 5320, CS 5340, CS 5360.
  
  • CS 5420 - Database Systems I

    3 Credits (Minimum) 3 Credits (Maximum)

    Course introduces general database concepts as well as database system technology. The course covers ER and R data models, R-algebra, SQL, data storage and indexing, query optimization, database design and security. Prer., CS 2150 or MATH 2150, and CS 3020 or CS 3060 or CS 3080. College of Engineering Graduate Students only. Meets with CS 4420.
  
  • CS 5430 - Database Systems II

    3 Credits (Minimum) 3 Credits (Maximum)

    Course covers advanced database topics including transaction management, parallel and distributed databases, internet databases, decision support, data mining, object and object-relational database systems, spatial data management and other current research issues. Prer., CS 4420 or CS 5420.
  
  • CS 5435 - Data Mining

    3 Credits (Minimum) 3 Credits (Maximum)

    This course covers introduction to fundamental concepts, data warehousing, data pre-processing, association rules, cluster analysis, classification and prediction, frequent pattern mining, complex data mining applications and trends in data mining. Prer., CS 4420 or 5420. Meets with CS 4435.
  
  • CS 5440 - Big Data

    3 Credits (Minimum) 3 Credits (Maximum)

    Extensive experience in multiple paradigms for Big Data, focusing on: 1) Large-scale data analysis techniques: statistics basics, machine learning, classification; 2) parallel programming techniques: Nvidia GPUs/CUDA; 3) Cloud computing techniques: Map-Reduce, Hadoop, Pig, Hive. Prer., CS 3060, and either ECE 3610 or MATH 3810. Graduate students only. Meets with CS 4440.
  
  • CS 5450 - KDD (Knowledge Discovery in Databases) Applications in Bioinformatics and Neurosciences

    3 Credits (Minimum) 3 Credits (Maximum)

    Both a theoretical and hands-on course that presents data mining concepts common to the art of KDD including Discretization, Rought Set Theory, Fuzzy Logic, Domain Adaptation and Discrete Finite Automata Trees. The application of these will be in terms of data mining with Weka, Matlab, Scal and Java. Prer., computer science familiarity. Prer., Graduate students only.
  
  • CS 5460 - Intelligent Robotics

    3 Credits (Minimum) 3 Credits (Maximum)

    This course introduces students to the field of robotics. Topics include Robotics Operating System, Agents and agent-based system, swarm intelligence, Unmanned Vehicles (UGV, UAV, AUV), robot teaming, mission planning/management systems, path planning & obstacle avoidance. Prer., CS 2060, CS 2150 or MATH 2150, MATH 1360, CS 1450, CS 2300 or MATH 3130. Meets with CS 4460.
  
  • CS 5470 - Data Visualization

    3 Credits (Minimum) 3 Credits (Maximum)

    The course offers conceptual and practical knowledge and data representation and visualization. Topics include overview, Data & Visualization Foundation, Human Perception, techniques, applications & history of visualization, and will incorporate utilization of Tableau & R for data visualization. Graduate Students Only. Prer., CS 2300 or MATH 3130; CS 4720; or instructor consent. Meets with CS 4470.
  
  • CS 5500 - Operating Systems I

    3 Credits (Minimum) 3 Credits (Maximum)

    Introduces concepts, terminology, and algorithms of operating systems. Describes semaphores, processes, virtual mappings, interrupts, resource allocation and management, protection, synchronization, scheduling, queuing and communication as applied to operating system design and implementation. Prer., CS 2060, CS 2080, and CS 4200/5200. Graduate students only.
  
  • CS 5510 - Distributed Systems

    3 Credits (Minimum) 3 Credits (Maximum)

    Conveys insight into, and knowledge of, the principles and practice underlying the distributed systems, both Internet-based and otherwise. Describes major developments in inter-process communication, remote invocation, distributed file systems, replication and load balancing, distributed shared memory, and distributed multimedia systems. Prer., CS 4500 or CS 5500.
  
  • CS 5520 - Operating System Support for Security

    3 Credits (Minimum) 3 Credits (Maximum)

    Covers the configuration and management of operating systems for security-related applications, OS hardening, access control, security policies, security and protection mechanisms, virtual machines, the exploits related to operating systems and their defenses, and mandatory access control and multilevel security. Prer., CS 2060, CS 2080.
  
  • CS 5530 - Mobile and Wireless Systems

    3 Credits (Minimum) 3 Credits (Maximum)

    Considers aspects of mobile and wireless systems including the support for creating mobile applications, OS, programming, network protocols, security, and their interactions with web systems and cloud computing. Prer., CS 5220, Graduate students only.
  
  • CS 5540 - Datacenters and Cloud Computing

    3 Credits (Minimum) 3 Credits (Maximum)

    This course focuses on recent research in cloud computing and datacenters, including automated cloud resource management, data center reliability, and secure and scalable data center design. Prer., CS 4500 or CS 5500; Graduate students only.
  
  • CS 5550 - Computer Systems Performance Evaluation

    3 Credits (Minimum) 3 Credits (Maximum)

    Perspectives of performance evaluation, measurement techniques; hardware, software, and firmware tools, simulation techniques, analytical techniques; workload characterization, system selection; system tuning; performance tracking, performance prediction in the design phase and cost-benefit analysis. Prer., CS 4500 or CS 5500.
  
  • CS 5600 - Numerical Computing

    3 Credits (Minimum) 3 Credits (Maximum)

    Algorithms for the solution of nonlinear equations, interpolation and approximation, differentiation, integration, systems of linear equations, ordinary differential equations and least squares. Prer., CS 1450, MATH 2350, MATH 3130. Graduate students only. Meets with CS 4600.
  
  • CS 5670 - Discrete Simulation I

    3 Credits (Minimum) 3 Credits (Maximum)

    Examines concepts and methods of discrete event simulation. Compares major modeling methods. Discusses statistical issues including random number generation, arrival processes, analysis of simulation output, verification and validation of models and simulation programs. Describes in detail the use of a major discrete event simulation language. Discusses simulation level of detail and simplifying assumptions. Prer., CS 2080; ECE 3610 or MATH 3810.
  
  • CS 5700 - Computability, Automata, and Formal Languages

    3 Credits (Minimum) 3 Credits (Maximum)

    Finite automata and regular expressions; context-free grammars, context-free languages, and pushdown automata; Turing machines; undecidability; the Chomsky Hierarchy of Formal Languages; computational complexity, and intractable problems. Prer., CS 2150 or MATH 2150. College of Engineering Graduate Students only. Meets with CS 4700.
  
  • CS 5710 - Evolutionary Computation

    3 Credits (Minimum) 3 Credits (Maximum)

    Introduction to evolutionary computation with emphasis on genetic algorithms. Includes evolution strategies, evolutionary programming, schemata fitness functions and classifiers, current research topics, messy algorithms, and adaptive landscapes. Prer., ECE 3610 or MATH 3810 or QUAN 2010; and CS 5720 or CS 5820; or instructor permission. Meets with CS 4710, DASE 4710.
  
  • CS 5720 - Design and Analysis of Algorithms

    3 Credits (Minimum) 3 Credits (Maximum)

    Design methodologies: divide-and-conquer, exhaustive search, dynamic programming. Time and space complexity measures, analysis of algorithms. Survey of important algorithms for searching, sorting, and graph manipulation. Tractability: Class P and NP, NP-complete problems. Prer., CS 1450 and CS 2150 or MATH 2150. College of Engineering Graduate Students only. Meets with CS 4720.
 

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