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

UW TACOMA
INSTITUTE OF TECHNOLOGY - TACOMA
COMPUTER SCIENCE & SYSTEMS - TACOMA

Detailed course offerings (Time Schedule) are available for

TCSS 142 Introduction to Programming (5) NW, QSR
Introduces the design and implementation of computer programs. Includes an introduction to program structure, data types, and object-oriented design. Prerequisite: a minimum grade of 2.0 in either TMATH 120, TMATH 121, or MATH 120, a score of 154-163 on MPT-AS test, or a score of 2 on AP exam.
View course details in MyPlan: TCSS 142

TCSS 143 Fundamentals of Object-Oriented Programming Theory and Application (5) NW, QSR
Develops fundamental concepts and techniques for analysis, design, and implementation of computer programs using an object-oriented language. Includes recursive techniques and simple data structures. Prerequisite: a minimum grade of 2.0 in either TCSS 142 or CSE 142.
View course details in MyPlan: TCSS 143

TCSS 305 Programming Practicum (5) NW, QSR
Provides a practicum in program design and development. Programming practice on a medium-scale, object-oriented application, consolidating prior programming principles and expanding knowledge of application design. Prerequisite: a minimum grade of 2.0 in either TCSS 143 or CSE 143.
View course details in MyPlan: TCSS 305

TCSS 321 Discrete Structures I (5) NW, QSR
Introduces definitions and tools for reasoning about discrete mathematical objects useful for computer professionals, including set theory, propositions and predicates, Boolean algebra, sequences, enumeration, algorithms, methods of proof, and relations. Prerequisite: a minimum grade of 2.0 in either TCSS 142, CSE 142, TMATH 124, or MATH 124.
View course details in MyPlan: TCSS 321

TCSS 322 Discrete Structures II (5)
Covers advanced topics in discrete mathematics useful for computing professionals, including basic counting techniques, discrete probability, recurrence relations, graphs, trees, and models of computation such as finite state machines and Turing machines. Prerequisite: a minimum grade of 2.0 in TCSS 321 and either TMATH 110 or TMATH 390.
View course details in MyPlan: TCSS 322

TCSS 325 Computers, Ethics, and Society (5) VLPA/I&S
Analyzes social, political, and ethical implications of computer and information technologies. Covers Western ethical theories, professional ethics, and diverse topics in computer ethics. Emphasizes writing and the construction of ethical arguments. Prerequisite: a minimum grade of 2.0 in either TCSS 143, CSE 143, T INFO 300, T INST 311, or T INST 312; 10 credits of writing coursework.
View course details in MyPlan: TCSS 325

TCSS 333 C for System Programming (5)
Introduces C as a language for exploring low-level machine characteristics and interacting with operating system services. Includes bit models for numeric data, pointers, arrays and structures, memory allocation, development of multiple file programs, libraries, system calls, and tools for compiling and linking. Prerequisite: minimum grade of 2.0 in TCSS 143.
View course details in MyPlan: TCSS 333

TCSS 342 Data Structures (5) QSR
Covers abstract data types, design and complexity analysis of data, and usage of generic data structure libraries in high-level programming languages. Includes sequential and linked lists, binary trees and balanced binary trees, B-trees, hash tables, and heaps. Prerequisite: TCSS 305; a minimum grade of 2.0 in TCSS 321.
View course details in MyPlan: TCSS 342

TCSS 343 Design and Analysis of Algorithms (5) NW
Develops competencies associated with problem-solving, algorithms, and computational models. Explores algorithms analysis and design, and computational complexity. Includes efficient algorithms, models of computation, correctness, time and space complexity, NP-complete problems, and undecidable problems. Prerequisite: minimum grade of 2.0 in TCSS 342; minimum grade of 2.0 in either TMATH 124 or MATH 124.
View course details in MyPlan: TCSS 343

TCSS 360 Software Development and Quality Assurance Techniques (5) NW
Covers how to build quality software using standard development practices and representations. Includes writing and using requirements, designing and representing computational units, rigorous program testing, reviews and inspections, and working effectively in teams. Prerequisite: a minimum grade of 2.0 in TCSS 342; 10 credits of writing coursework.
View course details in MyPlan: TCSS 360

TCSS 371 Machine Organization (5)
Develops the hardware basis for computing systems, and the relationship between hardware and software. Covers number representations, digital logic, machine organization, instruction set architecture and assembly language. Includes an introduction to C programming language and its translation into machine instructions. Prerequisite: a minimum grade of 2.0 in either TCSS 143, TCSS 333, or CSE 143.
View course details in MyPlan: TCSS 371

TCSS 372 Computer Architecture (5)
Covers the micro architecture level of machine design and advanced architecture features for performance enhancement. Subjects include bus; memory and CPU design; hardware support for operating systems; CISC/RISC architectures; and parallelism. Prerequisite: a minimum grade of 2.0 in TCSS 371.
View course details in MyPlan: TCSS 372

TCSS 390 Undergraduate Seminar in CSS (2, max. 12)
Enhances problem-solving skills. Topics and approaches vary. Includes lectures and problem sessions in mathematics, programming, problem solving, and CSS applications. Does not carry credit toward the CSS degree Credit/no-credit only.
View course details in MyPlan: TCSS 390

TCSS 421 Compiler Construction (5)
Develops student understanding of how compliers translate high level programming languages into assembly language. Includes specifying programming language syntax, building data structures, generating assembly code, and implementing a complier for a small high-level language. Prerequisite: minimum grade of 2.0 in both TCSS 342 and TCSS 371.
View course details in MyPlan: TCSS 421

TCSS 422 Computer Operating Systems (5) QSR
Examines the fundamental concepts of operating systems and how they function. Includes process management, file systems, concurrency, inter-process communication, graphical interfaces, and security. Prerequisite: a minimum grade of 2.0 in TCSS 342; a minimum grade of 2.0 in TCSS 372.
View course details in MyPlan: TCSS 422

TCSS 430 Networking and Distributed Systems (5)
Computer network architectures and protocol layers, including LANs, MANs, and WANs; OSI protocol TCP/IP, routing, congestion, and flow control; data compression; interface between the network and the program (e.g., sockets, ports, mailboxes), security issues (including authentication and authorization, encryption), distributed file systems, and remote procedure calls. Prerequisite: a minimum grade of 2.0 in TCSS 360; a minimum grade of 2.0 in TCSS 422.
View course details in MyPlan: TCSS 430

TCSS 431 Network Security (5)
Covers cryptographic methods including public and private key algorithms. Examines protocols that utilize such methods, such as secure email, digital signatures, authorization, e-voting, and electronic cash. Includes lab component for demonstration of security techniques such as firewalls, intrusion detection systems, and virtual private networks. Prerequisite: a minimum grade of 2.0 in TCSS 321 and TCSS 325
View course details in MyPlan: TCSS 431

TCSS 435 Artificial Intelligence and Knowledge Acquisition (5)
Introduction to the uses of intelligence theories, techniques, and tools. Foundational material includes search, knowledge representation, machine learning, and planning. Artificial intelligence techniques applied to practical problems in areas such as control systems, optimization, scheduling, and classification. Prerequisite: a minimum grade of 2.0 in both TCSS 322 and TCSS 342.
View course details in MyPlan: TCSS 435

TCSS 437 Mobile Robotics (5)
Explores algorithmic design options for motion control, navigation, and obstacle avoidance in mobile autonomous robots. Introduces pertinent principles from artificial intelligence and embedded real-time systems. Students construct robots from kits and program them to demonstrate sophisticated behaviors. Prerequisite: a minimum grade of 2.0 in TCSS 360; a minimum grade of 2.0 in TCSS 422.
View course details in MyPlan: TCSS 437

TCSS 440 Formal Models in Computer Science (5)
Covers languages, finite automata, regular expressions, context-free grammars, and other automata such as pushdown store machines and Turing machines. Includes models of computation, computable and non-computable functions, non-determinism, space and time complexity, tractable and intractable functions, non-determinism, space and time. Prerequisite: a minimum grade of 2.0 in TCSS 343.
View course details in MyPlan: TCSS 440

TCSS 445 Database Systems Design (5) QSR
Fundamental concepts, system organization, and implementation of database systems. Methods for obtaining requirements and designing database systems; differences between hierarchical, relational, and network database designs; file organizations and data structures; structured query language (SQL); query optimization; database design; concurrency control; security; issues involving distributed database systems. Prerequisite: a minimum grade of 2.0 in TCSS 342.
View course details in MyPlan: TCSS 445

TCSS 452 Human-Computer Interaction (5)
Examines human-centered design of interactive systems. Focuses on understanding user needs, brainstorming, sketching, choosing from among design alternatives, prototyping, usability testing, representing, communicating, and critiquing designs. Prerequisite: minimum grade of 2.0 in TCSS 143.
View course details in MyPlan: TCSS 452

TCSS 458 Computer Graphics (5) NW
Introduction to the main concepts in image synthesis, modeling, and animation. Topics include displays, drawing and rendering algorithms, geometric transformations, 2- and 3D viewing, objects representation, and computer animation. Prerequisite: a minimum grade of 2.0 in TCSS 342.
View course details in MyPlan: TCSS 458

TCSS 460 Client/Server Programming for Internet Applications (5)
Examines the languages and techniques for internet client/server application programming. Includes languages like CGI, Perl, XML, JavaScript, and DHTML, and topics like scripts, queries, forms, data access, redirection, firewalls, proxies, hypermedia, cookies, and gateways. Prerequisite: a minimum grade of 2.0 in TCSS 360.
View course details in MyPlan: TCSS 460

TCSS 465 Embedded Real-Time System Programming (5)
An examination of particular theory and practice in designing software embedded in electronic devices and controllers. Includes clocks, threads, multitasking, critical sections, monitors, scheduling, on chip and external device interfacing, communications, and fault tolerance. Prerequisite: a minimum grade of 2.0 in TCSS 422.
View course details in MyPlan: TCSS 465

TCSS 480 Comparative Programming Languages (5)
Study and comparison of several programming languages in regards to data structures, operations, notation, and control. Examines programming paradigms, implementation strategies, programming environments, and programming style. Prerequisite: a minimum grade of 2.0 in TCSS 342.
View course details in MyPlan: TCSS 480

TCSS 481 Computer Security (5)
Discusses the theoretical and practical issues surrounding computer security and data protection. Explores formal models of encryption and authentication; operating system and network security; programming and vulnerabilities analysis. Prerequisite: either T INST 312, which may be taken concurrently, or a minimum grade of 2.0 in both TCSS 342 and TCSS 325.
View course details in MyPlan: TCSS 481

TCSS 490 Special Topics in Computing and Software Systems (5, max. 10) QSR
Examines current topics and issues associated with computing and software systems.
View course details in MyPlan: TCSS 490

TCSS 491 Computational Worlds (5)
Development of large-scale software project in advanced imaging involving computational intelligence and artificial life applied to such fields as game development or virtual reality. Students work in interdisciplinary teams that integrate several computer science areas. Advanced topics: game programming, artificial life, virtual humans, and computer animation. Prerequisite: minimum grade of 2.0 in TCSS 458.
View course details in MyPlan: TCSS 491

TCSS 497 Internship in Computing and Software Systems (1-10, max. 10)
Project as delineated in a contract between student, faculty advisor, and community sponsor. Prerequisite: TCSS 360.
View course details in MyPlan: TCSS 497

TCSS 498 Directed Readings in Computing and Software Systems (1-5, max. 10)
Readings as specified in agreement with faculty. Prerequisite: TCSS 360.
View course details in MyPlan: TCSS 498

TCSS 499 Undergraduate Research in Computing and Software Systems (1-10, max. 10)
Design and implementation of a research study as specified in a contract with faculty. Prerequisite: TCSS 360.
View course details in MyPlan: TCSS 499

TCSS 523 Data Compression (5)
Covers a broad range of compression techniques, as well as their implementations in today's compression standards. Techniques include block-based codes, dictionary coding, predictive coding, vector quantization, and transform coding, including wavelets. Covers selected standards for text, image, video and audio compression.
View course details in MyPlan: TCSS 523

TCSS 540 Theory of Computing (5)
Covers computational models including finite automata, regular expressions, context-free grammars, pushdown automata, Turing machines, and techniques for analyzing them. Basic computability theory and undecidability, computational complexity theory, and NP-completeness.
View course details in MyPlan: TCSS 540

TCSS 541 Concurrency in Computation (5)
Covers the design and verification of concurrent algorithms, both for processes using shared variables and synchronization primitive and for processes using message exchange. Includes axiomatic semantics for and correctness proofs of sequential and concurrent programs, and concepts of synchronization, indivisible actions, safety, progress, and fairness.
View course details in MyPlan: TCSS 541

TCSS 543 Advanced Algorithms (5)
Prepares students for analysis and use of advanced algorithms. Covers advanced graph, number theoretical (with applications to cryptography), one-line, approximation (with performance guarantees), and probabilistic algorithms. Covers turing machines and NP-completeness. Not available for elective credit.
View course details in MyPlan: TCSS 543

TCSS 551 Big Data Analytics (5)
Examines a variety of techniques to perform data analytics and their extensions to big data infrastructure. Students will be able to identify mathematical foundations of data analytics, data analyses algorithms and tools. Introduces big data infrastructure, distributed computational paradigm, and distributed data analytics algorithms. Prerequisite: minimum grade of 3.0 in TCSS 343 and TCSS 445 or equivalent.
View course details in MyPlan: TCSS 551

TCSS 552 Interaction Design (5)
Examines the design of interactive products and services supporting human activity in a variety of settings. Focuses on user inquiry, sketching, prototyping, brainstorming, and usability testing. Cultivates reflective practice within a human-centered design paradigm.
View course details in MyPlan: TCSS 552

TCSS 554 Information Retrieval and Web Search (5)
Examines the basic principles and techniques used in information retrieval (IR) and web search, including keyword based search, content analysis (vector space model, probabilistic language models), link analysis (PageRank), indexing, text classification, document clustering, aggregated search, user-system interaction in IR, and evaluation of IR systems.
View course details in MyPlan: TCSS 554

TCSS 555 Data Mining (5)
Covers methods and systems for data mining and discovering knowledge from data; mining system architecture/tasks; concept learning; text/multimedia mining; decision trees; bayesian and belief networks; neural networks; case-based reasoning; cluster and multidimensional analysis; tools to build new applications; knowledge discovery.
View course details in MyPlan: TCSS 555

TCSS 558 Applied Distributed Computing (5)
Covers techniques and concepts associated with constructing software that is distributed, reliable, efficient, and extensible; programming multi-threaded applications, communication among objects on different computers, creating a server accessed by multiple clients, using common object design patterns, locating and tailoring components. Not available for elective credit.
View course details in MyPlan: TCSS 558

TCSS 559 Web Services (5)
Investigates a service-oriented computing paradigm for use with the Internet, web services. Includes comparisons of distributed computing paradigms, enterprise application integration, service oriented architecture, web services concepts, web services technologies, service coordination protocols, service compositions, and service applications. Prerequisite: TCSS 558.
View course details in MyPlan: TCSS 559

TCSS 564 Database Systems Internals (5)
Analyzes the internals of a database system and the principles of building a database engine, including buffer management, query execution and optimization, and transaction management. Provides hands-on experience on the internals of one of the commercial database management systems as a case study. Prerequisite: TCSS 343; TCSS 445.
View course details in MyPlan: TCSS 564

TCSS 565 Spatial Databases with Applications in Geographic Information Systems (5)
Evaluates spatial databases, and focuses on their applications in Geographic Information Systems (GIS). Covers how to describe how to represent, store, index, and process spatial objects and focus on their application in the field of Geographic Information Systems (GIS). Prerequisite: minimum grade of 3.0 in TCS 343 or equivalent.
View course details in MyPlan: TCSS 565

TCSS 566 Computer-Mediated Communications (5)
Examines the uses of computer and communications technologies, including application implementations, for supporting human-to-human communications in both personal and social contexts. Includes topics from sociological and psychological aspects needed to design effective systems. Involves development of significant collaboration application and research paper.
View course details in MyPlan: TCSS 566

TCSS 570 Introduction to Parallel Computing (5)
Covers parallel architectures, interconnection networks and embeddings; fundamental communication operations; performance and scalability metrics; parallel programming paradigms, message-passing programming in MPI, and shared-address space programming in threads; parallel algorithms for sorting, searching, matrix problems, graph problems, and dynamic load balancing. Prerequisite: TCSS 543.
View course details in MyPlan: TCSS 570

TCSS 581 Cryptology (5)
Covers simple ciphers, block and stream ciphers, attacks, public-key ciphers, electronic signature, cryptographic algorithms, and real-world examples. Prerequisite: TCSS 543.
View course details in MyPlan: TCSS 581

TCSS 588 Bioinformatics (5)
Covers methods and systems for the application of computer science to biology, medicine, genomics, and proteomics; biological domain background; machine learning; statistical learning; hidden markov models; case based reasoning; neural networks; semantic approaches; evolutionary computing; stochastic grammars and linguistics; grid computing. Prerequisite: TCSS 543.
View course details in MyPlan: TCSS 588

TCSS 590 Special Topics in Computing and Software Systems (1-5, max. 30)
Examines current graduate-level topics and issues associated with computing and software systems. Prerequisite: permission of instructor.
View course details in MyPlan: TCSS 590

TCSS 598 Masters Seminar in CSS ([1-5]-, max. 5)
Surveys the canonical literature pertinent to a master's degree in CSS. Readings in research and applied computing are assigned to provide a grounding in Masters level work. Weekly discussions of topics taken from the readings. Not available for elective credit.
View course details in MyPlan: TCSS 598

TCSS 600 Independent Study or Research (*-)
Examines current topics and issues associated with computing and software systems. Prerequisite: permission of instructor.
View course details in MyPlan: TCSS 600

TCSS 700 Master's Thesis (*-)
Provides an opportunity to demonstrate comprehensive knowledge in CSS. Completes a research project led by a CSS graduate faculty advisor. Prerequisite: TCSS 543; TCSS 558; TCSS 598; permission of instructor required
View course details in MyPlan: TCSS 700

TCSS 702 Design Project in Computing and Software Systems ([1-10]-, max. 10)
Provides an opportunity to demonstrate comprehensive knowledge in CSS. Develops a significant design and implementation project led by a CSS faculty graduate advisor. Prerequisite: TCSS 543; TCSS 558; TCSS 598; permission of instructor required.
View course details in MyPlan: TCSS 702