Search | Directories | Reference Tools
UW Home > Discover UW > Student Guide 
 | Glossary UW Seattle Course Descriptions UW Tacoma Course Descriptions
Search course descriptions with Google Custom Search:


Detailed course offerings (Time Schedule) are available for

CSS 106 Computer Animation (5) VLPA/NW, QSR
Uses the creation of computer generated animation as a means to study communication of ideas based on digital media. Studies modeling, rendering, and animation with hands-on experimentation and practices.
MyPlan Course Details: CSS 106 (student access only)

CSS 107 Introduction to Programming through Animated Storytelling (5) VLPA, QSR
Introduces the fundamentals of programming using storytelling in virtual worlds; includes creation of characters, games, short stories, storyboards, 3-D motion, classes, methods, and functions. Contemporary topics vary addressing social, scientific, and ethical issues of information technology.
MyPlan Course Details: CSS 107 (student access only)

CSS 161 Fundamentals of Computing (5) NW, QSR
Introduces programming concepts within social, cultural, scientific, mathematical, and technological context. Topics include programming fundamentals (control structures, data types and representation, operations, functions and parameters), computer organization, algorithmic thinking, introductory software engineering concepts (specifications, design, testing), and social and professional issues. Co-requisite: CSSSKL 161.
MyPlan Course Details: CSS 161 (student access only)

CSS 162 Programming Methodology (5) NW, QSR
Transition from basic programming skills to a rigorous process of software development. Familiarization with higher level programming techniques (recursion, generic programming, stacks, queues, trees, searching, and sorting). Emphasizes connection between algorithmic thought and implementation. Prerequisite: minimum grade of 2.7 in CSS 161; co-requisite: CSSSKL 162.
MyPlan Course Details: CSS 162 (student access only)

CSS 198 Supervised Study (1-5, max. 6)
Supervised exploration of computing-related topic or concept.
MyPlan Course Details: CSS 198 (student access only)

CSS 199 Computing Research (1-5, max. 6)
Exploration of computing research activities and processes as specified in a contract with a faculty member.
MyPlan Course Details: CSS 199 (student access only)

CSS 205 Women in STEM Seminar: College Life (1, max. 6) I&S, DIV
Develop effective academic strategies for women in science, technology, engineering and mathematics. Explores the representation of women in STEM as they are portrayed in literature and film. Discusses issues if STEM and gender including: mentors and support groups, social issues, role models and stereotyping, and earning respect. Credit/no-credit only.
MyPlan Course Details: CSS 205 (student access only)

CSS 211 Computers and Society (5) I&S
Exploration and discussion of issues related to the development, support, and usage of computing technology in today's society. Topics vary each quarter but may include coverage of areas such as intellectual property rights, cybersecurity, privacy, freedom of speech, liability, ethics, social justice, diversity, and labor.
MyPlan Course Details: CSS 211 (student access only)

CSS 225 Physics and Chemistry of Computer Components and Their Manufacture (5) QSR Jackels
Examination of the basic physics and chemistry underlying the design and manufacture of computer components. Introduction to the electronic structure of the solid state, the nature of p-n junctions, and basic transistor design. Aspects of materials and polymer science and photolithography employed in microchip manufacture. May not be repeated.
MyPlan Course Details: CSS 225 (student access only)

CSS 233 Interactive Media Technologies (5) QSR
Examines the core concepts and technologies used to design, build, and support interactive media applications. Creates projects using media production processes and tools and applies programming constructs, incorporates text and multimedia content, and uses standard formats and languages.
MyPlan Course Details: CSS 233 (student access only)

CSS 263 Programming and Discrete Mathematics (5)
Abstract representation as tools for software design. Fundamentals of mathematical thinking (predicate calculus, functions, relations, proofs, computational complexity) applied to abstract data types (lists, stacks) queues) and algorithmic strategies (divide-and-conquer, grey). Pointers and memory management in programming languages. Prerequisite: minimum grade of 2.5 in both CSS 162 and B CUSP 124.
MyPlan Course Details: CSS 263 (student access only)

CSS 290 Topics in Computing (1-5, max. 10)
Examines current topics and issues associated with computing that are of broad relevance.
MyPlan Course Details: CSS 290 (student access only)

CSS 301 Technical Writing for Computing Professionals (5)
Explores the most effective methods of communication based on the common expectations for computing and other engineering professionals. Examines various writing patterns commonly used in technical writing, including compare/contrast, persuasive, process, instructions, and problem/solution, and when/why is used. Prerequisite: either ENGL 182, HCDE 231, or B CUSP 135.
MyPlan Course Details: CSS 301 (student access only)

CSS 310 Information Assurance and Cyber Security (5)
Provides theoretical and practical introduction to information assurance and cyber security (IAC). Includes methods and practices for securing information and information systems. Covers how vulnerabilities arise, recognizing evolving threats, and mitigating them. Explores the role of risk analysis, information privacy, accountability, and policy.
MyPlan Course Details: CSS 310 (student access only)

CSS 330 Topics in Mathematics for Software Development (1-5, max. 10)
Topics in intermediate mathematics as applied within the context of computer software application development. Topics chosen from the fields of intermediate calculus and finite mathematics.
MyPlan Course Details: CSS 330 (student access only)

CSS 332 Programming Issues with Object-Oriented Languages (2) Zander
Covers language and development/execution environment differences, including data types, control structures, arrays, and I/O; addressing and memory management issues including pointers, references, functions, and their passing conventions; object-oriented design specifics related to structured data and classes. Co-requisite: CSS 342 Credit/no-credit only.
MyPlan Course Details: CSS 332 (student access only)

CSS 337 Secure Systems (5)
Prepares students for deploying and operating secure systems on a heterogeneous distributed infrastructure. Covers cybersecurity principles, methods, and tools used to protect against and detect external and internal threats. Addresses ethical and professional issues for cybersecurity personnel. Assumes students have basic computer administration skills. Prerequisite: CSS 161.
MyPlan Course Details: CSS 337 (student access only)

CSS 341 Fundamentals of Programming Theory and Applications (5)
Fundamental concepts and techniques for analysis, design and implementation of computer programming. Prerequisite: CSS 161; may not be repeated.
MyPlan Course Details: CSS 341 (student access only)

CSS 342 Data Structures, Algorithms, and Discrete Mathematics I (5)
Integrating mathematical principles with detailed instruction in computer programming. Explores mathematical reasoning and discrete structures through object-oriented programming. Includes algorithm analysis, basic abstract data types, and data structures. Prerequisite: minimum grade of 2.5 in CSS 162; B CUSP 124; may not be repeated.
MyPlan Course Details: CSS 342 (student access only)

CSS 343 Data Structures, Algorithms, and Discrete Mathematics II (5) Stiber, Zander
Develops competencies associated with problem-solving, algorithms, and computational models. Covers abstract data types and data structures, efficiency of algorithms, binary tree representations and traversals, searching, dictionaries, priority queues, hashing, directed graphs and graph algorithms, and language grammars. Prerequisite: minimum grade of 2.0 in CSS 301; minimum grade of 2.0 in either CSS 263 or CSS 342; minimum grade of 2.0 in either B CUSP 125 or MATH 125; may not be repeated.
MyPlan Course Details: CSS 343 (student access only)

CSS 350 Management Principles for Computing Professionals (5) Erdly
Through a team software project, explores critical interpersonal, communication, leadership, decision-making, social, and cultural theories drawn from contemporary research in anthropology, sociology, psychology, and business. Prerequisite: CSS 301, which may be taken concurrently; may not be repeated.
MyPlan Course Details: CSS 350 (student access only)

CSS 360 Software Engineering (5) Cioch
Surveys the software engineering processes, tools, and techniques used in software development and quality assurance. Topics include life-cycle models, process modeling, requirements analysis and specification techniques, quality assurance techniques, verification and validation, testing, project planning, and management. Prerequisite: either CSS 263, CSS 341 or CSS 342 which may be taken concurrently; may not be repeated.
MyPlan Course Details: CSS 360 (student access only)

CSS 370 Analysis and Design (5) Cioch
Methods and tools to capture and communicate requirements, proposed solutions, and design to management, customers, and software developers. Data, process, and object modeling using languages such as data flow diagrams, entity/relationship diagrams, and unified modeling language use cases and class and sequence diagrams. Prerequisite: 2.0 in CSS 301; 2.0 in either CSS 263 or CSS 342; 2.0 in CSS 360; may not be repeated.
MyPlan Course Details: CSS 370 (student access only)

CSS 371 The Business of Technology (5) Berger
Methods for aiding software development, communicating progress to customers/management, and developing marketing strategies for the product. Incorporates social, psychological, and ethical issues. May not be repeated. Offered: jointly with B EE 371.
MyPlan Course Details: CSS 371 (student access only)

CSS 383 Bioinformatics (5) NW Kraemer
Covers principles of bioinformatics. Students develop a working knowledge of computational tools to analyze biological datasets, including DNA and protein sequence databases. Includes topics such as: database searching, sequence alignment (DNA, RNA, and protein), BLAST, phylogeny, evolution, functional genomics, gene expression/microarray analysis, and protein analysis. Offered: jointly with B BIO 383.
MyPlan Course Details: CSS 383 (student access only)

CSS 385 Introduction to Game Development (5) VLPA/NW Sung
Examines the fundamental issues in designing and developing computer video games; creative and artistic elements, story narration, software architecture, interaction model, mathematic, physics, special effects, and in-game AI logic. Experiences elements in game design: world setting, game play, and interface; and experiences implementing games: conceptualization, prototyping, and play testing. Prerequisite: CSS 342; STMATH 308. Offered: Sp.
MyPlan Course Details: CSS 385 (student access only)

CSS 390 Special Topics (1-5, max. 10)
Examines current topics and issues associated with computing and software systems.
MyPlan Course Details: CSS 390 (student access only)

CSS 405 Women in STEM Seminar: Career/Professional Life (1, max. 6) I&S, DIV
Develops effective academic strategies for women in science, technology, engineering and mathematics. Explores the representation of women in STEM as they are portrayed in literature and film. Discusses issues of STEM and gender including: earning respect, work-life balance, social issues, connection and networks, job hunting and technical interviews. Credit/no-credit only.
MyPlan Course Details: CSS 405 (student access only)

CSS 411 Computing Technology and Public Policy (5) I&S
In depth investigation of economical, political, organizational, and societal ramifications of using computing technology. Evaluates current policy approaches, determines trends, and proposes changes. Topics vary by quarter.
MyPlan Course Details: CSS 411 (student access only)

CSS 421 Introduction to Hardware and Operating Systems (5) NW
An introduction to the architecture of modern microprocessors and operating systems. Examines the basic theories and concepts of how hardware and software cooperatively interact to accomplish real-world tasks. Prerequisite: either CSS 263 or CSS 342.
MyPlan Course Details: CSS 421 (student access only)

CSS 422 Hardware and Computer Organization (5) Berger
An introduction to the architecture, operation, and organization of a modern computing machine. Topics covered include basic logic operations, state-machines, register models, memory organization, peripherals, and system issues. Assembly language taught in order to understand the instruction set architecture and memory model of the computer. Prerequisite: CSS 342; may not be repeated.
MyPlan Course Details: CSS 422 (student access only)

CSS 427 Introduction to Embedded Systems (5) Berger
Introduction to the process of specifying and designing embedded systems. Follows the embedded systems development; software and hardware partitioning, processor selection, real-time operating systems, coding in assembly language and C, debugging, and testing. Lab experiments reinforce fundamental concepts using embedded design and debug tools. Prerequisite: CSS 422 or B EE 422; may not be repeated.
MyPlan Course Details: CSS 427 (student access only)

CSS 428 Advanced Embedded Systems (5)
Advanced topics and experiments in embedded systems. Topics may include real-time performance analysis, mission critical software design, RTOS kernel design, memory management, flash programming, VHDL design, real-world interfacing, and real-time debugging tools. Lab experiments include A/D conversion, flash programming, hard real-time interrupt-driven input/output. Prerequisite: CSS 427.
MyPlan Course Details: CSS 428 (student access only)

CSS 430 Operating Systems (5)
Principles of operating systems, including process management, memory management, auxiliary storage management, and resource allocation. Focus on the structure of the popular desktop and real-time operating systems. Prerequisite: minimum grade of 2.0 in CSS 343; may not be repeated.
MyPlan Course Details: CSS 430 (student access only)

CSS 432 Network Design (5)
Examines methods for designing LANs and WANs that optimize Quality of Service (QoS). Covers theoretical and practical element of the OSI protocol stack; routing protocols including OSPF and BGP; networking management/architecture; router configuration; security; and Internet policies. Explores emerging networking technologies. Prerequisite: CSS 301; CSS 342; may not be repeated.
MyPlan Course Details: CSS 432 (student access only)

CSS 434 Parallel and Distributed Computing (5) Fukuda
Concepts and design of parallel and distributed computing systems. Topics include: fundamentals of OS, network and MP systems; message passing; remote procedure calls; process migration and mobile agents; distributed synchronization; distributed shared memory; distributed file system; fault tolerance; and grid computing. Prerequisite: CSS 343.
MyPlan Course Details: CSS 434 (student access only)

CSS 442 Object-Oriented Programming and Design (5) Zander
Topics include advanced programming methodologies for PC/workstation-based GUI applications and object-oriented modeling, programming, and design. Study and design applications in a large-scale team environment. Introduce design patterns. Prerequisite: CSS 343; CSS 370; may not be repeated.
MyPlan Course Details: CSS 442 (student access only)

CSS 443 Advanced Programming Methodologies (5) Sung
Examines programming methodologies, both theoretical and practical application aspects. From a theoretical aspect, explores approaches to analyzing and designing algorithms. In relation to practical applications, studies thread-based distributed application development. Prerequisite: CSS 343; may not be repeated.
MyPlan Course Details: CSS 443 (student access only)

CSS 448 Introduction to Compilers (5) Zander
Introduction to the structures and organization of programming languages; fundamentals of translation; regular expressions and context-free grammars; syntax and lexical analysis, symbol tables, semantics and parsing, code generation; translation techniques such as LR, LL, and recursive descent. Prerequisite: CSS 343; may not be repeated.
MyPlan Course Details: CSS 448 (student access only)

CSS 450 Computer Graphics (5) Sung
Introduces the fundamental concepts in computer graphics: camera model, illumination models, hardware shading, transformation pipeline, scene graphs, texture mapping, and simple modeling and animation techniques. Prerequisite: minimum grade of 2.0 in CSS 342; may not be repeated.
MyPlan Course Details: CSS 450 (student access only)

CSS 451 3-D Computer Graphics (5) Sung
Introduces practical and popular three-dimensional (3-D) graphic algorithms. Examines modeling (how to build 3-D objects), animation (how to describe the motion of objects), and rendering (how to generate images of 3-D objects in animation). Prerequisite: CSS 342; STMATH 308; may not be repeated.
MyPlan Course Details: CSS 451 (student access only)

CSS 455 Introduction to Computational Science and Scientific Programming (5) Jackels
Introduction to principles and fundamental algorithms of scientific computing, including applied linear algebra and numerical methods. Group projects address current computational problems in the physical, biological, and life sciences. Prerequisite: B CUSP 125; either CSS 162 or CSS 341; may not be repeated.
MyPlan Course Details: CSS 455 (student access only)

CSS 457 Multimedia and Signal Computing (5) Stiber
How multimedia information is captured, represented, processed, communicated, and stored in computers. Topics include: physical properties of sound and images, digitization, digital signal processing, filtering, compression, JPEG and MPEG algorithms, and storage and network communication. Prerequisite: either CSS 263 or CSS 342; may not be repeated.
MyPlan Course Details: CSS 457 (student access only)

CSS 458 Fundamentals of Computer Simulation Theory and Application (5) Rasmussen
Covers all aspects of computer simulation including theory, implementation, and application. Presents real-life interdisciplinary examples. Final student project models a real-life situation with a computer simulation. Prerequisite: either CSS 263 or CSS 342; may not be repeated; recommended: statistics.
MyPlan Course Details: CSS 458 (student access only)

CSS 461 Software Project Management (5) Cioch
Fundamental skills required for effective software project management, including project planning and tracking and people management. Topics include risk analysis, project scope, scheduling, resource allocation, cost estimation, negotiation, monitoring and controlling schedule, software metrics, quality management, process improvement, staffing, leadership, motivation, and team building. Prerequisite: CSS 360; may not be repeated.
MyPlan Course Details: CSS 461 (student access only)

CSS 473 Entrepreneurship Seminar (5)
Creates or works within a new venture. New venture situations include for-profit and non-profit companies and launching new products/services within existing companies. Develops a business plan. Offered: jointly with B BUS 443.
MyPlan Course Details: CSS 473 (student access only)

CSS 474 Product Development Lab (5)
Includes a technology project and product development within the dynamic of time-pressured competition. Focuses on systematically improving products to beat competition and win the customer. Topics include benchmarking, competitive intelligence, and managing small group product development. Offered: jointly with B BUS 444.
MyPlan Course Details: CSS 474 (student access only)

CSS 475 Database Systems (5)
Methods for obtaining requirements and designing database systems; differences between hierarchical, relational, and network database designs; techniques for designing and coding effective reporting procedures. Prerequisite: either CSS 263, CSS 341 or CSS 342; CSS 360; may not be repeated.
MyPlan Course Details: CSS 475 (student access only)

CSS 478 Usability and User-Centered Design (5)
Application of human information processing models, theories and human-computer interaction principles for designing interactive systems. Emphasis is on how usability methods could be incorporated into the system design lifecycle. Topics include user survey, heuristic evaluation, task analysis and experimental testing. Prerequisite: CSS 360; may not be repeated.
MyPlan Course Details: CSS 478 (student access only)

CSS 480 Principles of Human-Computer Interaction (5) Erdly
Examines fundamentals of human perception, human cognition, attention and memory constraints; role of user experience and intelligence; input and output devices; standards compliance; design of systems for individual versus collaborative work settings; rapid prototyping, user-centered design techniques, and design evaluation methods. Prerequisite: CSS 360; may not be repeated.
MyPlan Course Details: CSS 480 (student access only)

CSS 482 Expert Systems (5)
Theory and application of expert systems: computer systems that capture and use human expertise. Applications include computer configuration, fault diagnosis, computer-aided instruction, data interpretation, planning and prediction, and process control. Prerequisite: CSS 343; may not be repeated.
MyPlan Course Details: CSS 482 (student access only)

CSS 485 Introduction to Artificial Neural Networks (5) Stiber
Application of biological computing principles to machine problem solving. State of the art in artificial neural networks (ANNs), including vision, motor control, learning, data analysis. Topics include ANN architectures, algorithms: perceptrons, Widrow-Hoff, backpropagation, Hebbian networks. Prerequisite: CSS 343; may not be repeated; recommended: prior exposure to linear algebra, probability, and calculus.
MyPlan Course Details: CSS 485 (student access only)

CSS 487 Computer Vision (5) Olson
Methods for extracting content from digital images. Topics typically include linear filters, edge detection, segmentation, stereo vision, motion estimation, and object recognition: Examines applications of computer vision, such as image databases and robot navigation. Prerequisite: CSS 343.
MyPlan Course Details: CSS 487 (student access only)

CSS 490 Special Topics in Computing and Software Systems (1-5, max. 20)
Examines current topics and issues associated with computing and software systems. Offered: AWSpS.
MyPlan Course Details: CSS 490 (student access only)

CSS 496 Applied Computing Capstone (5)
Group seminar project requires software development and research project in applied computing. Objectives include: integrating minor or concentration with computing, reviewing professional literature, writing technical documents, and presenting project results to technologists/end-users. Prerequisite: CSS 301; CSS 342; CSS 350; CSS 360; CSS 421; three additional CSS courses.
MyPlan Course Details: CSS 496 (student access only)

CSS 497 Computer Science and Software Engineering Capstone ([1-10]-, max. 10)
Completion of project as delineated in a contract between student, faculty advisor, and community sponsor. Prerequisite: CSS 350; CSS 370; CSS 422; CSS 430; two additional CSS courses.
MyPlan Course Details: CSS 497 (student access only)

CSS 498 Independent Study (1-5, max. 10)
Individual study by arrangement with instructor.
MyPlan Course Details: CSS 498 (student access only)

CSS 499 Undergraduate Research (0-5, max. 10)
Design and implementation of a research study as specified in a contract with a faculty member.
MyPlan Course Details: CSS 499 (student access only)

CSS 501 Data Structures and Object-Oriented Programming I (4)
Covers data structures and object-oriented programming. Studies basic and advanced data types, their uses, and implementations. Students design solutions to programming problems using object-oriented techniques with various data types. Covers algorithms and their tradeoffs. Uses modern software engineering practices.
MyPlan Course Details: CSS 501 (student access only)

CSS 502 Data Structures and Object-Oriented Programming II (4)
Covers advanced data structures including trees, balanced trees, heaps, graphs, and hash tables along with associated algorithms. Covers object-oriented programming with a focus on design and implementation of problems using inheritance and polymorphism. Introduces formal automata theory. Prerequisite: minimum grade of 2.7 in CSS 501.
MyPlan Course Details: CSS 502 (student access only)

CSS 503 Systems Programming (4)
Examines the logical design and programming aspects of operating systems and network communication. Topics include processes, threads, synchronization, deadlocks, memory management, virtual memory, file systems, and client-server network programming. Prerequisite: minimum grade of 2.7 in CSS 502.
MyPlan Course Details: CSS 503 (student access only)

CSS 506 Software Development Processes (2)
Provides a foundation in software engineering processes, methods, and practices associated with prescriptive and agile software process models. Includes the creation of artifacts commonly used to communicate, justify, and manage computing projects.
MyPlan Course Details: CSS 506 (student access only)

CSS 507 Software Modeling Techniques (2)
Provides the concepts and skills needed to use modeling in software analysis and design to foster understanding and communications of a problem and its potential solutions. Includes the creation of modeling artifacts for projects by hand and using CASE tools. Prerequisite: CSS 506.
MyPlan Course Details: CSS 507 (student access only)

CSS 508 Software Testing and Quality (2)
Reviews approaches, concepts, and techniques used to validate and verify software and methods used to improve software processes. Students reflect on the applicability of software engineering and computer science methods. Prerequisite: CSS 507.
MyPlan Course Details: CSS 508 (student access only)

CSS 514 Security, Policy, Ethics, and the Legal Environment (2)
Addresses ethical, legal, and policy frameworks within which information assurance and secure development lifecycle professionals must practice. Covers ethical, moral, legal and policy issues related to computers and telecommunications systems, such as how they impact privacy, fair information practices, equity, content control, and freedom of electronic speech.
MyPlan Course Details: CSS 514 (student access only)

CSS 517 Information Assurance and the Secure Development Lifecycle (5)
Covers the foundations of Information Assurance (IA) and the Secure Development Lifecycle (SDL) needed to understand and apply best practices for development and on-going support of secure software systems in organizations. Uses workshops and applied project to practice methods and create artifacts important to IA principles.
MyPlan Course Details: CSS 517 (student access only)

CSS 519 Incident Response and Recovery (5)
Explores management of response to security incidents including identification, examination, and integration of diverse crisis and emergency management, disaster recovery, and organizational continuity management issues. Also covers incident tracking, patch management, and corrective responses to internal and external stakeholders. Prerequisite: CSS 517.
MyPlan Course Details: CSS 519 (student access only)

CSS 527 Cryptography and Data Assurance (5)
Explores symmetric and asymmetric cryptography, key management, and encryption algorithms such as DES, AES, RSA, and PGP. Discusses OKI, SSL, and VPN including how to use protocols, hashing, digital signatures, and certificates and certificate authorities. Covers policies, procedures, and methods for the proper use of cyptography in secure systems.
MyPlan Course Details: CSS 527 (student access only)

CSS 533 Distributed Computing (5)
Builds on knowledge of advanced programming methodologies in distributed computing. Topics include message passing, indirect communication, remote method invocation, distributed objects, multi-tier server-side programming, peer-to-peer systems, distributed synchronization, distributed check-pointing, and replica management.
MyPlan Course Details: CSS 533 (student access only)

CSS 534 Parallel Programming in Grid and Cloud (5)
Exploration of theoretical programming methodology and practical middleware design used for parallel programming in grid and cloud systems. Uses different programming models, parallelizing patterns, and middleware systems for designing application-specific fault-tolerant parallel software.
MyPlan Course Details: CSS 534 (student access only)

CSS 543 Advanced Programming Methodologies (5)
Builds on knowledge of data structures and operating systems, introducing thread based and component based multi-tier programming. Reviews synchronization mechanisms and design/implementation of concurrent applications, discusses language/system independent software resuse, component technology, and multi-tier application design and development.
MyPlan Course Details: CSS 543 (student access only)

CSS 545 Mobile Computing (5)
Covers concepts related to systems once can build located at the intersections of pocket size computing devices; location aware technologies; mobile web services; and integrated sensors such as touch- and gesture-based UIs. Uses programming projects to explore the concepts and application in each area, and enable students to define a final project to combine and intersect the above areas.
MyPlan Course Details: CSS 545 (student access only)

CSS 548 Introduction to Compilers (5) Zander
Introduces the structures and organization of programming languages; fundamentals of translation; regular expressions and context-free grammars; syntax lexical analysis, symbol tables, semantics and parsing, code generation; translation techniques such as LR, LL, and recursive descent. Offered: A.
MyPlan Course Details: CSS 548 (student access only)

CSS 549 Algorithm Design and Analysis (5)
Covers fundamental techniques for algorithm design and analysis, such as computational complexity, greedy algorithms, divide-and-conquer algorithms, dynamic programming, graph algorithms, randomized algorithms, and computational intractability.
MyPlan Course Details: CSS 549 (student access only)

CSS 552 Topics in Rendering (5) Sung
Studies core algorithms and technologies in synthesizing high quality images, including: camera models, 3D viewing, visibility sampling and approximation, light source models, material property approximation, illumination models, human vision system, and texture synthesis. Prerequisite: CSS 451. Offered: W.
MyPlan Course Details: CSS 552 (student access only)

CSS 553 Software Architecture (5)
Studies the concepts, representations techniques, development methods, and tools for structuring software systems. Topics include domain-specific software architectures, architecture description languages, architectural styles, product line architectures, and standards. Combines hands-on experience designing software with an understanding of recent developments in the field.
MyPlan Course Details: CSS 553 (student access only)

CSS 555 Evaluating Software Design (5)
Studies best software engineering practices and methods used in prescriptive and agile approached to create and evaluate software design from an quality principled point-of-view. Considers design from quality dimensions such as performance, scalability, maintainability, usability, and security.
MyPlan Course Details: CSS 555 (student access only)

CSS 565 Research Methods in Software Development (5)
In-depth study of research design and data analysis techniques for computing-related research activities. Students prepare a research proposal; examine experimental, quasi-experimental, and qualitative design strategies; perform meta-analytic research, define and collect appropriate software metrics; and perform appropriate advanced statistical analyses.
MyPlan Course Details: CSS 565 (student access only)

CSS 572 Evidence-Based Design (5)
Provides a foundation in evidence-based user-centered design theory, methods, and practices for creating innovative software-enabled products.
MyPlan Course Details: CSS 572 (student access only)

CSS 577 Secure Software Development (5)
Examines secure design and secure coding principles, practices, and methods including least privilege, threat modeling, and static analysis. Covers common vulnerabilities such as buffer overruns, integer overflows, injection attacks, cross-site scripting, and weak error handling in detail.
MyPlan Course Details: CSS 577 (student access only)

CSS 581 Machine Learning (5)
Theory and practical use of machine learning techniques, such as decision trees, logistic regression, discriminant analysis, neural networks, naive Bayes, k-nearest neighbor, support vector machines, collaborative filtering, clustering, and ensembles. Emphasizes hands-on experience with real-world datasets, combined with several programming projects.
MyPlan Course Details: CSS 581 (student access only)

CSS 583 Knowledge Management Systems (5)
Explores contemporary theoretical and practical implications of how to create and manage knowledge as acquired using technology. Uses different strategies such as XML, RDF, RDFS, and other approaches to provide methods and structures to organize and reference data for use within a variety of knowledge domains.
MyPlan Course Details: CSS 583 (student access only)

CSS 587 Advanced Topics in Computer Vision (5)
Covers advanced topics in computer vision. Includes image and video databases, object recognition, video processing, scene reconstruction, and robot vision. Students implement projects on current topics in computer vision research.
MyPlan Course Details: CSS 587 (student access only)

CSS 590 Special Topics in Computing (5, max. 15)
Special topics in computer science and software engineering. Prerequisite: permission of instructor.
MyPlan Course Details: CSS 590 (student access only)

CSS 593 Cyber Security Engineering Capstone (5)
Students apply their knowledge and skills related to information assurance (IA) and cyber security to capstone projects sourced from work, research, class activities, or the community. Students present a portfolio that justifies how their work meets best IA and cyber security practices. Prerequisite: CSS 519; CSS 577; CSS 578.
MyPlan Course Details: CSS 593 (student access only)

CSS 595 Capstone Project I (5)
First of the two-quarter capstone project sequence. Prerequisite: permission of instructor.
MyPlan Course Details: CSS 595 (student access only)

CSS 596 Capstone Project II (5)
Second of the two-quarter capstone project sequence. Prerequisite: minimum grade of 2.7 in CSS 595; permission of instructor.
MyPlan Course Details: CSS 596 (student access only)

CSS 600 Independent Study or Research (1-5, max. 6)
Independent study or research on computing topics conducted under the direction of one or more instructors. Offered: AWSpS.
MyPlan Course Details: CSS 600 (student access only)

CSS 601 INTERNSHIP (1-5, max. 10)
Graduate internship under the supervision of a CSS faulty member.
MyPlan Course Details: CSS 601 (student access only)

CSS 700 Master's Thesis (*-)
MyPlan Course Details: CSS 700 (student access only)