CSSAP 490 Special Topics in Application Development (5, max. 15)
Examines current topics and issues associated with Application Development.
CSS 105 Interdisciplinary Information Technology (5) QSR
Excursions
into the characteristics, organization, and use of computers and
computing. Designed for non-CSS majors. Topics vary, addressing social,
scientific, ethical, and business underpinnings and implications of
information technology. Explores applications used in problem solving.
Does not count credit toward the CSS degree or CSS minor.
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.
CSS 161 Fundamentals of Computing (5) NW,QSR
Introduction
to 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
(history, ethics, applications).
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) and constructs (object-orientation,
lists, stacks, queues, searching, sorting). Emphasizes connection
between mathematical/algorithmic thought (logic, sets, functions,
number bases) and implementation. Prerequisite: minimum grade of 2.0 in
CSS 161.
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 include coverage of areas related to intellectual property rights,
privacy, freedom of speech, liability, ethics, and labor.
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.
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,
greedy). Pointers and memory management in programming languages.
Prerequisite: minimum grade of 2.0 in both CSS 162 and B CUSP 124.
CSS 301 Technical Writing for Computing Professionals (5)
Explores
methods for writing effective system specifications, user documentation
and requests for proposals (RFPs). Examines RFP analysis techniques,
writing plans, proposals, marketing documentation, and customer
communications. May not be repeated.
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.
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
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.
CSS 342 Mathematical Principles of Computing (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. May not be repeated.
Instructor Course Description:
Michael D Stiber
CSS 343 Data Structures and Algorithms (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: 2.0 in CSS 301;
2.0 in either CSS 263 or CSS 342; may not be repeated.
Instructor Course Description:
Michael D Stiber
Carol Zander
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.
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: CSS 301, which
may be taken concurrently; either CSS 263, CSS 341 or CSS 342 which may
be taken concurrently; may not be repeated.
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.
CSS 371 The Business of Computing (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.
CSS 390 Special Topics (1-5, max. 10)
Examines current topics and issues associated with computing and software systems.
Instructor Course Description:
Mark Kochanski
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.
CSS 421 Introduction to Hardware and Operating Systems (5) NW,QSR
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.
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 301; either CSS 263 or CSS 342; may not be
repeated.
CSS 427 Introduction to Embedded Systems (5) Berger
Introduction
to the process of specifying, designing, and testing embedded systems.
Follows the embedded systems development. Covers software and hardware
partitioning, processor selection, real-time operating systems,
embedded software design in assembly language and C, debugging, and
testing. Prerequisite: CSS 422; may not be repeated.
CSS 428 Embedded Systems Laboratory (3)
Principles
and development of embedded software for real-time applications using
C, C++, and assembly language. Topics include file format, using an
Integrated Design Environment, logic analysis, in-circuit emulation
tools, interrupt-driven programming applications, measuring cache
performance, FLASH algorithms and analog to digital conversion.
Prerequisite: CSS 422.
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: CSS 343; may not be repeated.
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 422; may not be repeated.
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.
Instructor Course Description:
Munehiro Fukuda
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.
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.
Instructor Course Description:
Kelvin H. Sung
CSS 448 Translation of Programming Languages (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.
CSS 450 Computer Graphics (5) Sung
Introduces
the hardware devices, reviews the mathematics, and discusses the
algorithms of computer graphics in 2-D space. Discusses basic computer
graphics terminology, concepts, algorithms, and how to design and
implement 2-D interactive computer graphics-related programs.
Prerequisite: CSS 343; may not be repeated.
Instructor Course Description:
Kelvin H. Sung
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 450; may not be
repeated.
Instructor Course Description:
Kelvin H. Sung
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: either CSS 263, CSS 341 or CSS 342 which
may be taken concurrently; may not be repeated.
Instructor Course Description:
Charles F Jackels
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.
Instructor Course Description:
Michael D Stiber
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.
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.
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.
CSS 478 Usability and User-Centered Design (5) Liu
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.
CSS 480 Principles of Human-Computer Interaction (5) Liu
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.
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.
Instructor Course Description:
Michael D Stiber
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.
Instructor Course Description:
Michael D Stiber
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.
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.
Instructor Course Description:
Alan Leong
CSS 496 Applied Computing Seminar (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 343; CSS 350; CSS
360; CSS 421; three additional CSS courses.
CSS 497 Cooperative Education (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.
CSS 498 Independent Study (1-5, max. 10)
Individual study by arrangement with instructor.
CSS 499 Undergraduate Research (1-5, max. 10)
Design and implementation of a research study as specified in a contract with a faculty member.
CSSIE 490 Special Topics in Information Engineering: (5)
Examines current topics and issues associated with information engineering.
CSSSA 490 Special Topics in Systems Analysis (5, max. 15)
Examines current topics and issues associated with systems Analysis.