School of Electrical Engineering and Computer Science
Mission
Consistent with the mission of the university and college, the mission of the School of Electrical Engineering and Computer Science at Oregon State University provides a comprehensive education to all of our students that enables them to become successful and ethical professionals by delivering high quality programs that foster lifelong learning and a sense of community, and that meet the needs of our stakeholders.
The school has a tradition of strong undergraduate programs and one of the largest graduate programs within the university, with internationally recognized research programs in the areas of mixed-signal integration, artificial intelligence and machine learning, computer graphics and vision, energy systems, multimedia and networking, materials and devices, end-user software, human-computer interaction, and signal processing and communications systems.
The School of EECS faculty, advising procedures, undergraduate programs’ educational objectives, graduate program application procedures, research areas, and many other aspects may be found at the school’s website.
The Multiple Engineering Cooperative Program (MECOP) offers internships to selected students in the discipline areas of computer science, electrical engineering, and computer engineering.
Electrical and Computer Engineering
The School of EECS offers programs leading to the BS, MS, MEng, and Ph.D. degrees in Electrical and Computer Engineering (ECE).
Electrical and computer engineers engage in the design, construction and programming, and applications of electronic and integrated circuits, digital computers and embedded systems, power generation and utilization, communication and computer networks, electronic materials and devices, electromagnetic, microwave and optical circuits and systems, control systems, and signal processing and conditioning.
Undergraduate Programs
Coursework leading to the BS degree consists of courses in many of these topics as well as courses in the supporting disciplines of mathematics, physical sciences, and computer science. Students select further study beyond the required courses for either more depth in a subdiscipline or further breadth across engineering. Students fulfill humanities and social science requirements as specified by the university’s baccalaureate core program. The BS program is supported by well-equipped laboratories providing hands-on experience with electronic circuits, digital logic, electronic and photonic materials, electric machines, IC design, optoelectronics, RF techniques, instrumentation, and microprocessors.
The program incorporates engineering design principles throughout the undergraduate curriculum. This includes the integration of societal, economic, legal, regulatory, ethical, environmental, and other factors into the technical aspects of engineering design. Design activities begin in the freshman orientation sequence, which incorporates open-ended design problems and continues throughout the curriculum. The design experience culminates with a yearlong senior design project. During the senior design experience, students working in teams complete all phases of a design project under the supervision of a faculty member.
Graduates of this program are prepared to either seek industrial employment or pursue advanced graduate degrees.
The Bachelor of Science and Honors Bachelor of Science degrees in Electrical & Computer Engineering are accredited by the Engineering Accreditation Commission of ABET, http://www.ABET.org.
Graduate Programs
The ECE graduate program provides opportunities for both MS and Ph.D. thesis programs and an MEng coursework-based program in the following areas: analog/mixed signals, communications and signal processing, networking and computer systems, energy systems, materials and devices, and RF/microwave/mmWave and photonics. Graduate work is supported by the school’s well-equipped laboratory facilities. Opportunities exist for graduate students to participate in many research projects sponsored by private industry and government agencies.
Computer Science
The School of EECS offers programs leading to BA, BS, MA, MAIS, MEng, MS, and PhD degrees in Computer Science; and MEng, MS, and PhD degrees in Artificial Intelligence.
Computer science is the heart of cutting-edge computing software. Computer scientists invent software that enables computers to do new things. They design programming languages, compilers, operating systems, games, databases, computer networks, and user interfaces. They solve complex challenging problems in a wide range of fields that can make a positive difference in the world.
Computer science majors learn skills to create realistic graphics, design new problem-solving tools that anyone can use, and create new solutions for business, medicine, and entertainment. Their programming skills enable computers to "learn" as they process data as well as assist in social communication and technologies to improve the lives of disadvantaged persons.
Computer science offers a foundation that allows graduates to make software work well, make it fast, make it work correctly, find where innovation is needed, and understand the people who will be using it, so as to make it genuinely useful and compelling to people. Much of computer science coursework is carried out in teams, and students gain experience in teamwork, professionalism in writing, working with clients, and making presentations of their teams’ efforts.
Undergraduate Programs
Coursework leading to the BS degree consists of required courses in many of these topics, as well as courses in supporting disciplines such as mathematics. The BS program is supported by well-equipped computer laboratories. Students select further study beyond the required core courses, opting for more depth in computer science, more breadth in business and entrepreneurship, or grounding in an application area for their computing skills. The BS program culminates with a yearlong senior capstone project, where students working in teams complete all phases of a software project under the supervision of a faculty member.
Our undergraduate educational mission is to provide a comprehensive, state-of-the-art education that prepares our students to be successful in engineering practice, advanced studies and research.
The Bachelor of Science (BS) and Honors Bachelor of Science (HBS) degrees for the Computer Systems Option (CSO) of the Computer Science program are accredited by the Computing Accreditation Commission of ABET, http://www.ABET.org.
Graduate Programs
The CS graduate program provides opportunities for MS and Ph.D. thesis, MS non-thesis, and MEng coursework-based degrees in the following areas: artificial intelligence, machine learning & data sciences, computer graphics, visualization & vision, cybersecurity & cryptography, networking & computer systems, human-computer interaction, programming languages, software engineering, and theoretical computer science. Graduate work is supported by the school’s well-equipped laboratory facilities. Opportunities exist for graduate students to participate in many research projects sponsored by private industry and government agencies.
The AI graduate program provides opportunities for MEng, MS, and PhD degrees and graduate minors in AI. The program is supported by research faculty members in the schools of EECS and MIME who work in all core areas of AI including machine learning, knowledge representation, reasoning under uncertainty, sequential decision making, natural language processing, computer vision, and robotics.
Undergraduate Programs
Majors
-
Computer Science
Options:
Minor
Certificate
Graduate Programs
Majors
Minors
Tom Weller, School Head
1148 Kelley Engineering Center
Oregon State University
Corvallis, OR 97331-5501
Phone: 541-737-3617
Email: eecs@oregonstate.edu
Website: https://engineering.oregonstate.edu/EECS
Faculty
Artificial Intelligence (AI)
AI 501, RESEARCH, 1-16 Credits
This course is repeatable for 99 credits.
AI 503, THESIS, 1-16 Credits
This course is repeatable for 99 credits.
AI 505, READING AND CONFERENCE, 1-16 Credits
This course is repeatable for 99 credits.
AI 506, PROJECTS, 1-16 Credits
This course is repeatable for 99 credits.
AI 507, SEMINAR, 1-16 Credits
This course is repeatable for 99 credits.
AI 510, OCCUPATIONAL INTERNSHIP, 1-4 Credits
This course is repeatable for 99 credits.
AI 530, BIG IDEAS IN AI, 3 Credits
Introduces the major ideas and subtopics in the field of Artificial Intelligence (AI) including philosophical foundations, heuristic search, optimization, knowledge representation, reasoning under uncertainty, machine learning, computer vision, natural language processing, sequential decision making, and social and ethical issues. Covers the historical context as well as recent advances.
Recommended: Programming ability in a high-level language (such as C++ or Python)
Available via Ecampus
AI 531, ARTIFICIAL INTELLIGENCE, 4 Credits
Intelligent agents. Problem-solving as heuristic search. Adversarial search. Constraint satisfaction methods; Arc-consistency. Knowledge representation and reasoning. Propositional logic. Reasoning with propositional logic: algorithms for satisfiability. First-order logic. Proof theory, model theory, resolution refutation, forward and backward chaining, representing events and actions.
Equivalent to: CS 531
Available via Ecampus
AI 533, INTELLIGENT AGENTS AND DECISION MAKING, 4 Credits
Representations of agents, execution architectures. Planning: non-linear planning, graphplan, SATplan. Scheduling and resource management. Probabilistic agents. Dynamic belief networks. Dynamic programming (value iteration and policy iteration). Reinforcement learning: Prioritized sweeping, Q learning, value function approximation and SARSA (lamda), policy gradient methods.
Equivalent to: CS 533
Recommended: CS 531 or AI 531
AI 534, MACHINE LEARNING, 4 Credits
Continuous representations. Bias-variance tradeoff. Computational learning theory. Gaussian probabilistic models. Linear discriminants. Support vector machines. Neural networks. Ensemble methods. Feature extraction and dimensionality reduction methods. Factor analysis. Principle component analysis. Independent component analysis. Cost-sensitive learning.
Equivalent to: CS 534
Available via Ecampus
AI 535, DEEP LEARNING, 4 Credits
An introduction to the concepts and algorithms in deep learning; basic feedforward neural networks, convolutional neural networks, recurrent neural networks including long short-term memory models, deep belief nets, autoencoders and deep networks applications in computer vision, natural language processing and reinforcement learning.
Prerequisite: CS 534 with C or better or AI 534 with C or better or ROB 537 with C or better
Equivalent to: CS 535
AI 536, PROBABILISTIC GRAPHICAL MODELS, 4 Credits
Representation of probabilistic graphical models, both directed (Bayesian networks) and undirected (Markov networks). Exact and approximate inference techniques. Parameter and structure learning from data.
Equivalent to: CS 536
Recommended: Strong programming skills
AI 537, COMPUTER VISION I, 3 Credits
An introduction to low-level computer vision and visual geometry. Topics of interest include the following: detection of interest points and edges, matching points and edges, color models, projective geometry, camera calibration, epipolar geometry, homography, image stitching, and multitarget tracking.
Equivalent to: CS 537
Recommended: Undergraduate-level statistics, probability, calculus, linear algebra, good programming skills, machine learning or AI
AI 539, SELECTED TOPICS IN ARTIFICIAL INTELLIGENCE, 0-5 Credits
This course is repeatable for 99 credits.
AI 586, APPLIED MATRIX ANALYSIS, 4 Credits
Focuses on the why and how advanced matrix analysis tools can solve signal processing (SP) and machine learning (ML) problems. Covers both the fundamental concepts of advanced linear algebra and their applications in the broad areas of signal processing and machine learning. Offers an in-depth close look at a series of core tasks in SP and ML that are enabled by analytical and computational tools in matrix analysis. Introduces frontier research in nonnegative matrix factorization and tensor analysis.
Equivalent to: ECE 586
Recommended: MTH 341
AI 601, RESEARCH, 1-16 Credits
This course is repeatable for 99 credits.
AI 603, THESIS, 1-16 Credits
This course is repeatable for 99 credits.
AI 605, READING AND CONFERENCE, 1-16 Credits
This course is repeatable for 99 credits.
AI 607, SEMINAR, 1-16 Credits
This course is repeatable for 99 credits.
AI 637, COMPUTER VISION II, 4 Credits
An introduction to recent advances in visual recognition, including object detection, semantic segmentation, multimodal parsing of images and text, image captioning, face recognition, and human activity recognition. Covers common formulations of these problems, including energy minimization on graphical models, and supervised machine learning approaches to low- and high-level recognition tasks.
Prerequisite: CS 535 with B+ or better or AI 535 with B+ or better or CS 537 with B- or better or AI 537 with B- or better
Equivalent to: CS 637
Recommended: CS 519
Computer Science (CS)
CS 101, COMPUTERS: APPLICATIONS AND IMPLICATIONS, 4 Credits
The varieties of computer hardware and software. The effects, positive and negative, of computers on human lives. Ethical implications of information technology. Hands-on experience with a variety of computer applications. Lec/lab.
Available via Ecampus
CS 161, INTRODUCTION TO COMPUTER SCIENCE I, 4 Credits
Overview of fundamental concepts of computer science. Introduction to problem solving, software engineering, and object-oriented programming. Includes algorithm design and program development.
Prerequisite: MTH 112 (may be taken concurrently) with C or better or MTH 112Z (may be taken concurrently) with C or better or Math Placement Test with a score of 33 or Math Placement - ALEKS with a score of 061
Available via Ecampus
CS 162, INTRODUCTION TO COMPUTER SCIENCE II, 4 Credits
Provides an overview of the fundamental concepts of computer science. Studies basic data structures, computer programming techniques and application of software engineering principles. Introduces analysis of programs.
Prerequisite: CS 161 with C or better or EECS 161 with C or better or ENGR 103 with C or better or ENGR 103H with C or better
Equivalent to: CS 162H
Available via Ecampus
CS 162H, INTRODUCTION TO COMPUTER SCIENCE II, 4 Credits
Provides an overview of the fundamental concepts of computer science. Studies basic data structures, computer programming techniques and application of software engineering principles. Introduces analysis of programs.
Attributes: HNRS – Honors Course Designator
Prerequisite: CS 161 with C or better or EECS 161 with C or better or ENGR 103 with C or better or ENGR 103H with C or better
Equivalent to: CS 162
Available via Ecampus
CS 175, *COMMUNICATIONS SECURITY AND SOCIAL MOVEMENTS, 3 Credits
Equipping students with the theory and practice of communications security, this course explores how social movements can remain effective in the context of mass surveillance and state repression.
Attributes: CPDP – Bacc Core, Perspectives, Difference/Power/Discrimination
Available via Ecampus
CS 199, SPECIAL TOPICS/COMPUTER SCIENCE, 1-16 Credits
This course is repeatable for 16 credits.
CS 201, COMPUTER PROGRAMMING FOR NON-CS MAJORS, 3 Credits
Covers a variety of fundamental topics in computer programming relevant to anyone who wants to write or work with computer code in their work or studies. Teaches basic computational thinking and programming skills which will allow students to solve a variety of real-world problems. In addition, students will learn more advanced topics such as how some basic algorithms work and can be written in computer code.
Prerequisite: MTH 111 with C- or better or MTH 111Z with C- or better or MTH 112 with C- or better or MTH 112Z with C- or better or MTH 227 with C- or better or MTH 231 with C- or better or MTH 231H with C- or better or MTH 241 with C- or better or MTH 245 with C- or better or MTH 251 with C- or better or MTH 251H with C- or better
Available via Ecampus
CS 225, DISCRETE STRUCTURES IN COMPUTER SCIENCE, 4 Credits
An introduction to the discrete mathematics of computer science, including logic, set and set operations, methods of proof, recursive definitions, combinatorics, and graph theory.
Prerequisite: MTH 111 with C or better or MTH 111Z with C or better or MTH 112 (may be taken concurrently) with C or better or MTH 112Z (may be taken concurrently) with C or better or Math Placement Test with a score of 24 or Math Placement - ALEKS with a score of 061
Available via Ecampus
CS 261, DATA STRUCTURES, 4 Credits
Abstract data types, dynamic arrays, linked lists, trees and graphs, binary search trees, hash tables, storage management, complexity analysis of data structures.
Prerequisite: (CS 162 with C or better or CS 162H with C or better or CS 165 with C or better) and (CS 225 [C] or MTH 231 [C] or MTH 231H [C])
Available via Ecampus
CS 271, COMPUTER ARCHITECTURE AND ASSEMBLY LANGUAGE, 4 Credits
Introduces functional organization and operation of digital computers. Coverage of assembly language; addressing, stacks, argument passing, arithmetic operations, decisions, macros, modularization, linkers, and debuggers.
Prerequisite: CS 151 with C or better or CS 161 with C or better or CS 165 with C or better or ENGR 103 with C or better or ENGR 103H with C or better
Available via Ecampus
CS 274, INTRODUCTION TO SYSTEMS PROGRAMMING, 4 Credits
Explores systems-level programming using compiled languages such as C and C++. Explores terminals, shells, C and C++ syntax, pointers, memory models, and more. Learn to design and implement C and C++ programs, navigate language build pipelines, use terminals and shells, solve problems with different memory models, and manage dynamic memory. Gains practical skills for real-world coding challenges.
Prerequisite: CS 162 with C or better or CS 162H with C or better
CS 290, WEB DEVELOPMENT, 4 Credits
How to design and implement a multi-tier application using web technologies: Creation of extensive custom client- and server-side code, consistent with achieving a high-quality software architecture.
Prerequisite: CS 162 with C or better or CS 162H with C or better or CS 165 with C or better
Available via Ecampus
CS 299, SPECIAL TOPICS, 0-4 Credits
This course is repeatable for 99 credits.
CS 312, SYSTEM ADMINISTRATION, 4 Credits
Introduction to system administration. Network administration and routing. Security issues. Computer, server, and network hardware.
Prerequisite: (CS 311 with C or better or CS 344 with C or better or CS 374 with C or better) and (CS 372 [C] or ECE 372 [C])
CS 321, INTRODUCTION TO THEORY OF COMPUTATION, 3 Credits
Survey of models of computation including finite automata, formal grammars, and Turing machines.
Prerequisite: CS 261 with C or better and (CS 225 [C] or MTH 231 [C] or MTH 231H [C])
Equivalent to: CS 321H
Available via Ecampus
CS 321H, INTRODUCTION TO THEORY OF COMPUTATION, 3 Credits
Survey of models of computation including finite automata, formal grammars, and Turing machines.
Attributes: HNRS – Honors Course Designator
Prerequisite: CS 261 with C or better and (CS 225 [C] or MTH 231 [C] or MTH 231H [C])
Equivalent to: CS 321
CS 325, ANALYSIS OF ALGORITHMS, 4 Credits
Recurrence relations, combinatorics, recursive algorithms, proofs of correctness.
Prerequisite: CS 261 with C or better and (CS 225 [C] or MTH 231 [C] or MTH 231H [C])
Equivalent to: CS 325H
Available via Ecampus
CS 325H, ANALYSIS OF ALGORITHMS, 4 Credits
Recurrence relations, combinatorics, recursive algorithms, proofs of correctness.
Attributes: HNRS – Honors Course Designator
Prerequisite: CS 261 with C or better and (CS 225 [C] or MTH 231 [C] or MTH 231H [C])
Equivalent to: CS 325
CS 331, INTRODUCTION TO ARTIFICIAL INTELLIGENCE, 4 Credits
Fundamental concepts in artificial intelligence using the unifying theme of an intelligent agent. Topics include agent architectures, search, games, logic and reasoning, and Bayesian networks.
Prerequisite: CS 325 with C or better or CS 325H with C or better
Equivalent to: CS 331H
CS 331H, INTRODUCTION TO ARTIFICIAL INTELLIGENCE, 4 Credits
Fundamental concepts in artificial intelligence using the unifying theme of an intelligent agent. Topics include agent architectures, search, games, logic and reasoning, and Bayesian networks.
Attributes: HNRS – Honors Course Designator
Prerequisite: CS 325 with C or better or CS 325H with C or better
Equivalent to: CS 331
CS 340, INTRODUCTION TO DATABASES, 4 Credits
Design and implementation of relational databases, including data modeling with ER or UML, diagrams, relational schema, SQL queries, relational algebra, user interfaces, and administration.
Prerequisite: CS 290 with C or better
Equivalent to: CS 275
Available via Ecampus
CS 344, OPERATING SYSTEMS I, 4 Credits
Introduction to operating systems using UNIX as the case study. System calls and utilities, fundamentals of processes and interprocess communication.
Prerequisite: CS 261 with C or better and (CS 271 [C] or ECE 271 [C])
Equivalent to: CS 311, CS 374
Recommended: Experience programming in the C language
Available via Ecampus
CS 352, INTRODUCTION TO USABILITY ENGINEERING, 4 Credits
Explores basic principles of usability engineering methods for the design and evaluation of software systems. Includes the study of human-machine interactions, user interface characteristics and design strategies, software evaluation methods, and related guidelines and standards.
Prerequisite: CS 151 with C or better or CS 161 with C or better or CS 165 with C or better or CS 295 with C or better or ECE 151 with C or better or ENGR 103 with C or better or ENGR 103H with C or better
Available via Ecampus
CS 361, SOFTWARE ENGINEERING I, 4 Credits
Introduction to the "front end" of the software engineering lifecycle; requirements analysis and specification; design techniques; project management.
Prerequisite: CS 261 with C or better
Available via Ecampus
CS 362, SOFTWARE ENGINEERING II, 4 Credits
Introduction to the "back end" of the software engineering lifecycle implementation; verification and validation; debugging; maintenance.
Prerequisite: CS 261 with C or better
Equivalent to: CS 362H
Recommended: Experience with object-oriented programming and data structures (eg. CS 161, CS 162, CS 361)
Available via Ecampus
CS 362H, SOFTWARE ENGINEERING II, 4 Credits
Introduction to the "back end" of the software engineering lifecycle implementation; verification and validation; debugging; maintenance.
Attributes: HNRS – Honors Course Designator
Prerequisite: CS 261 with C or better
Equivalent to: CS 362
Recommended: Experience with object-oriented programming and data structures (eg. CS 161, CS 162, CS 361)
Available via Ecampus
CS 370, INTRODUCTION TO SECURITY, 4 Credits
Introductory course on computer security with the objective to introduce concepts and principles of computer systems security. Notions of security, basic crytographic primitives and their application, basics of authentication and access control, basics of key-management, basics of malware and software security.
Prerequisite: CS 344 (may be taken concurrently) with C or better or CS 374 (may be taken concurrently) with C or better
Available via Ecampus
CS 372, INTRODUCTION TO COMPUTER NETWORKS, 4 Credits
Computer network principles, fundamental networking concepts, packet-switching and circuit switching, TCP/IP protocol layers, reliable data transfer, congestion control, flow control, packet forwarding and routing, MAC addressing, multiple access techniques. CROSSLISTED as CS 372/ECE 372.
Prerequisite: CS 261 with C or better and (ECE 271 [C] or CS 271 [C])
Equivalent to: ECE 372
Recommended: C programming and Unix familiarity.
Available via Ecampus
CS 373, DEFENSE AGAINST THE DARK ARTS, 4 Credits
Introduction to the current state of the art in anti-malware, computer forensics, and networking, messaging, and web security. Broad introduction to the field of computer security.
Prerequisite: CS 340 with C or better and (CS 344 [C] or CS 374 [C]) and (CS 372 [C] or ECE 372 [C])
Available via Ecampus
CS 374, OPERATING SYSTEMS I, 4 Credits
Introduction to operating systems using UNIX as the case study. Emphasizes system calls and utilities, fundamentals of processes, and interprocess communication.
Prerequisite: CS 261 with C or better and (CS 271 [C] or ECE 271 [C])
Equivalent to: CS 344
Available via Ecampus
CS 381, PROGRAMMING LANGUAGE FUNDAMENTALS, 4 Credits
An introduction to the concepts found in a variety of programming languages. Programming languages as tools for problem solving. A brief introduction to languages from a number of different paradigms.
Prerequisite: CS 261 with C or better and (CS 225 [C] or MTH 231 [C] or MTH 231H [C])
Available via Ecampus
CS 391, *SOCIAL AND ETHICAL ISSUES IN COMPUTER SCIENCE, 3 Credits
In-depth exploration of the social, psychological, political, and ethical issues surrounding the computer industry and the evolving information society. (Bacc Core Course)
Attributes: CSST – Bacc Core, Synthesis, Science/Technology/Society
Equivalent to: CS 391H, CS 391H
Recommended: CS 101 or computer literacy.
Available via Ecampus
CS 391H, *SOCIAL AND ETHICAL ISSUES IN COMPUTER SCIENCE, 3 Credits
In-depth exploration of the social, psychological, political, and ethical issues surrounding the computer industry and the evolving information society. (Bacc Core Course)
Attributes: CSST – Bacc Core, Synthesis, Science/Technology/Society; HNRS – Honors Course Designator
Equivalent to: CS 391
Recommended: CS 101 or computer literacy
CS 399, SPECIAL TOPICS, 0-4 Credits
This course is repeatable for 99 credits.
CS 401, RESEARCH, 1-16 Credits
This course is repeatable for 16 credits.
CS 403, THESIS, 1-16 Credits
This course is repeatable for 16 credits.
CS 404, WRITING AND CONFERENCE, 1-16 Credits
This course is repeatable for 16 credits.
CS 405, READING AND CONFERENCE, 1-16 Credits
This course is repeatable for 16 credits.
CS 406, PROJECTS, 1-16 Credits
This course is repeatable for 16 credits.
Available via Ecampus
CS 407H, SEMINAR, 1-16 Credits
Attributes: HNRS – Honors Course Designator
Equivalent to: CS 407
This course is repeatable for 16 credits.
CS 410, OCCUPATIONAL INTERNSHIP, 1-16 Credits
This course is repeatable for 16 credits.
CS 419, SELECTED TOPICS IN COMPUTER SCIENCE, 0-5 Credits
Equivalent to: CS 419H
This course is repeatable for 99 credits.
CS 419H, SELECTED TOPICS IN COMPUTER SCIENCE, 0-5 Credits
Attributes: HNRS – Honors Course Designator
Equivalent to: CS 419
This course is repeatable for 99 credits.
CS 420, GRAPH THEORY WITH APPLICATIONS TO COMPUTER SCIENCE, 3 Credits
Directed and undirected graphs; paths, circuits, trees, coloring, planar graphs, partitioning; computer representation of graphs and graph algorithms; applications in software complexity metrics, program testing, and compiling.
Prerequisite: CS 325 with C or better or CS 325H with C or better
CS 424, CYBERSECURITY PRACTICUM I, 5 Credits
Applies cybersecurity theories and principles in practice through clinical rotations at a security operations center serving a consortium of regional clients. Interactively examines and analyzes network, client, and sensor data to aid in the detection and remediation of cyber attacks. Applies incident management and response frameworks to create improved outcomes for security operations center clients. Explores technical, programmatic, and architectural solutions to common security operations problems. Recognizes professional responsibilities and makes informed judgments in cybersecurity practice based on legal and ethical principles.
Prerequisite: CS 370 with C or better and (CS 372 [C] or ECE 372 [C])
Recommended: CS 478
CS 425, CYBERSECURITY PRACTICUM II, 5 Credits
Applies cybersecurity theories and principles in practice through clinical rotations at a security operations center serving a consortium of regional clients. Interactively examines and analyzes security architectures at the CyberClinic Security Operations Center and at consortium client locations. Develops improved outcomes for security operations center clients through the application of cybersecurity engineering principles. Explores technical, programmatic, and architectural solutions to common security operations problems. Recognizes professional responsibilities and makes informed judgments in cybersecurity practice based on legal and ethical principles.
Prerequisite: CS 424 with C or better
Recommended: CS 478
CS 426, CYBERSECURITY PRACTICUM III, 4 Credits
Applies cybersecurity theories and principles in practice through clinical rotations at a security operations center serving a consortium of regional clients. Interactively assesses client security maturity and risk and advises clients on prevention, defense, and response strategies. Applies network and end-client analysis to develop improved outcomes for security operations center clients through the application of threat-hunting principles and techniques. Recognizes professional responsibilities and makes informed judgments in cybersecurity practice based on legal and ethical principles.
Prerequisite: CS 425 with C or better
Recommended: CS 478
CS 427, CRYPTOGRAPHY, 4 Credits
Introduction to the theory and practice of modern cryptography. Fundamental primitives including pseudorandom generators, block ciphers, hash functions. Symmetric-key cryptography for privacy and authenticity. Public-key cryptography based on number-theoretic problems.
Prerequisite: CS 261 with C or better or MTH 355 with C or better or MTH 310 with C or better
Available via Ecampus
CS 428, ^CYBERSECURITY CAPSTONE PROJECT, 3 Credits
Utilize foundational knowledge of cybersecurity to complete a cybersecurity operations project. Develops skills for project development, including project planning, requirements analysis, design, coding, testing, configuration management, quality assurance, documentation, and delivery.
Attributes: CSWC – Core Ed - Writing Intensive Curriculum (WIC); CWIC – Bacc Core, Skills, Writing Intensive Curriculum (WIC)
Prerequisite: CS 424 with C or better and (WR 327 [C] or WR 327H [C] or WR 227Z [C] or WR 227HZ [C])
CS 434, MACHINE LEARNING AND DATA MINING, 4 Credits
Introduces machine learning and data mining algorithms and tools that are widely employed in industrial and research settings. Explores supervised learning for prediction problems, both discrete and real-valued; unsupervised learning for clustering data and discovering patterns in data sets; and reinforcement learning for controlling complex processes based on positive and negative feedback. Applies machine learning and data mining techniques to real problems with programming assignments and written homework assignments.
Prerequisite: (CS 325 with C or better or CS 325H with C or better) and (ST 314 [C] or ECE 353 [C])
Equivalent to: CS 434H
CS 434H, MACHINE LEARNING AND DATA MINING, 4 Credits
Introduces machine learning and data mining algorithms and tools that are widely employed in industrial and research settings. Explores supervised learning for prediction problems, both discrete and real-valued; unsupervised learning for clustering data and discovering patterns in data sets; and reinforcement learning for controlling complex processes based on positive and negative feedback. Applies machine learning and data mining techniques to real problems with programming assignments and written homework assignments.
Attributes: HNRS – Honors Course Designator
Prerequisite: (CS 325 with C or better or CS 325H with C or better) and (ST 314 [C] or ECE 353 [C])
Equivalent to: CS 434
CS 440, DATABASE MANAGEMENT SYSTEMS, 4 Credits
Relational database design, normalization, file structures, disk storage, query processing and optimization, team development of database applications.
CS 444, OPERATING SYSTEMS II, 4 Credits
Explores principles of computer operating systems: concurrent processes, memory management, job scheduling, multiprocessing, file systems, performance evaluation, and networking.
Prerequisite: (CS 344 with C or better or CS 374 with C or better) and (CS 271 [C] or ECE 375 [C])
Available via Ecampus
CS 446, NETWORKS IN COMPUTATIONAL BIOLOGY, 3 Credits
Emphasizes computational and applied mathematical methods for modeling and analyzing biological networks. Covers various network centralities, topological measures, clustering algorithms, probabilistic annotation models and inference methods. Introduces those concepts in the context of protein interaction, gene regulatory, and metabolic networks. Uses graph frameworks, data frames (and related data structures for data science), and programming in Python or R. CROSSLISTED as BDS 446/CS 446.
Prerequisite: CS 161 with C or better or BDS 310 with C or better or BDS 470 with C or better or BOT 470 with C or better or BOT 476 with C or better or ENGR 103 with C or better or ENGR 103H with C or better
Equivalent to: BDS 446
Recommended: Completion or concurrent enrollment in CS 325
CS 450, INTRODUCTION TO COMPUTER GRAPHICS, 4 Credits
Theoretical and practical treatment of 3D computer graphics using OpenGL: geometric modeling, transformations, viewing, lighting, texture mapping, shading, rendering, and animation.
Prerequisite: CS 261 with C or better
Available via Ecampus
CS 453, SCIENTIFIC VISUALIZATION, 4 Credits
Applies 3D computer graphics methods to visually understand scientific and engineering data. Methods include hyperbolic projections; mapping scalar values to color spaces; data visualization using range sliders; scalar visualization (point clouds, cutting planes, contour plots, isosurfaces); vector visualization (arrow clouds, particle advection, streamlines); terrain visualization; Delauney triangulation; and volume visualization.
Prerequisite: CS 261 with C or better
Recommended: Prior experience with Unix or Windows, programming experience
CS 457, COMPUTER GRAPHICS SHADERS, 4 Credits
Emphasizes theoretical and practical treatment of computer graphics shaders, including both RenderMan and GPU shaders. Explores programming in both RenderMan and OpenGL shading languages.
Prerequisite: CS 261 with C or better
Recommended: Graphics pipeline programming experience
Available via Ecampus
CS 458, INTRODUCTION TO INFORMATION VISUALIZATION, 4 Credits
Introduces data visualization concepts and techniques that aid knowledge discovery. Explores visualization design principles that are beneficial to cognitive learning and natural to human perception are the focus. Discussion topics will include graphs, trees, texts, time series and multivariate data.
Prerequisite: CS 361 with C or better
CS 461, ^SENIOR SOFTWARE ENGINEERING PROJECT I, 3 Credits
Utilize software engineering methodology in a team environment to develop a real-world application. Teams will be responsible for all phases of software development, including project planning, requirements analysis, design, coding, testing, configuration management, quality assurance, documentation, and delivery.
Attributes: CSWC – Core Ed - Writing Intensive Curriculum (WIC); CWIC – Bacc Core, Skills, Writing Intensive Curriculum (WIC)
Prerequisite: (CS 325 with C or better or CS 325H with C or better) and CS 361 [C] and (CS 362 [C] or CS 362H [C])
Available via Ecampus
CS 462, ^SENIOR SOFTWARE ENGINEERING PROJECT II, 3 Credits
Utilize software engineering methodology in a team environment to develop a real-world application. Teams will be responsible for all phases of software development, including project planning, requirements analysis, design, coding, testing, configuration management, quality assurance, documentation, and delivery.
Attributes: CSWC – Core Ed - Writing Intensive Curriculum (WIC); CWIC – Bacc Core, Skills, Writing Intensive Curriculum (WIC)
Prerequisite: (CS 362 with C or better or CS 362H with C or better) and CS 461 [C]
Available via Ecampus
CS 463, SENIOR SOFTWARE ENGINEERING PROJECT, 2 Credits
Utilize software engineering methodology in a team environment to develop a real-world application. Teams will be responsible for all phases of software development, including project planning, requirements analysis, design, coding, testing, configuration management, quality assurance, documentation, and delivery.
Prerequisite: CS 462 with C or better
Available via Ecampus
CS 464, OPEN SOURCE SOFTWARE, 4 Credits
Provides a theoretical foundation of the history, key concepts, technologies, and practices associated with modern Free and Open Source Software (FOSS) projects, and gives students an opportunity to explore and make contributions to FOSS projects with some mentoring and guidance.
Prerequisite: CS 261 with C or better and CS 361 (may be taken concurrently) [C]
Available via Ecampus
CS 466, WEB-BASED START-UP PROJECT, 4 Credits
Real-world, hands-on learning in a high-tech web/mobile-based company environment. Research in the development of product ideas, hypotheses, and business models to create customer experiments. Prototyping and statistical analysis to develop, optimize, and evaluate solutions. Rapid iteration/refactoring based on customer input, web analytics, and user engagement metrics.
Corequisites: CS 461
CS 467, ONLINE CAPSTONE PROJECT, 4 Credits
Real-world team-based experience with the software engineering design and delivery cycle, including requirements analysis and specification, design techniques, and requirements and final project written documentation.
Prerequisite: CS 361 with C or better and (CS 362 [C] or CS 362H [C]) and (CS 344 [C] or CS 374 [C])
Available via Ecampus
CS 468, INCLUSIVE DESIGN (HCI), 4 Credits
Inclusive design is designing software that works for a wide variety of differently abled customers. Teaches the skills needed to design inclusively without having to have a separate design for each differently abled customer.
Prerequisite: CS 352 with C or better
CS 469, STRUCTURED PROJECT, 2 Credits
Facilitates the completion of a working software product chosen and designed by the student. Introduces students to planning, reporting progress, and presenting results of software development work carried out as a structured project.
This course is repeatable for 16 credits.
Available via Ecampus
CS 472, COMPUTER ARCHITECTURE, 4 Credits
Computer architecture using processors, memories, and I/O devices as building blocks. Issues involved in the design of instruction set architecture, processor, pipelining and memory organization. Design philosophies and trade-offs involved in Reduced Instruction Set Computer (RISC) architectures. CROSSLISTED as CS 472/ECE 472 and CS 572/ECE 572.
Prerequisite: ECE 375 with C or better
Equivalent to: ECE 472
Available via Ecampus
CS 473, INTRODUCTION TO DIGITAL FORENSICS, 4 Credits
Introduces concepts related to digital forensics, its role and importance, and tools and techniques for collecting and curating digital evidence. Discusses the role of evidence in the justice system and related legal aspects pertaining to digital forensics. Introduces tools and techniques for digital forensics.
Prerequisite: BA 479 with C or better or BIS 471 with C or better or ((CS 344 with C or better or CS 374 with C or better) and CS 370 [C])
Equivalent to: CS 477
Available via Ecampus
CS 474, OPERATING SYSTEMS II, 4 Credits
Examines principles of computer operating systems: concurrent processes, memory management, job scheduling, multiprocessing, file systems, performance evaluation, and networking.
Prerequisite: (CS 344 with C or better or CS 374 with C or better) and (CS 271 [C] or ECE 375 [C])
Equivalent to: CS 444
Available via Ecampus
CS 475, INTRODUCTION TO PARALLEL PROGRAMMING, 4 Credits
Theoretical and practical survey of parallel programming, including a discussion of parallel architectures, parallel programming paradigms, and parallel algorithms. Programming one or more parallel computers in a higher-level parallel language.
Prerequisite: CS 261 with C or better
Available via Ecampus
CS 476, ADVANCED COMPUTER NETWORKING, 4 Credits
Covers advanced computer networking concepts: queuing theory, quality-of-service, buffer management, resource allocation and sharing, service models, scheduling policies, and performance modeling and analysis. CROSSLISTED as CS 476/ECE 476.
Prerequisite: (CS 372 with C or better or ECE 372 with C or better) and (ECE 353 [C] or ST 314 [C] or ST 314H [C])
Equivalent to: ECE 476
CS 478, NETWORK SECURITY, 4 Credits
Basic concepts and techniques in network security, risks and vulnerabilities, applied cryptography and various network security protocols. Coverage of high-level concepts such as authentication, confidentiality, integrity, and availability applied to networking systems. Fundamental techniques including authentication protocols, group key establishment and management, trusted intermediaries, public key infrastructures, SSL/TLS, IPSec, firewalls and intrusion detection CROSSLISTED as CS 478/ECE 478.
Prerequisite: CS 372 with C or better or ECE 372 with C or better
Equivalent to: ECE 478
Recommended: CS 370
Available via Ecampus
CS 480, TRANSLATORS, 4 Credits
Explores content on the subject of compilers; attribute grammars, syntax-directed translation, lex, yacc, LR(1) parsers, symbol tables, semantic analysis, and peep-hole optimization.
Prerequisite: CS 381 with C or better and (CS 321 [C] or CS 321H [C]) and (CS 344 [C] or CS 374 [C])
CS 491, COMPUTER SCIENCE SKILLS FOR SIMULATION AND GAME PROGRAMMING, 4 Credits
Game and simulation development is very much a data and math-intensive activity. A certain number of actions must be produced, and producing them by hand is hard. This is a middleware CS course that fills in many of the missing pieces for those wanting to enter the simulation and game development worlds in a software tool-building capacity.
Prerequisite: CS 261 with C or better and (CS 225 [C] or MTH 231 [C] or MTH 231H [C]) and (MTH 252 [C] or MTH 252H [C])
CS 492, MOBILE SOFTWARE DEVELOPMENT, 4 Credits
Introduction to concepts and techniques for developing mobile applications. Become familiar with modern mobile structure, implementation, development tools, and workflow.
Prerequisite: CS 344 with C or better or CS 374 with C or better
Available via Ecampus
CS 493, CLOUD APPLICATION DEVELOPMENT, 4 Credits
Covers developing RESTful cloud services, an approach based on representational state transfer technology, an architectural style and approach to communications used in modern cloud services development.
Prerequisite: CS 290 with C or better and CS 340 [C] and CS 372 [C]
Available via Ecampus
CS 494, ADVANCED WEB DEVELOPMENT, 4 Credits
Explores advanced concepts and techniques for developing client-side web applications. Emphasizes modern application design using contemporary tools and technologies such as component-based UI frameworks.
CS 499, SPECIAL TOPICS, 0-16 Credits
This course is repeatable for 16 credits.
Available via Ecampus
CS 501, RESEARCH, 1-16 Credits
This course is repeatable for 99 credits.
Available via Ecampus
CS 503, COMPUTER SCIENCE MS THESIS, 1-16 Credits
This course is repeatable for 999 credits.
CS 504, WRITING AND CONFERENCE/EXPLORATION, 1-9 Credits
This course is repeatable for 15 credits.
CS 505, READING AND CONFERENCE, 1-16 Credits
This course is repeatable for 20 credits.
CS 506, PROJECTS, 1-16 Credits
This course is repeatable for 99 credits.
CS 507, SEMINAR, 1-16 Credits
This course is repeatable for 16 credits.
CS 510, OCCUPATIONAL INTERNSHIP, 1-16 Credits
This course is repeatable for 99 credits.
Available via Ecampus
CS 511, PROGRAMMING AND DATA STRUCTURES, 4 Credits
Focuses on computer programming, problem solving, data structures, object-oriented programming, sorting, asymptotic time complexity.
Recommended: College algebra, plus the ability to navigate an operating system, manipulate files, and use a command line.
Available via Ecampus
CS 512, DATA SCIENCE TOOLS AND PROGRAMMING, 4 Credits
Accessing and distributing data in the cloud; relational and non-relational databases; map reduction; cloud data processing; load balancing; types of data-stores used in the cloud.
Recommended: CS 511 or an equivalent course or programming experience in in a high-level language like Python, Java or C++.
Available via Ecampus
CS 513, APPLIED MACHINE LEARNING, 4 Credits
Explores machine learning basics (variance and bias, underfitting and overfitting, etc). Reviews linear algebra and Numpy. Examines k-nearest neighbors, linear classification (perceptron and online learning), and linear and non-linear regression. Explores applications in housing price prediction (Kaggle contest) and text classification (sentiment analysis).
Available via Ecampus
CS 514, ALGORITHMS: DESIGN, ANALYSIS, AND IMPLEMENTATION, 4 Credits
Explores sorting and selection algorithms including divide-and-conquer, quicksort/quick select, merge sort, binary search trees, memorization, heaps and heapsort, priority queues, hashing, hashed heaps; asymptotic complexity analysis including the Master equation, tree method, amortization; Dynamic Programming on sequences, graphs, trees, and intervals; Graph algorithms including breadth-first search, depth-first search, topological sort, shortest path, minimum spanning tree, network flow. NP-hard and NP-Complete problems.
Recommended: Experience with algorithms and CS 261 or an equivalent undergraduate Data Structures course with a minimum grade of B
Available via Ecampus
CS 515, ALGORITHMS AND DATA STRUCTURES, 4 Credits
Greedy algorithms, divide and conquer, dynamic programming, network flow, data structures.
Recommended: Undergraduate course in algorithms
CS 517, THEORY OF COMPUTATION, 4 Credits
Turing machines, decidability, NP-completeness, complexity classes, randomized computation, relativization, circuit complexity, interactive proof systems, lower bounds, cryptography.
CS 519, SELECTED TOPICS IN COMPUTER SCIENCE, 0-5 Credits
This course is repeatable for 99 credits.
CS 520, GRAPH THEORY WITH APPLICATIONS TO COMPUTER SCIENCE, 3 Credits
Directed and undirected graphs; paths, circuits, trees, coloring, planar graphs, partitioning; computer representation of graphs and graph algorithms; applications in software complexity metrics, program testing, and compiling.
Recommended: CS 325
Available via Ecampus
CS 524, CYBERSECURITY PRACTICUM I, 5 Credits
Applies cybersecurity theories and principles in practice through clinical rotations at a security operations center serving a consortium of regional clients. Interactively examines and analyzes network, client, and sensor data to aid in the detection and remediation of cyber attacks. Applies incident management and response frameworks to create improved outcomes for security operations center clients. Explores technical, programmatic, and architectural solutions to common security operations problems. Recognizes professional responsibilities and makes informed judgments in cybersecurity practice based on legal and ethical principles.
CS 525, CYBERSECURITY PRACTICUM II, 5 Credits
Applies cybersecurity theories and principles in practice through clinical rotations at a security operations center serving a consortium of regional clients. Interactively examines and analyzes security architectures at the CyberClinic Security Operations Center and at consortium client locations. Develops improved outcomes for security operations center clients through the application of cybersecurity engineering principles. Explores technical, programmatic, and architectural solutions to common security operations problems. Recognizes professional responsibilities and makes informed judgments in cybersecurity practice based on legal and ethical principles.
Prerequisite: CS 524 with C or better
CS 526, CYBERSECURITY PRACTICUM III, 4 Credits
Applies cybersecurity theories and principles in practice through clinical rotations at a security operations center serving a consortium of regional clients. Interactively assesses client security maturity and risk and advises clients on prevention, defense, and response strategies. Applies network and end-client analysis to develop improved outcomes for security operations center clients through the application of threat-hunting principles and techniques. Recognizes professional responsibilities and makes informed judgments in cybersecurity practice based on legal and ethical principles.
Prerequisite: CS 525 with C or better
CS 527, ERROR-CORRECTING CODES, 4 Credits
Hamming codes, linear codes, cyclic codes, BCH and Reed-Solomon codes. Introduction to Galois fields. Encoding and decoding algorithms. Burst error correcting codes, asymmetric and unidirectional codes. Applications of codes for computer systems.
Recommended: Discrete math and probability
CS 529, SELECTED TOPICS IN THEORETICAL COMPUTER SCIENCE, 1-5 Credits
Topics of interest in algorithms and theory of computation. Topics include approximation algorithms, planar graph algorithms, distributed algorithms, combinatorial optimization, computational geometry.
This course is repeatable for 99 credits.
Recommended: CS 515
Available via Ecampus
CS 540, DATABASE MANAGEMENT SYSTEMS, 4 Credits
Purpose of database systems, levels of data representation. Entity-relationship model. Relational systems: data definition, data manipulation, query language (SQL), relational calculus and algebra, data dependencies and normal forms. DBTG network model. Query optimization, recovery, concurrency control.
Recommended: CS 261
Available via Ecampus
CS 544, OPERATING SYSTEMS II, 4 Credits
Explores principles of computer operating systems: concurrent processes, memory management, job scheduling, multiprocessing, file systems, performance evaluation, and networking.
CS 546, NETWORKS IN COMPUTATIONAL BIOLOGY, 3 Credits
Emphasizes computational and applied mathematical methods for modeling and analyzing biological networks. Covers various network centralities, topological measures, clustering algorithms, probabilistic annotation models and inference methods. Introduces those concepts in the context of protein interaction, gene regulatory, and metabolic networks. Uses graph frameworks, data frames (and related data structures for data science), and programming in Python or R. CROSSLISTED as BDS 546/CS 546.
Equivalent to: BDS 546
CS 549, SELECTED TOPICS ON DATA SCIENCE & SYSTEMS, 1-5 Credits
Current topics in data science and systems, e.g. querying, inference, and learning over large datasets; reasoning and learning on graph, heterogeneous, and multi-modal data; data curation; knowledge representation; systems for large data exploration and analytics; distributed data systems; human-centered data science; fairness and responsibility in data science.
This course is repeatable for 99 credits.
Recommended: CS 540
CS 550, INTRODUCTION TO COMPUTER GRAPHICS, 4 Credits
Theoretical and practical treatment of 3D computer graphics using OpenGL: geometric modeling, transformations, viewing, lighting, texture mapping, shading, rendering, and animation.
Recommended: CS 261
Available via Ecampus
CS 551, COMPUTER GRAPHICS, 4 Credits
3-D graphics hardware: Line and polygon scan conversion, modeling transformations, viewing transformations, matrix stacks, hierarchical models, perspective and orthographic projections, visible surface determination, illumination models, shading models, texture mapping, ray tracing.
CS 552, COMPUTER ANIMATION, 4 Credits
Traditional animation concepts: production pipeline, keyframing implementation, interpolation, point-mass dynamics, spring-mass systems, rigid body dynamics, forward and inverse kinematics, human motion control, motion capture.
Recommended: CS 551
CS 553, SCIENTIFIC VISUALIZATION, 4 Credits
Applies 3D computer graphics methods to visually understand scientific and engineering data. Methods include hyperbolic projections; mapping scalar values to color spaces; data visualization using range sliders; scalar visualization (point clouds, cutting planes, contour plots, isosurfaces); vector visualization (arrow clouds, particle advection, streamlines); terrain visualization; Delauney triangulation; and volume visualization.
Recommended: Prior experience with Unix or Windows, programming experience
CS 554, GEOMETRIC MODELING IN COMPUTER GRAPHICS, 4 Credits
Advanced topics in computer graphics focusing on representation and processing of polygonal models and their application. Surface fundamentals; discrete differential geometry and topology; data structures for representing 3-D surfaces; surface subdivision and smoothing; mesh simplification and multi-resolution representation of 3-D surfaces; geometry compression; surface parameterization; geometry remeshing; topological simplification; implicit surfaces.
Recommended: CS 450
CS 557, COMPUTER GRAPHICS SHADERS, 4 Credits
Emphasizes theoretical and practical treatment of computer graphics shaders, including both RenderMan and GPU shaders. Explores programming in both RenderMan and OpenGL shading languages.
Recommended: Graphics pipeline programming experience
Available via Ecampus
CS 558, INTRODUCTION TO INFORMATION VISUALIZATION, 4 Credits
Introduces data visualization concepts and techniques that aid knowledge discovery. Explores visualization design principles that are beneficial to cognitive learning and natural to human perception are the focus. Discussion topics will include graphs, trees, texts, time series and multivariate data.
CS 559, SELECTED TOPICS IN COMPUTER GRAPHICS AND VISION, 0-5 Credits
Advanced topics in graphics, animation, and vision. Topics include distribution ray tracing, global-illumination, radiosity, image-based modeling and rendering, vision-assisted image and video editing, 3-D vision, 3-D virtual environments, 3-D interaction, control for physical simulation, motion graphs, computational geometry, etc.
This course is repeatable for 99 credits.
CS 560, DATA-DRIVEN SOFTWARE ENGINEERING, 4 Credits
An overview of data-driven empirical research methods that can be used to understand the different aspects of software engineering.
Prerequisite: CS 561 with C or better
CS 561, SOFTWARE ENGINEERING METHODS, 4 Credits
Master software engineering methods and supporting tools in the context of agile processes. Teams will engage in all aspects of software development including design, testing, implementation, deployment and maintenance. 3 hours of lecture per week plus one-hour independent lab per week.
Recommended: CS 362
CS 564, FIELD STUDIES IN SE AND HCI, 4 Credits
Deals with the type of empirical study known as the "case" study. These are studies that collect data from natural software development situations as they really occur in the field, in which the researcher does not manipulate or "control" anything. The course is an end-to-end coverage of the process. Mainly focuses on case studies involving human software developers in the field. The student will conduct a field study as part of this course.
CS 565, HUMAN-COMPUTER INTERACTION, 4 Credits
Basic principles of Human-Computer Interaction (HCI) for the design and evaluation of software systems. Includes research methods for studying human-machine interactions and user interfaces, design strategies, software evaluation methods, and related guidelines and standards.
Available via Ecampus
CS 567, LABORATORY STUDIES IN SE AND HCI, 4 Credits
Empirical lab studies of software development. Covers how to go about designing, preparing for, running, analyzing, and writing-for-publication lab experiments of programming situations involving human subjects. This is an end-to-end coverage of the entire process, and will put students in a position to conduct lab studies of their own with human subjects.
CS 568, INCLUSIVE DESIGN (HCI), 4 Credits
Inclusive design is designing software that works for a wide variety of differently abled customers. Teaches the skills needed to design inclusively without having to have a separate design for each differently abled customer.
CS 569, SELECTED TOPICS IN SOFTWARE ENGINEERING, 1-5 Credits
Topics include new programming methodologies, productivity, software development, software complexity metrics.
This course is repeatable for 99 credits.
Recommended: CS 561
CS 570, HIGH PERFORMANCE COMPUTER ARCHITECTURE, 4 Credits
Advanced concepts in computer architecture. Performance improvement employing advanced pipelining and multiple instruction scheduling techniques. Issues in memory hierarchy and management. CROSSLISTED as CS 570/ECE 570.
Equivalent to: ECE 570
CS 572, COMPUTER ARCHITECTURE, 4 Credits
Computer architecture using processors, memories, and I/O devices as building blocks. Issues involved in the design of instruction set architecture, processor, pipelining and memory organization. Design philosophies and trade-offs involved in Reduced Instruction Set Computer (RISC) architectures. CROSSLISTED as CS 472/ECE 472 and CS 572/ECE 572.
Equivalent to: ECE 572
Recommended: ECE 375
Available via Ecampus
CS 573, INTRODUCTION TO DIGITAL FORENSICS, 4 Credits
Introduces concepts related to digital forensics, its role and importance, and tools and techniques for collecting and curating digital evidence. Discusses the role of evidence in the justice system and related legal aspects pertaining to digital forensics. Introduces tools and techniques for digital forensics.
CS 574, OPERATING SYSTEMS II, 4 Credits
Examines principles of computer operating systems: concurrent processes, memory management, job scheduling, multiprocessing, file systems, performance evaluation, and networking.
Equivalent to: CS 544
CS 575, INTRODUCTION TO PARALLEL PROGRAMMING, 4 Credits
Theoretical and practical survey of parallel programming, including a discussion of parallel architecture, parallel programming paradigms, and parallel algorithms. Programming one or more parallel computers in a higher-level parallel language.
Available via Ecampus
CS 576, ADVANCED COMPUTER NETWORKING, 4 Credits
Covers advanced computer networking concepts: queuing theory, quality-of-service, buffer management, resource allocation and sharing, service models, scheduling policies, and performance modeling and analysis. CROSSLISTED as CS 576/ECE 576.
Equivalent to: ECE 576
Recommended: (CS 372 or ECE 372) and (ECE 353 or ST 314)
Available via Ecampus
CS 577, PRIVACY AND SURVEILLANCE, 4 Credits
Explores the need for privacy and theories of surveillance. Examines the current state of privacy-enhancing technologies. Emphasizes the critical reading and discussion of technical literature on privacy-enhancing technologies.
CS 578, CYBER-SECURITY, 4 Credits
A broad overview of the field of computer and network security. Essential cryptographic mechanisms such as symmetric and public-key cryptography (e.g., encryption, signatures), network security and authentication protocols (e.g., Kerberos, TLS, IPSec), system security (e.g., access control, firewalls), advanced topics (e.g., searchable encryption, cloud security, secure computation). CROSSLISTED as CS 578/ECE 578.
Equivalent to: ECE 578
CS 579, TOPICS IN COMPUTER ARCHITECTURE AND PARALLEL PROCESSING, 0-5 Credits
This course is repeatable for 99 credits.
Recommended: CS 575 or CS 572 or ECE 572
Available via Ecampus
CS 581, PROGRAMMING LANGUAGES I, 4 Credits
Introduces functional programming and programming language theory. Focuses on strongly typed functional programming, abstract syntax and grammars, interpreters, denotational and/or operational semantics, and lambda calculus.
Available via Ecampus
CS 582, PROGRAMMING LANGUAGES II, 4 Credits
Essentials of programming language theory for understanding and conducting programming language research. Dependently typed programming in Agda, Coq, or Idris; operational semantics; type systems; unification and type inference.
Prerequisite: CS 581 with C or better
CS 583, ADVANCED FUNCTIONAL PROGRAMMING, 4 Credits
Advanced functional programming concepts and strategies, with a focus on techniques useful for the design and implementation of programming languages. Includes higher-order abstract syntax, functors and monads, generalized algebraic data types, functional data structures, and graph reduction.
Prerequisite: CS 581 with C or better
CS 589, SELECTED TOPICS IN PROGRAMMING LANGUAGES, 1-5 Credits
An in-depth examination of a specific topic of interest in programming language design and implementation. Example topics include object-oriented programming, parallel programming, compiler optimization, programming language semantics.
This course is repeatable for 99 credits.
CS 599, SPECIAL TOPICS, 0-16 Credits
This course is repeatable for 16 credits.
CS 601, RESEARCH, 1-16 Credits
This course is repeatable for 99 credits.
CS 603, COMPUTER SCIENCE PHD THESIS, 1-16 Credits
This course is repeatable for 999 credits.
CS 605, READING AND CONFERENCE, 1-16 Credits
This course is repeatable for 16 credits.
CS 607, SEMINAR, 1-16 Credits
This course is repeatable for 16 credits.
Electrical and Computer Engineering (ECE)
ECE 199, SPECIAL STUDIES, 0-16 Credits
This course is repeatable for 16 credits.
ECE 200, DISCRETE-TIME SIGNAL PROCESSING, 4 Credits
Examines discrete-time (DT) signals and systems. Explores DT signals and linear time-invariant systems in time and frequency domains. Applies DT convolution in the time domain. Presents complex sinusoids and phasor representation for frequency analysis. Analyzes signals and systems in DT using DT Fourier series and transform.
Prerequisite: MTH 251 with C or better or MTH 251H with C or better
ECE 201, DC AND TRANSIENT CIRCUITS , 4 Credits
Examines and employs techniques for the analysis of linear circuits, including circuit laws and theorems, DC circuit responses, first-order circuit behaviors, operational amplifier characteristics, and applications. Explores fundamental semiconductor devices and device fabrication.
Prerequisite: (MTH 251 with C or better or MTH 251H with C or better) and (MTH 252 [C] or MTH 252H [C])
ECE 202, AC AND FREQUENCY DEPENDENT CIRCUITS, 4 Credits
Applies circuit analysis and design techniques for alternating current (AC) and frequency-dependent circuits.
Prerequisite: (ECE 201 with C or better or ENGR 201 with C or better or ENGR 201H with C or better) and ECE 200 (may be taken concurrently) [C]
ECE 203, CONTINUOUS-TIME SIGNAL PROCESSING, 4 Credits
Examines continuous-time (CT) signals and systems. Explores CT signals and linear time-invariant systems in time and frequency domains. Applies CT convolution in the time domain. Analyzes signals and systems in CT using CT Fourier transform, CT Fourier series, and Laplace transform.
Prerequisite: ECE 200 with C or better and (MTH 252 [C] or MTH 252H [C])
ECE 204, DIGITAL LOGIC DESIGN, 4 Credits
Design, minimize, and simulate combinational and sequential circuits using a Hardware Description Language (HDL). Develop simulation and hardware implementations, utilizing Field Programable Gate Arrays (FPGA), for logic designs within the course.
Prerequisite: MTH 231 with C or better or MTH 231H with C or better
ECE 271, DIGITAL LOGIC DESIGN, 3 Credits
A first course in digital logic design. Data types and representations, Boolean algebra, state machines, simplification of switching expressions, and introductory computer arithmetic.
Prerequisite: MTH 251 (may be taken concurrently) with C or better or MTH 251H (may be taken concurrently) with C or better or MTH 231 (may be taken concurrently) with C or better or MTH 231H (may be taken concurrently) with C or better
Available via Ecampus
ECE 272, DIGITAL LOGIC DESIGN LABORATORY, 1 Credit
This laboratory course accompanies ECE 271. Illustrates topics covered in the lectures of ECE 271 using computer-aided design, verification tools, and prototyping hardware.
Recommended: Completion or concurrent enrollment in ECE 271
Available via Ecampus
ECE 310, SEMICONDUCTOR PROCESSING, 4 Credits
Explores theory and practice of semiconductor processing techniques. Introduces students to process simulation.
Prerequisite: CH 201 with C or better and (PH 213 [C] or PH 213H [C])
ECE 320, ELECTRONIC CIRCUIT DESIGN I, 4 Credits
Analyze and design analog electronic circuits, including device characteristics of diodes, MOSFETs, and bipolar junction transistors; transistor amplifier circuits and biasing techniques; small- and large-signal circuit characteristics; and, design of linear circuits.
Prerequisite: ECE 202 with C or better
ECE 322, ELECTRONICS I, 3 Credits
Fundamental device characteristics including diodes, MOSFETs and bipolar transistors; small- and large-signal characteristics and design of linear circuits.
Prerequisite: ENGR 203 with C or better or ESE 330 with C or better
Equivalent to: ECE 322H
ECE 322H, ELECTRONICS I, 3 Credits
Fundamental device characteristics including diodes, MOSFETs and bipolar transistors; small- and large-signal characteristics and design of linear circuits.
Attributes: HNRS – Honors Course Designator
Prerequisite: ENGR 203 with C or better or ESE 330 with C or better
Equivalent to: ECE 322
ECE 323, ELECTRONICS II, 3 Credits
Transient operation of MOSFETs and bipolar transistors; multistage amplifiers; frequency response; feedback and stability.
Prerequisite: ECE 322 with C or better
ECE 330, POWER UP!, 4 Credits
Explores the fundamentals of electrical energy generation, transmission, and distribution, along with modern trends for renewable generation and load, energy storage, and transportation electrification. Topics including fundamentals of the power grid; types of generation and their characteristics; types of loads; power conversion technologies such as DC to AC converters; energy storage technologies; and social, environmental, and economic factors of power technologies.
Prerequisite: ECE 202 with C or better or ENGR 202 with C or better or CEM 471 with C or better
Available via Ecampus
ECE 331, ELECTROMECHANICAL ENERGY CONVERSION, 4 Credits
Focuses on energy conversion principles for electric machines. Topics including steady state characteristics of direct current, induction, permanent magnet, and synchronous machines. Performs analysis via space vectors.
Prerequisite: (ENGR 202 with C or better or ENGR 202H with C or better) and (MTH 256 [C] or MTH 256H [C]) and (PH 213 [C] or PH 213H [C])
ECE 332, LABORATORY ON ELECTROMECHANICAL ENERGY CONVERSION, 1 Credit
DC, PMAC, and induction machine testing, operation, and control.
Prerequisite: ENGR 202 with C or better or ENGR 202H with C or better
Corequisites: ECE 331
ECE 341, JUNIOR DESIGN I, 3 Credits
Introduction to system design and group projects. Design and fabrication of an electrical engineering project in a small group.
Prerequisite: CS 261 (may be taken concurrently) with C or better and ENGR 203 [C]
ECE 342, JUNIOR DESIGN II, 3 Credits
Introduction to system design and group projects. Design and fabrication of an electrical engineering project in a small group.
Prerequisite: ECE 341 with C or better
ECE 350, FOUNDATIONS OF DIGITAL SIGNAL PROCESSING, 4 Credits
Examines theory and practice of discrete-time signals and systems. Explores sampling and reconstruction from samples. Reviews basics of discrete-time, linear time-invariant systems. Studies z transform, its properties and relationship to discrete-time Fourier transform and its applications to infinite impulse response filter analysis, realizations and design. Explores discrete Fourier transform, its efficient implementations through Fast Fourier transform, and its applications to realization and design of finite impulse response filters.
Prerequisite: ECE 203 with C or better and (MTH 265 [C] or MTH 265H [C])
ECE 351, SIGNALS AND SYSTEMS I, 3 Credits
Analytical techniques for continuous-time and discrete-time signal, system, and circuit analysis. Lec.
Prerequisite: ENGR 203 with C or better and (MTH 256 [C] or MTH 256H [C])
ECE 352, SIGNALS AND SYSTEMS II, 3 Credits
Explores analytical techniques for continuous-time and discrete-time signal, system, and circuit analysis.
Prerequisite: ECE 351 with C or better and ((MTH 306 with C or better or MTH 306H with C or better) or ((MTH 264 with C or better or MTH 264H with C or better) and (MTH 265 [C] or MTH 265H [C])) )
ECE 353, INTRODUCTION TO PROBABILITY AND RANDOM SIGNALS, 3 Credits
Explores discrete and continuous probability concepts, single and multiple random variable distributions, expectation, introductory stochastic processes, correlation and power spectral density properties of random signals, random signals through linear filters.
Prerequisite: ECE 351 with C or better
ECE 356, SYSTEMS DYNAMICS AND CONTROL, 4 Credits
Models and analyzes linear continuous systems in time and frequency domains. Introduces fundamentals of single-input-single-output control system design. CROSSLISTED as ECE 356/ME 320.
Prerequisite: (ME 217 with C or better or ME 317 with C or better or ME 317H with C or better) or (ECE 351 with C or better and ECE 352 [C] and (ENGR 212 [C] or ENGR 212H [C]))
ECE 370, COMPUTER ORGANIZATION AND ASSEMBLY PROGRAMMING, 4 Credits
Explores computer organization, how major components in a computer system function together in executing a program, and assembly language.
Prerequisite: ECE 204 with C or better
ECE 372, INTRODUCTION TO COMPUTER NETWORKS, 4 Credits
Computer network principles, fundamental networking concepts, packet-switching and circuit switching, TCP/IP protocol layers, reliable data transfer, congestion control, flow control, packet forwarding and routing, MAC addressing, multiple access techniques. CROSSLISTED as CS 372/ECE 372.
Prerequisite: CS 261 with C or better and (ECE 271 [C] or CS 271 [C])
Equivalent to: CS 372
Recommended: C programming and Unix familiarity.
ECE 375, COMPUTER ORGANIZATION AND ASSEMBLY LANGUAGE PROGRAMMING, 4 Credits
Introduction to computer organization, how major components in a computer system function together in executing a program, and assembly language programming. Lec/lab.
Prerequisite: ECE 271 with C or better
Recommended: CS 261 or C/C++ programming
ECE 380, ELECTROMAGNETIC FIELDS AND WAVES, 4 Credits
Analyze static and quasi-static electric and magnetic field problems.
Prerequisite: (MTH 255 with C or better or MTH 255H with C or better) and (PH 213 [C] or PH 213H [C]) and (ENGR 202 (may be taken concurrently) [C] or ECE 202 (may be taken concurrently) [C])
ECE 390, ELECTRIC AND MAGNETIC FIELDS, 4 Credits
Static and quasi-static electric and magnetic fields.
Prerequisite: (MTH 255 with C or better or MTH 255H with C or better) and ENGR 203 (may be taken concurrently) [C] and (PH 213 [C] or PH 213H [C])
ECE 391, TRANSMISSION LINES, 3 Credits
Transient and steady-state analysis of transmission line circuits with application to engineering problems.
Prerequisite: ECE 322 (may be taken concurrently) with C or better and ENGR 203 [C] and (MTH 254 [C] or MTH 254H [C]) and (MTH 256 [C] or MTH 256H [C])
Equivalent to: ECE 391X
ECE 399, SPECIAL TOPICS, 1-16 Credits
Course work to meet students' needs in advanced or specialized areas and to introduce new, important topics in electrical and computer engineering at the undergraduate (junior/senior) level.
Equivalent to: ECE 399H
This course is repeatable for 16 credits.
ECE 401, RESEARCH, 1-16 Credits
This course is repeatable for 16 credits.
ECE 403, THESIS, 1-16 Credits
This course is repeatable for 16 credits.
ECE 404, WRITING AND CONFERENCE, 1-16 Credits
This course is repeatable for 16 credits.
ECE 405, READING AND CONFERENCE, 1-16 Credits
This course is repeatable for 16 credits.
ECE 406, PROJECTS, 1-16 Credits
This course is repeatable for 16 credits.
ECE 410, INTERNSHIP, 1-16 Credits
This course is repeatable for 16 credits.
ECE 411, ENGINEERING MAGNETICS, 3 Credits
Application of magnetic materials in the design of magnetic devices. Properties of magnetic materials; engineering design of actuators, sensors and data storage devices. Introduction to spintronics.
Prerequisite: ECE 390 with C or better
ECE 413, SENSORS, 3 Credits
Overview of sensor technologies including materials, physics of operation, applications and system integration.
Prerequisite: ECE 323 with C or better and (PH 213 [C] or PH 213H [C]) and (CH 201 [C] or (CH 121 [C] and CH 122 [C]) or ((CH 231 [C] or CH 231H [C]) and (CH 261 [C] or CH 261H [C])) )
ECE 415, MATERIAL SCIENCE OF NANOTECHNOLOGY, 3 Credits
Introductory physical chemistry of solid surfaces, thermodynamics, and kinetics applied to synthesis of nanomaterials such as nanoparticles, nanowires, thin films, carbon nanotubes, fullerenes, graphene, etc. Characterization of nanomaterials, applications of nanomaterials, nano-synthesis techniques, integration of nanotechnology, and emerging nanotechnology topics.
Prerequisite: ECE 416 with C or better or MATS 321 with C or better or MATS 321H with C or better
ECE 416, ELECTRONIC MATERIALS AND DEVICES, 4 Credits
Semiconductor fundamentals and physical principles of pn junctions and Schottky barrier diodes.
Prerequisite: (ENGR 201 with C or better or ENGR 201H with C or better) and (PH 213 [C] or PH 213H [C]) and ((CH 201 [C] or CH 231 [C] or CH 231H [C]) or (CH 121 [C] and CH 122 [C]) or ((CH 231 [C] or CH 231H [C]) and (CH 261 [C] or CH 261H [C])) )
ECE 417, BASIC SEMICONDUCTOR DEVICES, 4 Credits
Theory and physical principles of bipolar junction and field-effect transistors.
Prerequisite: ECE 416 with C or better
ECE 418, SEMICONDUCTOR PROCESSING, 4 Credits
Theory and practice of basic semiconductor processing techniques. Introduction to process simulation.
Prerequisite: ECE 416 with C or better
ECE 422, CMOS INTEGRATED CIRCUITS I, 4 Credits
Analysis and design of analog integrated circuits in CMOS technology; current mirrors, gain stages, single-ended operational amplifier, frequency response, and compensation.
Prerequisite: ECE 322 with C or better and ECE 323 (may be taken concurrently) [C]
ECE 423, CMOS INTEGRATED CIRCUITS II, 4 Credits
Analysis and design of analog integrated circuits in CMOS technology; cascaded current mirrors, cascaded gain stages, single-ended and fully differential operational amplifier, common-mode feedback, noise, and distortion.
Prerequisite: ECE 422 with C or better
ECE 431, POWER ELECTRONICS, 4 Credits
Fundamentals and applications of devices, circuits and controllers used in systems for electronic power processing.
Prerequisite: ECE 322 with C or better and ECE 323 (may be taken concurrently) [C] and ECE 351 [C]
ECE 432, DYNAMICS OF ELECTROMECHANICAL ENERGY CONVERSION, 4 Credits
Explores generalized machine theory which builds on ECE 331. Builds techniques for dynamic analysis of electromechanical machines including synchronous reference frame theory, as well as motor control structures and approaches.
Prerequisite: ECE 331 with C or better and ECE 351 [C] and ENGR 203 [C]
ECE 433, POWER SYSTEM ANALYSIS, 4 Credits
Emphasizes fundamentals and control of real and reactive power, steady-state load flow studies, unbalance, stability and transient system analysis.
Prerequisite: ECE 323 with C or better and ECE 352 [C] and (MTH 254 [C] or MTH 254H [C])
Recommended: Three-phase power
ECE 437, SMART GRID, 3 Credits
Fundamentals of smart power grids. Technology advances in transmission and distribution systems, policy drivers, assets and demand management, and smart grid security.
Prerequisite: ECE 433 with C or better
Recommended: Background in power systems analysis equivalent to ECE 433
ECE 438, ELECTRIC AND HYBRID ELECTRIC VEHICLES, 4 Credits
Reviews transportation electrification history, hybrid electric vehicle architecture, powertrain components and their modeling and control, vehicle system dynamics and controls.
Prerequisite: ECE 431 with C or better and ECE 331 (may be taken concurrently) [C]
ECE 441, ^ENGINEERING DESIGN PROJECT, 3 Credits
Exposes problem situations and issues in engineering design similar to those encountered in industry through an extended team design project.
Attributes: CSWC – Core Ed - Writing Intensive Curriculum (WIC); CWIC – Bacc Core, Skills, Writing Intensive Curriculum (WIC)
Prerequisite: ECE 342 with C or better and (WR 227Z [C] or WR 227HZ [C] or WR 327 [C] or WR 327H [C])
ECE 442, ^ENGINEERING DESIGN PROJECT, 3 Credits
Exposes problem situations and issues in engineering design similar to those encountered in industry through an extended team design project.
Attributes: CSWC – Core Ed - Writing Intensive Curriculum (WIC); CWIC – Bacc Core, Skills, Writing Intensive Curriculum (WIC)
Prerequisite: ECE 441 with C or better
ECE 443, ^ENGINEERING DESIGN PROJECT, 2 Credits
Exposes problem situations and issues in engineering design similar to those encountered in industry through an extended team design project.
Attributes: CSWC – Core Ed - Writing Intensive Curriculum (WIC); CWIC – Bacc Core, Skills, Writing Intensive Curriculum (WIC)
Prerequisite: ECE 442 with C or better
ECE 461, INTRODUCTION TO ANALOG AND DIGITAL COMMUNICATIONS, 4 Credits
Fundamental concepts of analog and digital telecommunication systems: modeling, analysis, and design of analog amplitude and angle modulation systems; probabilistic performance assessment of modulated signals over noisy channels; introduction to baseband digital modulation techniques such as binary pulse amplitude modulation and pulse position modulation and their demodulation in the presence of random noise. Lec.
Prerequisite: ECE 351 with C or better and ECE 352 [C] and ECE 353 [C]
ECE 462, DIGITAL COMMUNICATIONS AND CHANNEL CODING, 4 Credits
Modeling, analysis, design of baseband and passband digital communications systems: geometric representation of signals; correlator receivers for M-ary digital communications systems; decision theory and its application to digital communication systems in additive white Gaussian noise environment; generation, transmission, and reception of passband digital modulated signals (BPSK, QPSK, FSK PAM); basics of information theory and channel encoding. Lec.
Prerequisite: ECE 461 with C or better and ECE 351 [C] and ECE 352 [C] and ECE 353 [C]
ECE 463, WIRELESS COMMUNICATIONS NETWORK, 4 Credits
Wireless networks: personal area (IEEE 802.15.4a), local area (IEEE 802.11), metropolitan area (IEEE 802.16), and mobile cellular networks (e.g., CDMA); physical-layer techniques for data modulation and multiple access; RF system engineering aspects of mobile cellular networks (e.g., system capability for voice and packet data traffics, RF coverage for a certain propagation environment).
Prerequisite: ECE 351 with C or better and ECE 352 [C]
Recommended: Probability background and ECE 461
ECE 464, DIGITAL SIGNAL PROCESSING, 4 Credits
Analysis and design of discrete-time linear-time invariant systems for processing discrete-time signals: DT-LTI system properties, DT signal analysis using Discrete-Time Fourier Transform, Discrete Fourier Transform and z-Transform, frequency response and transfer function. Signal sampling and reconstruction, digital processing of continuous-time signals, FIR and IIR digital filter design, and filter structures.
ECE 468, DIGITAL IMAGE PROCESSING, 3 Credits
Introduction to digital image processing including fundamental concepts of visual perception, image sampling and quantization, image enhancement in spatial and frequency domains (through 2D Fourier transform), image restoration, and color image processing. Implementation of algorithms using Matlab Image Processing Toolbox.
ECE 471, ENERGY-EFFICIENT VLSI DESIGN, 4 Credits
Combinational and sequential logic design using CMOS transistors; analysis of power consumption and logic delay of digital logic; clock design including skew, jitter, and dynamic clock energy consumption; supply voltage and power supply noise sources; dynamic voltage frequency scaling (DVFS); sub-threshold logic design and effect on energy/robustness; custom digital integrated circuit design including transistor layouts and CAD entry; CMOS scaling and the effect on process variability and power consumption.
Prerequisite: ECE 271 with C or better and ECE 322 [C] and ECE 323 (may be taken concurrently) [C]
ECE 472, COMPUTER ARCHITECTURE, 4 Credits
Computer architecture using processors, memories, and I/O devices as building blocks. Issues involved in the design of instruction set architecture, processor, pipelining and memory organization. Design philosophies and trade-offs involved in Reduced Instruction Set Computer (RISC) architectures. CROSSLISTED as CS 472/ECE 472 and CS 572/ECE 572.
Prerequisite: ECE 375 with C or better
Equivalent to: CS 472
Available via Ecampus
ECE 473, MICROCONTROLLER SYSTEM DESIGN, 4 Credits
Implementation of embedded computer systems focusing on the development of hardware and software for an embedded microcontroller system. Topics include internal microcontroller architecture, interfacing peripheral devices, mixed analog and digital systems, and hardware and software implementation of several systems using a microcontroller and peripherals.
Prerequisite: ECE 322 with C or better and ECE 375 [C] and CS 261 [C]
ECE 474, VLSI SYSTEM DESIGN, 4 Credits
Examines custom and semi-custom digital integrated circuit design as used in VLSI systems. Introduces the use of CAD/CAE tools, design management, and design methodology.
ECE 476, ADVANCED COMPUTER NETWORKING, 4 Credits
Covers advanced computer networking concepts: queuing theory, quality-of-service, buffer management, resource allocation and sharing, service models, scheduling policies, and performance modeling and analysis. CROSSLISTED as CS 476/ECE 476.
Prerequisite: (CS 372 with C or better or ECE 372 with C or better) and (ECE 353 [C] or ST 314 [C] or ST 314H [C])
Equivalent to: CS 476
ECE 477, MULTIMEDIA SYSTEMS, 4 Credits
Design of multimedia systems used in information technology covering the hardware, software, applications, and networks. Components covered include multimedia representation, coding and compression techniques, wireless networks, networking for multimedia, and embedded system for multimedia.
Recommended: ECE 375
ECE 478, NETWORK SECURITY, 4 Credits
Basic concepts and techniques in network security, risks and vulnerabilities, applied cryptography and various network security protocols. Coverage of high-level concepts such as authentication, confidentiality, integrity, and availability applied to networking systems. Fundamental techniques including authentication protocols, group key establishment and management, trusted intermediaries, public key infrastructures, SSL/TLS, IPSec, firewalls and intrusion detection CROSSLISTED as CS 478/ECE 478.
Prerequisite: CS 372 with C or better or ECE 372 with C or better
Equivalent to: CS 478
Recommended: CS 370
ECE 482, OPTICAL ELECTRONIC SYSTEMS, 4 Credits
Photodetectors, laser theory, and laser systems. CROSSLISTED as ECE 482/PH 482 and ECE 582/PH 582.
Equivalent to: PH 482
ECE 483, GUIDED WAVE OPTICS, 4 Credits
Optical fibers, fiber mode structure and polarization effects, fiber interferometry, fiber sensors, optical communication systems. CROSSLISTED as ECE 483/PH 483 and ECE 583/PH 583.
Prerequisite: ECE 391 (may be taken concurrently) with C or better or PH 481 (may be taken concurrently) with C or better
Equivalent to: PH 483
ECE 484, ANTENNAS AND PROPAGATION, 4 Credits
Introduction to antennas and radiowave propagation.
ECE 485, MICROWAVE DESIGN TECHNIQUES, 4 Credits
Introduction to basic design techniques required for the design of high-frequency circuits and systems.
ECE 499, SPECIAL TOPICS, 0-16 Credits
Course work to meet students' needs in advanced or specialized areas and to introduce new important topics in electrical and computer engineering at the undergraduate level.
This course is repeatable for 16 credits.
ECE 501, RESEARCH, 1-16 Credits
This course is repeatable for 99 credits.
ECE 503, ECE MS THESIS, 1-16 Credits
This course is repeatable for 999 credits.
ECE 504, WRITING AND CONFERENCE/EXPLORATION, 1-9 Credits
This course is repeatable for 15 credits.
ECE 505, READING AND CONFERENCE, 1-16 Credits
This course is repeatable for 16 credits.
ECE 506, PROJECTS, 1-16 Credits
This course is repeatable for 16 credits.
ECE 507, SEMINAR, 1-16 Credits
This course is repeatable for 16 credits.
ECE 510, OCCUPATIONAL INTERNSHIP, 1-16 Credits
This course is repeatable for 99 credits.
Available via Ecampus
ECE 516, ELECTRONIC MATERIALS AND DEVICES, 4 Credits
Semiconductor fundamentals and physical principles of pn junctions and Schottky barrier diodes.
Recommended: ENGR 201
ECE 517, BASIC SEMICONDUCTOR DEVICES, 4 Credits
Theory and physical principles of bipolar junction and field-effect transistors.
Recommended: ECE 416
ECE 518, SEMICONDUCTOR PROCESSING, 4 Credits
Theory and practice of basic semiconductor processing techniques. Introduction to process simulation.
Recommended: ECE 416
ECE 520, ANALOG CMOS INTEGRATED CIRCUITS, 4 Credits
Principles and techniques of design of electronic circuits with focus on a design methodology for analog integrated circuits. Practical aspects of using CAD tools in analyzing and laying out circuits will be discussed.
ECE 522, CMOS INTEGRATED CIRCUITS I, 4 Credits
Analysis and design of analog integrated circuits in CMOS technology; current mirrors, gain stages, single-ended operational amplifier, frequency response, and compensation.
Recommended: ECE 322 and completion or concurrent enrollment in ECE 323
ECE 523, CMOS INTEGRATED CIRCUITS II, 4 Credits
Analysis and design of analog integrated circuits in CMOS technology; cascaded current mirrors, cascaded gain stages, single-ended and fully differential operational amplifier, common-mode feedback, noise, and distortion.
ECE 524, PHASE LOCKED LOOPS, 3 Credits
Analyzes and designs phase-locked loop (PLL) architectures and circuits for communication systems. Emphasizes fundamental understanding, design intuition, and implementation of PLLs in modern-day CMOS processes. Topics include acquisition, tracking, noise properties of PLLs, noise in LC oscillators, phase noise measurement techniques, delay-locked loops, multiplying delay locked loops and clock and data recovery circuits.
Prerequisite: ECE 520 with C or better
ECE 530, CONTEMPORARY ENERGY APPLICATIONS, 4 Credits
Contemporary energy issues and applications; fundamental physics of renewable energy sources (e.g. wind, wave, and solar), devices used to harvest energy from these sources, state-of-the-art renewable energy technology, power transmission, transformers, and energy storage.
Recommended: Matlab, basic circuit analysis with RLC components and diode
ECE 531, POWER ELECTRONICS, 4 Credits
Fundamentals and applications of devices, circuits and controllers used in systems for electronic power processing.
Recommended: ECE 322 and ECE 351 and completion or concurrent enrollment in ECE 323
ECE 532, DYNAMICS OF ELECTROMECHANICAL ENERGY CONVERSION, 4 Credits
Explores generalized machine theory which builds on ECE 331. Builds techniques for dynamic analysis of electromechanical machines including synchronous reference frame theory, as well as motor control structures and approaches.
ECE 533, POWER SYSTEM ANALYSIS, 4 Credits
Emphasizes fundamentals and control of real and reactive power, steady-state load flow studies, unbalance, stability and transient system analysis.
ECE 535, ADJUSTABLE SPEED DRIVES AND MOTION CONTROL, 3 Credits
Adjustable speed drives, associated power electronic converters, simulation and control. Lec.
Equivalent to: ECE 647
Recommended: ECE 530
ECE 536, POWER SYSTEM PROTECTION, 3 Credits
Fundamentals of protective relaying. Relay input sources. Generation, transmission, and distribution systems protection. Stability and load shedding.
ECE 537, SMART GRID, 3 Credits
Fundamentals of smart power grids. Technology advances in transmission and distribution systems, policy drivers, assets and demand management, and smart grid security.
Recommended: Background in power systems analysis equivalent to ECE 433
ECE 538, ELECTRIC AND HYBRID ELECTRIC VEHICLES, 4 Credits
Reviews transportation electrification history, hybrid electric vehicle architecture, powertrain components and their modeling and control, vehicle system dynamics and controls.
Equivalent to: ECE 534
ECE 539, ADVANCED POWER ELECTRONICS, 3 Credits
Explores advanced and emerging topics in power electronics for applications in renewable energy, transportation electrification, and grid connected systems. Focuses on advanced converter topologies, practical wide-bandgap devices, gate drives, magnetics design, modeling and control methods, thermal analysis, nonlinear and non-ideal behaviors.
Recommended: ECE 531
ECE 550, LINEAR SYSTEMS, 4 Credits
Linear dynamic systems theory and modeling.
ECE 560, STOCHASTIC SIGNALS AND SYSTEMS, 4 Credits
Stochastic processes, correlation functions, spectral analysis applicable to communication and control systems.
ECE 561, INTRODUCTION TO ANALOG AND DIGITAL COMMUNICATIONS, 4 Credits
Fundamental concepts of analog and digital telecommunication systems: modeling, analysis, and design of analog amplitude and angle modulation systems; probabilistic performance assessment of modulated signals over noisy channels; introduction to baseband digital modulation techniques such as binary pulse amplitude modulation and pulse position modulation and their demodulation in the presence of random noise. Lec.
ECE 562, DIGITAL COMMUNICATIONS AND CHANNEL CODING, 4 Credits
Modeling, analysis, design of baseband and passband digital communications systems: geometric representation of signals; correlator receivers for M-ary digital communications systems; decision theory and its application to digital communication systems in additive white Gaussian noise environment; generation, transmission, and reception of passband digital modulated signals (BPSK, QPSK, FSK PAM); basics of information theory and channel encoding. Lec.
ECE 563, WIRELESS COMMUNICATIONS NETWORK, 4 Credits
Wireless networks: personal area (IEEE 802.15.4a), local area (IEEE 802.11), metropolitan area (IEEE 802.16), and mobile cellular networks (e.g., CDMA); physical-layer techniques for data modulation and multiple access; RF system engineering aspects of mobile cellular networks (e.g., system capability for voice and packet data traffics, RF coverage for a certain propagation environment).
Recommended: Probability background and ECE 461
ECE 564, DIGITAL SIGNAL PROCESSING, 4 Credits
Analysis and design of discrete-time linear-time invariant systems for processing discrete-time signals: DT-LTI system properties, DT signal analysis using Discrete-Time Fourier Transform, Discrete Fourier Transform and z-Transform, frequency response and transfer function. Signal sampling and reconstruction, digital processing of continuous-time signals, FIR and IIR digital filter design, and filter structures.
ECE 565, ESTIMATION, FILTERING, AND DETECTION, 4 Credits
Principles of estimation, linear filtering, and detection.
Recommended: ECE 353
ECE 566, INFORMATION THEORY, 4 Credits
Introduction to information theory: entropy, differential entropy, entropy rates, mutual information, data compression, channel capacity, source coding, channel coding, network information theory.
Recommended: ECE 353 and strong mathematical background
ECE 569, CONVEX OPTIMIZATION, 4 Credits
Introduces the fundamental concepts, theories of convex and nonconvex optimization, and the algorithmic solutions as well as applications to many research disciplines including signal processing, networking, communications, and machine learning. Emphasis will be on (i) convex analysis and optimality conditions, (ii) first-order large-scale algorithms (gradient, proximal gradient, ADMM, Frank-Wolfe, stochastic gradient, block coordinate descent), and (iii) convergence analysis.
Recommended: Linear algebra and ECE 599 Matrix Analysis for Signal Processing
ECE 570, HIGH PERFORMANCE COMPUTER ARCHITECTURE, 4 Credits
Advanced concepts in computer architecture. Performance improvement employing advanced pipelining and multiple instruction scheduling techniques. Issues in memory hierarchy and management. CROSSLISTED as CS 570/ECE 570.
Equivalent to: CS 570
ECE 571, ENERGY-EFFICIENT VLSI DESIGN, 4 Credits
Combinational and sequential logic design using CMOS transistors; analysis of power consumption and logic delay of digital logic; clock design including skew, jitter, and dynamic clock energy consumption; supply voltage and power supply noise sources; dynamic voltage frequency and scaling (DVFS); sub-threshold logic design and effect on energy/robustness; custom digital integrated circuit design including transistor layouts and CAD entry; CMOS scaling and the effect on process variability and power consumption.
Recommended: ECE 271 and ECE 322 and completion or concurrent enrollment in ECE 323 (all with a minimum grade of C)
ECE 572, COMPUTER ARCHITECTURE, 4 Credits
Computer architecture using processors, memories, and I/O devices as building blocks. Issues involved in the design of instruction set architecture, processor, pipelining and memory organization. Design philosophies and trade-offs involved in Reduced Instruction Set Computer (RISC) architectures. CROSSLISTED as CS 472/ECE 472 and CS 572/ECE 572.
Equivalent to: CS 572
Recommended: ECE 375
Available via Ecampus
ECE 573, MICROCONTROLLER SYSTEM DESIGN, 4 Credits
Implementation of embedded computer systems focusing on the development of hardware and software for an embedded microcontroller system. Topics include internal microcontroller architecture, interfacing peripheral devices, mixed analog and digital systems, and hardware and software implementation of several systems using a microcontroller and peripherals.
ECE 574, VLSI SYSTEM DESIGN, 4 Credits
Examines custom and semi-custom digital integrated circuit design as used in VLSI systems. Introduces the use of CAD/CAE tools, design management, and design methodology.
ECE 576, ADVANCED COMPUTER NETWORKING, 4 Credits
Covers advanced computer networking concepts: queuing theory, quality-of-service, buffer management, resource allocation and sharing, service models, scheduling policies, and performance modeling and analysis. CROSSLISTED as CS 576/ECE 576.
Equivalent to: CS 576
ECE 577, MULTIMEDIA SYSTEMS, 4 Credits
Design of multimedia systems for information technology covering the hardware, software, applications, and networks. Components covered include multimedia representation, coding and compression techniques, wireless networks, networking for multimedia, and embedded system for multimedia.
Recommended: ECE 375
ECE 578, CYBER-SECURITY, 4 Credits
A broad overview of the field of computer and network security. Essential cryptographic mechanisms such as symmetric and public-key cryptography (e.g., encryption, signatures), network security and authentication protocols (e.g., Kerberos, TLS, IPSec), system security (e.g., access control, firewalls), advanced topics (e.g., searchable encryption, cloud security, secure computation). CROSSLISTED as CS 578/ECE 578.
Equivalent to: CS 578
ECE 580, NETWORK THEORY, 4 Credits
Linear graphs, multiport networks, and other topics in advanced network theory.
ECE 582, OPTICAL ELECTRONIC SYSTEMS, 4 Credits
Photodetectors, laser theory, and laser systems. CROSSLISTED as ECE 482/PH 482 and ECE 582/PH 582.
Equivalent to: PH 582
ECE 583, GUIDED WAVE OPTICS, 4 Credits
Optical fibers, fiber mode structure and polarization effects, fiber interferometry, fiber sensors, optical communication systems. CROSSLISTED as ECE 483/PH 483 and ECE 583/PH 583.
Equivalent to: PH 583
Recommended: Completion or concurrent enrollment in (ECE 391 or PH 481 or PH 581)
ECE 584, ANTENNAS AND PROPAGATION, 4 Credits
Introduction to antennas and radiowave propagation.
ECE 585, MICROWAVE DESIGN TECHNIQUES, 4 Credits
Introduction to basic design techniques required for the design of high-frequency circuits and systems.
ECE 586, APPLIED MATRIX ANALYSIS, 4 Credits
Focuses on the why and how advanced matrix analysis tools can solve signal processing (SP) and machine learning (ML) problems. Covers both the fundamental concepts of advanced linear algebra and their applications in the broad areas of signal processing and machine learning. Offers an in-depth close look at a series of core tasks in SP and ML that are enabled by analytical and computational tools in matrix analysis. Introduces frontier research in nonnegative matrix factorization and tensor analysis.
Equivalent to: AI 586
Recommended: MTH 341
ECE 590, ANALYTICAL TECHNIQUES IN ELECTROMAGNETIC FIELDS, 4 Credits
Basic analytical techniques required to solve meaningful field problems in engineering.
ECE 591, ADVANCED ELECTROMAGNETICS, 3 Credits
Advanced techniques for analyzing problems in electromagnetics, primarily numerical. Offered alternate years.
Recommended: ECE 590
ECE 593, RF MICROWAVE CIRCUIT DESIGN, 3 Credits
Active/passive RF and microwave circuit design with emphasis to wireless systems.
ECE 599, SPECIAL TOPICS, 0-16 Credits
Course work to meet students' needs in advanced or specialized areas and to introduce new important topics in electrical and computer engineering at the graduate level.
This course is repeatable for 99 credits.
ECE 601, RESEARCH, 1-16 Credits
This course is repeatable for 99 credits.
ECE 603, ECE PhD THESIS, 1-16 Credits
This course is repeatable for 999 credits.
ECE 605, READING AND CONFERENCE, 1-16 Credits
This course is repeatable for 16 credits.
ECE 606, PROJECTS, 1-16 Credits
This course is repeatable for 16 credits.
ECE 607, SEMINAR, 1-16 Credits
This course is repeatable for 16 credits.
ECE 611, ELECTRONIC MATERIALS PROCESSING, 3 Credits
Technology, theory, and analysis of processing methods used in integration circuit fabrication.
Equivalent to: CHE 611
ECE 612, PROCESS INTEGRATION, 3 Credits
Process integration, simulation, and statistical quality control issues related to integrated circuit fabrication.
Equivalent to: CHE 612
Recommended: ECE 611
ECE 613, ELECTRONIC MATERIALS AND CHARACTERIZATION, 3 Credits
Physics and chemistry of electronic materials and methods of materials characterization.
Equivalent to: CHE 613
ECE 614, SEMICONDUCTORS, 3 Credits
Essential aspects of semiconductor physics relevant for an advanced understanding of semiconductor materials and devices. Offered alternate years.
Equivalent to: ECE 514
Recommended: Exposure to quantum mechanics and solid state physics.
ECE 615, SEMICONDUCTOR DEVICES I, 3 Credits
Advanced treatment of two-terminal semiconductor electronic devices. Offered alternate years.
Equivalent to: ECE 515
Recommended: ECE 614
ECE 616, SEMICONDUCTOR DEVICES II, 3 Credits
Advanced treatment of three-terminal semiconductor electronic devices. Offered alternate years.
Equivalent to: ECE 516
Recommended: ECE 615
ECE 617, THIN FILM TRANSISTORS, 4 Credits
Thin-film electronics typically necessitate semiconducting materials lacking long-range order (disordered semiconductors), and hence provide a range of challenges and opportunities for device engineers. Provides a comprehensive review of the device physics and materials science of thin film electronics – in particular thin-film transistors. Provides students with the theoretical and practical knowledge to be successful in the development and study of thin film transistors, in both academic and industrial environments.
Recommended: ECE 390, ECE 416/ECE516, ECE 417/ECE 517, ECE 614
ECE 619, SELECTED TOPICS IN SOLID STATE, 3 Credits
Special courses taught on various topics in solid state as interests and demands vary.
This course is repeatable for 99 credits.
ECE 621, RADIO FREQUENCY IC DESIGN, 3 Credits
Radio frequency (RF) circuits. Principles, analysis, and design of bipolar and MOS RF IC building blocks: low noise amplifiers, mixers, oscillators, frequency synthesizers.
Recommended: (ECE 422 or ECE 522) and (ECE 423 or ECE 523) or ECE 520
ECE 626, ANALOG CMOS CIRCUIT DESIGN, 3 Credits
Switched-capacitor circuit design, on-chip filters, data converters. Practical aspects of analog CMOS IC design.
ECE 627, OVERSAMPLED DELTA-SIGMA DATA CONVERTERS, 3 Credits
Noise-shaping theory in first, second, and higher-order modulators. Design, simulation, and realization in hardware of converters using this popular architecture.
ECE 629, SELECTED TOPICS IN MICROELECTRONICS, 3 Credits
Course work to meet student's needs in advanced or specialized areas and to introduce the newest important results in microelectronics.
ECE 659, SELECTED TOPICS IN SYSTEMS AND CONTROL, 3 Credits
Course work to meet students' needs in advanced or specialized areas and to introduce the newest important results in systems and control.
This course is repeatable for 18 credits.
ECE 669, SELECTED TOPICS IN COMMUNICATIONS AND SIGNAL PROCESSING, 3 Credits
Course work to meet students' needs in advanced or specialized areas and to introduce the newest important results in signal processing.
This course is repeatable for 18 credits.
ECE 679, SELECTED TOPICS IN COMPUTER ENGINEERING, 1-16 Credits
Topics to be presented at various times include information storage and retrieval, computer architecture, fault-tolerant computing, asynchronous sequential circuits, automata, data transmission, coding theory.
This course is repeatable for 99 credits.
ECE 699, SPECIAL TOPICS, 3 Credits
Advanced studies in field and wave theories and special devices. Topic examples are microwave and acoustic devices, advanced lasers and masers, electron beam interactions with traveling waves, MHD device dynamics.
This course is repeatable for 99 credits.
Software Engineering (SE)
SE 199, SPECIAL TOPICS, 0-16 Credits
This course is repeatable for 16 credits.
SE 201, SOFTWARE DEVELOPMENT I, 4 Credits
Introduces collaborative software development of larger, object-oriented systems. Explores software architecture, and the tools, principles, and practice of modern software development.
Prerequisite: CS 162 (may be taken concurrently) with C or better or CS 162H (may be taken concurrently) with C or better
SE 299, SPECIAL TOPICS, 0-16 Credits
This course is repeatable for 16 credits.
SE 303, SOFTWARE ENGINEERING III, 4 Credits
Introduction to refactoring techniques and improving the quality and maintainability of software. Applying continuous integration and deployment tools; containers and virtual development environments.
Prerequisite: CS 362 with C or better or CS 362H with C or better
SE 399, SPECIAL TOPICS, 0-16 Credits
This course is repeatable for 16 credits.
SE 467, BUSINESS OF SOFTWARE II, 4 Credits
Become an entrepreneur. Start a real software business, from ideation to sales. Real-world, hands-on learning in a fast-paced startup environment. Development of product ideas, hypotheses, and business models to discover customers. Teamwork, management, and positioning for investment.
Prerequisite: CS 466 with C or better
SE 499, SPECIAL TOPICS, 0-16 Credits
This course is repeatable for 16 credits.