Business
| Education | Engineering
| Graduate School of Public
Affairs | Letters, Arts, and Sciences | Nursing
College
of Engineering and Applied Science
Computer
Science
C
S 100-3. Computer Literacy.
The
role of computers in society with an introduction to programming in basic.
The student is introduced to the concepts and operations of a
microcomputer including several typical software environments such as word
processing, spread sheet accounting, and database systems. The history and
impact of computing in society is covered. This is the most elementary
course offered by the computer science department. This course is not for
CS or engineering majors. Prer., High school algebra.
C
S 101-1 to 3. Topics in Computer Science.
Content
will vary to reflect areas of current interest in computer science. Prer.,
instructor consent.
C
S 103-1. Introduction to Microsoft Word.
Introduction
to word processing and the specifics of using the Microsoft Word for
Windows system. Students will learn to create, format, and edit documents
using Word.
C
S 104-1. Introduction to Microsoft Excel.
Introduction
to spreadsheets and the specifics of using the Microsoft Excel for Windows
system. Students will learn to create, edit, and print spreadsheets using
Excel.
C
S 105-3. Introduction to Programming with FORTRAN for Non-majors.
An
introductory course in FORTRAN programming. Topics include top-down
analysis of problems, structured programming, data storage, control
statements, loops and subprograms. Programming assignments are oriented
more toward scientific applications. This course is not for computer
science majors. Prer., High School algebra.
C
S 106-3. Introduction to Programming with C for Non-majors.
An
introductory course in C programming. Topics include top-down analysis of
problems, structured programming, data storage, control statements, loops
and subprograms. This course is not for computer science majors. Prer.,
High School algebra.
C
S 107-3. Introduction to Programming in Visual BASIC for Non-Majors.
Introduction
to using visual basic to design and implement programs that interface with
their users through Microsoft Windows. Prer., High school algebra.
C
S 115-3. Principles of Computer Science.
Introduction
to programming with emphasis on computer science concepts. Develops
methods for computer problem solving. Develops proficiency for programming
in a modern programming language, and introduces the concepts of
abstraction in problem solving. Includes basic concepts of computer
systems and environments including debuggers, editors, and file systems.
Prer., High school algebra and familiarity with computer concepts
including file operations and text editing.
C
S 145-3. Data Structures and Algorithms.
Concepts
of data type, data abstraction, and data structure. Internal
representations of fundamental data types. Linear data structures: stack,
queue. Linked data structures and dynamic data types. Search table data
abstraction, linear search in arrays and lists, binary search in arrays
and trees. Binary trees, non-binary trees, binary search trees. Prer., C S
115 or equivalent.
C
S 201-1 to 3. Topics in Computer Science.
Content
will vary to reflect the areas of current interest in computer science. As
the courses continually change, students may take the course several times
for elective credit. Prer., Consent of instructor.
C
S 202-3. Programming with UNIX.
An
introduction to the UNIX operating system with an emphasis on the
development of C and command shell programs. Prer., C S 145 and
proficiency in C.
C
S 203-1 to 3. Topics in Computer Science.
Content
will vary to reflect the areas of current interest in computer science. As
the courses continually change, students may take the course several times
for elective credit. Prer., Consent of instructor.
C
S 205-1 to 3. Topics in Computer Science.
Content
will vary to reflect the areas of current interest in computer science. As
the courses continually change, students may take the course several times
for elective credit. Prer., Consent of instructor.
C
S 206-2. Programming with C.
A
first course in the C programming language for those who are proficient in
some other high level language. Prer., C S 115.
C
S 201-1 to 3. Topics in Computer Science.
Content
will vary to reflect the areas of current interest in computer science. As
the courses continually change, students may take the course several times
for elective credit. Prer., Consent of instructor
C
S 201-1 to 3. Topics in Computer Science.
Content
will vary to reflect the areas of current interest in computer science. As
the courses continually change, students may take the course several times
for elective credit. Prer., Consent of instructor
C
S 216-3. Computer Organization and Assembly Language Programming.
Provides
an introduction to the concepts of computer architecture, functional
logic, design and computer arithmetic. It presents material on the
mechanics of information transfer and control within a computer system.
Also included are symbolic programming techniques, implementing high level
control structures, addressing modes and their relation to arrays,
subprograms, parameters, linkage to high level languages and the assembly
process. Prer., C S 145 and knowledge of C programming including pointers.
C
S 301-3. Web Programming.
An
introduction to the programming languages and technologies associated with
the Web. Included are XHTML, cascading style sheets, JavaScript, dynamic
XHTML documents, applets, XML, Perl and its use in CGI programming, java
Servlets and web access to databases. Prer., C S 316.
C
S 302-1 to 3. Selected Topics in Computer Science.
The
content of these courses will vary from time to time and reflect the areas
of current interest in Computer Science. As the courses continually
change, students may take the course several times for technical elective
credit. Prer., Instructor consent.
C
S 303-1 to 3. Selected Topics in Computer Science.
The
content of these courses will vary from time to time and reflect the areas
of current interest in Computer Science. As the courses continually
change, students may take the course several times for technical elective
credit. Prer., Instructor consent.
C
S 304-1 to 3. Selected Topics in Computer Science.
The
content of these courses will vary from time to time and reflect the areas
of current interest in Computer Science. As the courses continually
change, students may take the course several times for technical elective
credit. Prer., Instructor consent.
C
S 305-1. Social and Ethical Implications of Computing.
This
class will discuss selected topics in ethical, social, political, legal
and economic aspects of the application of computers. Each student is
expected to research one or more topics, actively participate in
discussions, and give a presentation. Written papers may be required. Prer.,
C S 202 or instructor consent.
C
S 306-3. Object-Oriented Programming Using C++.
The
principal goals of this course are: 1) to learn the fundamentals of
object-oriented programming, 2) to gain skill and proficiency in using the
C++ programming language, 3) to exercise the C++ language in implementing
a moderate sized software system designed with objects. Prer., C S 202 and
ECE 1011 or instructor consent.
C
S 316-3. Concepts of Programming Languages.
Evolution
of the central concepts of programming languages, describing syntax and
semantics, data types, abstract data types, control structures,
subprograms, concurrency and exception handling. Prer., C S 216 and C S
306.
C
S 330-3. Software Engineering.
Software
engineering methodologies. The software lifecycle. Emphasis on the design,
development and implementation of a software system. A course project
provides the student teams practical application of the software
engineering techniques. Prer., C S 145 and C S 202.
C
S 401-1 to 3. Selected Topics in Computer Science.
The
content of these courses will vary from time to time and reflect the areas
of current interest in Computer Science. As the courses continually
change, students may take the course several times for elective credit.
Prer., Instructors consent.
C
S 402-1 to 3. Selected Topics in Computer Science.
The
content of these courses will vary from time to time and reflect the areas
of current interest in Computer Science. As the courses continually
change, students may take the course several times for elective credit.
Preq., Instructor consent.
C
S 403-1 to 3. Selected Topics in Computer Science.
The
content of these courses will vary from time to time and reflect the areas
of current interest in Computer Science. As the courses continually
change, students may take the course several times for elective credit.
Preq., Instructor consent.
C
S 405-1 to 3. Selected Topics in Computer Science.
The
content of these courses will vary from time to time and reflect the areas
of current interest in Computer Science. As the courses continually
change, students may take the course several times for elective credit.
Preq., Instructor consent.
C
S 406-1 to 3. Selected Topics in Computer Science.
The
content of these courses will vary from time to time and reflect the areas
of current interest in Computer Science. As the courses continually
change, students may take the course several times for elective credit.
Preq., Instructor consent.
C
S 407-1 to 3. Selected Topics in Computer Science.
The
content of these courses will vary from time to time and reflect the areas
of current interest in Computer Science. As the courses continually
change, students may take the course several times for elective credit.
Preq., Instructor consent.
C
S 408-1 to 3. Selected Topics in Computer Science.
The
content of these courses will vary from time to time and reflect the areas
of current interest in Computer Science. As the courses continually
change, students may take the course several times for elective credit.
Preq., Instructor consent.
C
S 409-1 to 3. Selected Topics in Computer Science.
The
content of these courses will vary from time to time and reflect the areas
of current interest in Computer Science. As the courses continually
change, students may take the course several times for elective credit.
Preq., Instructor consent.
C
S 410-3. Compiler Design I.
Underlying
theory and design techniques for compilers. Lexical analysis, top-down and
bottom-up parsing algorithms, runtime storage management, syntax directed
translation schemes, intermediate code generation. Prer., C S 216, C S 316
and C S 470/570. Meets with C S 510.
C
S 420-3. Computer Architecture I.
Course
covers fundamentals of computer design, instruction set principles and
examples, pipelining, advanced pipelining and instruction-level
parallelism, memory-hierarchy design and survey of design issues in
storage, interconnection network and multiprocessor systems. Prer., C S
216. Meets with C S 520.
C
S 438-3. Object-Oriented Software Construction: Foundations of OOP.
The
basic principles and subtleties of object-oriented programming are
presented. The notation used to support the principles will be Eiffel.
Prer., C S 316.
C
S 442-3. Database Systems I.
Course
introduces general database concepts as well as database system
technology. The course covers ER and R data models, R-algebra, SQL, data
storage and indexing, query optimization, database design and security.
Prer., C S 145. Meets with C S 542.
C
S 450-2. Operating Systems I.
Introduces
concepts, terminology, and algorithms of operating systems. Describes
semaphores, processes, virtual mappings, interrupts, resource allocation
and management, protection, synchronization, scheduling, queueing and
communication as applied to operating system design and implementation.
Prer., C S 145, C S 202, C S 216, C S 420. Meets with C S 550.
C
S 460-3. Numerical Computing.
Algorithms
for the solution of nonlinear equations, interpolation and approximation,
differentiation, integration, systems of linear equations, ordinary
differential equations and least squares. Prer., C S 145, MATH 235 and
MATH 313. Meets with C S 560.
C
S 470-3. Computability, Automata and Formal Languages.
Finite
automata and regular expressions, context-free grammars, context-free
languages, and pushdown automata, Turning machines, undecidability, the
Chomsky hierarchy of formal languages, computational complexity and
intractable problems. Prer., C S 145, C S 202, MATH 215, & MATH 313.
Meets with C S 570.
C
S 472-3. Design and Analysis of Algorithms.
Design
methodologies; divide-and-conquer, exhaustive search, dynamic programming.
Time and space complexity measures, analysis of algorithms. Survey of
important algorithms for searching, sorting, graph manipulation.
Tractability: class P and NP, NP complete problems. Prer., C S 145, C S
202 and MATH 215. Meets with C S 572.
C
S 480-3. Computer Graphics.
Fundamental
areas of modern raster computer graphics: hardware, software, data
structures, mathematical modeling, user interface and manipulation of
graphical objects. A subset of the two dimensional GKS is examined and
implemented with emphasis placed upon segmented display files and instance
modeling. Basic to all graphic programs written are the ergonomic
requirements of the user. Required programs are in the areas of animation,
paint systems, polygon filling and clipping, and curve generation. Prer.,
C S 145, C S 202, and MATH 313. Meets with C S 580
C
S 482-3. Functional and Logical Programming for Artificial Intelligence.
Course
focuses on functional programming using LISP and logical programming using
Prolog. Programming projects are geared towards various aspects of
artificial intelligence. Prer., C S 316 or consent of instructor.
C
S 501-3. Intensive Computer Science for Graduate Students.
Intended
for prospective graduate students with extensive programming experience.
Covers concepts in C S 115 and C S 145. Can substitute for these courses
in satisfying entrance requirements for M.S. in Computer Science. Does not
count towards M.S. or B.S. degrees. Not open to undergraduate. Prer.,
Knowledge of high-level programming language.
C
S 502-1 to 3. Selected Topics in Computer Science.
Topics
vary.
C
S 503-1 to 3. Selected Topics in Computer Science.
Topics
vary.
C
S 505-1 to 3. Selected Topics in Computer Science.
Topics
vary.
C
S 506-1 to 3. Selected Topics in Computer Science.
Topics
vary.
C
S 507-1 to 3. Selected Topics in Computer Science.
Topics
vary.
C
S 508-1 to 3. Selected Topics in Computer Science.
Topics
vary.
C
S 509-1 to 3. Selected Topics in Computer Science.
Topics
vary.
C
S 510-3. Compiler Design.
Underlying
theory and design techniques for compilers. Lexical analysis, top-down and
bottom-up parsing algorithms, runtime storage management, syntax directed
translation schemes, and intermediate code generation. Prer., C S 216, C S
316 and C S 470/570. Meets with C S 410.
C
S 520-3. Computer Architecture I.
Course
covers fundamentals of computer design, instruction set principles and
examples, pipelining, advanced pipelining and instruction-level
parallelism, memory-hierarchy design and survey of design issues in
storage, interconnection network and multiprocessor systems. Prer., C S
216. Meets with C S 420.
C
S 522-3. Computer Communication.
The
subject of transmitting information between processors is described in
detail. The student is expected to have maturity with hardware and/or
realtime concepts. Communication systems, from simple to asynchronous
point-to-point links, to those based on complex network architectures will
be studied. Material will be oriented toward the computer scientist as a
user, designer and evaluator of such systems. Terminology and concepts
will be emphasized rather than detailed electronic or physical theory.
Prer., C S 420/520, C S 450/550.
C
S 525-3. Multimedia Computing and Communications.
Design
principles of multimedia authoring and communication systems. It covers
the interface and characteristics of voice and video processing equipment,
multimedia document architectures, media encoding/compression schemes,
real-time scheduling of time critical multimedia documents, multimedia
editors, multimedia communication standards and communication software.
Prer., Graduate standing or instructor permission.
C
S 526-3. Advanced Internet and Web Systems.
Advanced
topics in Internet and WWW systems, TCP/IP network modules in kernel,
content switching, web server technologies, web system management, load
balancing, web security, and electronic commerce. Prer., C S 301, C S 522,
or permission of instructor.
C
S 531-3. Software Requirements Analysis and Specification.
Techniques
and tools for requirements analysis and requirements specification.
Requirements languages and notations. Specification completeness and
consistency.
Team project in the analysis and specification of a major software system.
Prer., C S 145 or equivalent, knowledge of a modern programming language
and discrete structures.
C
S 532-3. Software Design.
Covers
a variety of methodologies and tools for design of sequential, parallel
and distributed software systems. Design language; graphical design
representations. Data abstraction, data dictionaries. Data flow design and
diagrams. Object-oriented design. Documentation. Team project in the
design of a major software system. Prer., C S 531.
C
S 533-3. Formal Methods of Software Systems Engineering.
Elements
of discrete mathematics. Formal mechanisms for specifying and verifying
the correctness, reliability, and efficiency of software systems. State
transition, regular expression, context free, and applicative models.
Assertions, hoare axioms, and weakest preconditions. State machine,
algebraic, and operational specification techniques. Prer., C S 145 or
equivalent, knowledge of a modern programming language, and discrete
structures.
C
S 534-3. Software Maintenance.
Discussion
and application of corrective, adaptive, perfective and preventive
software maintenance techniques and tools. Related topics such as software
systems analysis, reverse-engineering, re-engineering, regression testing
and configuration management are examined. As a project, student teams
maintain an existing software system. Prer., Knowledge of modern
programming language, discrete structures, C S 145 or equivalent.
C
S 535-3. Software Project Management.
Planning,
scheduling, costing of projects. Measuring progress, predicting success,
controlling failure. Management tools and their use. Effectiveness and
efficiency of software engineering environments. Distributed software
development. Quality control standards and practices. Prer., Knowledge of
modern programming, NG language, data structures and algorithms, and
discrete structures.
C
S 536-3. Software Product Assurance.
Principles,
techniques and tools for producing quality software systems. The first
half of this course focuses on software product assurance processes. The
second half covers a variety of software testing techniques. Prer., C S
531.
C
S 537-3. Human-Computer Interfaces.
Techniques
and tools for the analysis, design, implementation and testing of
human-computer interfaces. Special topics such as human factors, rapid
prototyping and usability testing will be studied. Term project. Prer., C
S 330 and C S 531.
C
S 538-3. Object-Oriented Software Development.
Principles
of object-oriented problem-solving, object- oriented analysis and
object-oriented design. Development of class hierarchies, use of
polymorphism and inheritance, criteria for good design, semester project.
Prer., C S 330 or consent of instructor.
C
S 539-3. Software Systems Engineering Project Laboratory.
Students
participate in a project involving the development or maintenance of a
software system intended for external distribution and use. Duties include
requirements analysis, specification, design, implementation, testing,
quality assurance, configuration management and documentation. Projects
come from the university and from outside sources. Students are evaluated
based on their project work and an oral presentation describing their work
and critiquing their results. Prer., CS 531, CS 532, CS 534, CS 535, and
CS 536.
C
S 542-3. Database Systems I.
Course
introduces general database concepts as well as database system
technology. The course covers ER and R data models, R-algebra, SQL, data
storage and indexing, query optimization, database design and security.
Prer., C S 145. Meets with C S 442.
C
S 543-3. Database Systems II.
Course
covers advanced database topics including transaction management, parallel
and distributed databases, internet databases, decision support, data
mining, object and object-relational database systems, spatial data
management and other current research issues. Prer., C S 442/C S 542.
C
S 550-3. Operating Systems I.
Introduces
concepts, terminology, and algorithms of operating systems. Describes
semaphores, processes, virtual mappings, interrupts, resource allocation
and management, protection, synchronization, scheduling, queueing and
communication as applied to operating system design and implementation.
Prer., C S 145, C S 202, C S 216, C S 420/520. Meets with C S 450
C
S 551-3. Operating Systems II.
Examines
and compares algorithms for deadlock, mutual exclusion, synchronization,
maximal parallelism, paging, queueing, buffer allocation, interprocess
communication, and scheduling as they relate to operating systems
performance. Examines mechanisms and primitives for both loosely and
tightly coupled networks of systems. Considers system reliability. Prer.,
C S 450/550.
C
S 555-3. Computer Systems Performance Evaluation.
Perspectives
of performance evaluation, measurement techniques; hardware, software, and
firmware tools, simulation techniques, analytical techniques; workload
characterization, system selection; system tuning; performance tracking,
performance prediction in the design phase and cost-benefit analysis. Prer.,
C S 450/550.
C
S 560-3. Numerical Computing.
Algorithms
for the solution of nonlinear equations, interpolation and approximation,
differentiation, integration, systems of linear equations, ordinary
differential equations and least squares. Prer., C S 145 MATH 235 and MATH
313. Meets with C S 460.
C
S 567-3. Discrete Simulation I.
Examines
concepts and methods of discrete event simulation. Compares major modeling
methods. Discusses statistical issues including random number generation,
arrival processes, analysis of simulation output, verification and
validation of models and simulation programs. Describes in detail the use
of a major discrete event simulation language. Discusses simulation level
of detail and simplifying assumptions. Prer., C S 202 and MATH 381.
C
S 570-3. Computability, Automata, and Formal Languages.
Finite
automata and regular expressions; context-free grammars, context-free
languages, and pushdown automata; Turing machines; undecidability; the
Chomsky Hierarchy of Formal Languages; computational complexity, and
intractable problems. Prer., C S 145, C S 202, MATH 215 & MATH 313.
Meets with C S 470.
C
S 571-3. Evolutionary Computation.
Introduction
to evolutionary computation with emphasis on genetic algorithms. Includes
evolution strategies, evolutionary programming, schemata fitness functions
and classifiers, current research topics, messy algorithms, adaptive
landscapes. Prer., C S 202 and MATH 381.
C
S 572-3. Design and Analysis of Algorithms.
Design
methodologies: divide-and-conquer, exhaustive search, dynamic programming.
Time and space complexity measures, analysis of algorithms. Survey of
important algorithms for searching, sorting, graph manipulation.
Tractability: class P and NP, NP-complete problems. Prer., C S 145, C S
202 and MATH 215. Meets with C S 472.
C
S 575-3. Computational Geometry.
Computational
complexity of geometric problems within the framework of analysis of
algorithms. Stress on geometric searching, intersection problems,
particularly of rectangles, and fundamental algorithms. Practical
applications of concepts developed can be found in computer graphics,
analysis of algorithms, spatial data structures and VLSI system design.
Prer., C S 472/572, C S 480/580 or instructors consent.
C
S 577-3. Computer Graphics Animation & Scientific Visualization
Techniques.
Animation:
basic principle, physically based modeling, algorithms for animation,
constraint optimization, use of dynamics in animation, teleological
modeling. Scientific visualization: overview, foundation and techniques,
applications. Prer., C S 480/580.
C
S 579-3. Wearable Computing and Complex Systems.
Wearable
computing with an emphasis on complex systems research is an important
area of research. This course will cover concepts and related techniques,
and and state of the art issues. This course will provide an excellent
basis for students who are interested in computer graphics and virtual
reality research. Prer., C S 480/580 or consent of instructor.
C
S 580-3. Computer Graphics.
Fundamental
areas of modern raster computer graphics; hardware, software, data
structures, mathematical modeling, user interface and manipulation of
graphical objects. A subset of the two dimensional GKS is examined and
implemented with emphasis placed upon segmented display files and instance
modeling. Basic to all graphic programs written are the ergonomic
requirements of the user. Required programs are in the areas of animation,
paint systems, polygon filling and clipping, and curve generation. Prer.,
C S 145, C S 202 and MATH 313. Meets with C S 480.
C
S 581-3. Topics in Computer Graphics.
Examines
the mathematical and physical models used to produce realistic three
dimensional images. Topics include perspective viewing, hidden surface
removal, shading, fractals, and rag tracing. Prer., C S 480/580.
C
S 582-3. Artificial Intelligence.
Course
covers the foundation of artificial intelligence: search techniques,
first-order predicate calculus and knowledge representation. Also covers
advanced topics such as speech and natural language processing and
learning. Prer., C S 316, C S 482, or instructor consent for graduate
students.
C
S 583-3. Artificial Intelligence II.
Covers
in detail a selection of AI topics: planning, natural language processing,
computer vision, robotics, expert systems, and learning. Current research
topics may be covered. Students may use a programming language of their
choice. Prer., C S 482/582 or instructors consent.
C
S 584-3. Computer Vision.
Representation
and manipulation of digital images, Fourier analysis of images,
enhancement techniques in spatial and frequency domain, segmentation
procedures, digital geometry, region and boundary representation, texture
processing, pattern recognition and application to robotics. Prer., MATH
235 or consent of instructor. Meets with MATH 584.
C
S 587-3. Introduction to Artificial Neural Networks.
The
course will cover basic neural network architecture and learning
algorithms. Practical applications will be surveyed. Students will learn
to implement their own simulator and implement various architectures. Prer.,
MATH 235.
C
S 589-3. Computational Linguistics.
Approaches
to syntactic processing of natural language: issues in semantic
interpretation, pragmatics or the impact of context and world knowledge of
natural language understanding and generation of natural language
responses. Prer., C S 582 or consent of instructor.
C
S 591-3. Fundamentals of Computer/Network Security.
Introduction
to the study of computer and network security from the view of information
warfare. Topics include information system threats, vulnerabilities and
defensive mechanisms (cryptography,
authentication
digital signatures, PKI, etc.). Prer., C S 202 and MATH 215.
C
S 592-3. Applied Cryptography for Secure Communication.
Basic
security issues in computer communication, classical cryptographic
algorithms, symmetric-key cryptography, public-key cryptography,
authentication, and digital signatures. Prer., MATH 215, MATH 381, C S
316, C S 522, or instructor consent.
C
S 622-3. Distributed Networks.
Deals
with complex communications systems in depth. Packet switching networks,
local area networks, satellite systems, the open systems interconnect (OSI)
reference model, and the development of communications software. Prer., C
S 522.
C
S 630-3. Topics in Software Systems Engineering.
Advanced
topics and current research issues in software engineering. Possible
topics include software engineering environments, requirements, design,
testing, software metrics, configuration management, maintenance, software
cost analysis, and distributed software. Prer., C S 531 or C S 535.
C
S 638-3. The Design and Modeling of Class Interfaces and Contracts.
Past
and present work related to specifying the semantics of a class using
assertions are examined. The BON method is presented. Prer., C S 538.
C
S 643-3. Data Mining.
This
course covers data warehousing, OLAP, association rules, cluster analysis,
classification and prediction, complex data mining applications and trends
in data mining. Prer., C S 442/542.
C
S 677-3. Virtual Reality and Computer-Human Interaction.
The
course will focus on the so-called ultimate form of interaction between
human and machine, creating virtual or artificial world. The basic idea
and various input devices will be discussed. Several advanced papers in
this area will be covered. Some of these ideas will be implemented through
a term project. Prer., C S 580 or C S 577 or consent of instructor.
C
S 687-3. Advanced Studies in Artificial Neural Networks.
A
research seminar treating contemporary results in the theory and
applications of artificial neural networks. Prer., C S 587.
C
S 691-3. Advanced System Security Design.
Advanced
topics in network and system security, including firewall design, network
intrusion detection, tracking and prevention, virus detection, programming
language and OS support for security and wireless network security. Prer.,
C S 591, C S 592, or instructor permission.
C
S 692-3. Advanced Topics in Network Security.
Covers
advanced topics in network security such as Kerberos, PGP, IPSec, VPNs,
SSL, SET, Smart cards, Steganography, Watermarking and Biometric
Encryption. Research papers may be discussed. Prer., C S 592.
C
S 700-1 to 6. Masters Thesis.
C
S 701-3. Masters Project.
C
S 800-1 to 10. PhD Dissertation.
Prer.,
Acceptance into program.
C
S 920-1 to 3. Independent Study in Computer Science Undergraduate.
C
S 999-0. Candidate for Degree.
Electrical and Computer Engineering
ECE
1001-3. Introduction to Robotics.
An
introductory course presenting foundational material in the design of
robots. Topics include basic properties of sensors, motors, gears, drive
mechanisms, control schemes and processors used to guide and control
robots. LEGO kits will be used to implement student designs.
Interdisciplinary teams of students having diverse backgrounds, including
non- engineers, will design, build, test, and program robots for
goal-driven operation.
ECE
1021-3. Computer-Based Modeling and Methods of Engineering.
Methodology
for solving engineering problems is introduced. Fundamental features of
the C programming language are presented and integrated with a variety of
engineering examples and applications. Pointer variables and structures
will be used in the applications. Prer., MATH 135 and ECE 1001.
ECE
2050-3. Introduction to Physical Electronics.
An
introductory course on the fundamental properties of materials and
semiconductors in preparation for a background in modern device physics
and technology. Topics include: Crystal Structure, Quantum Theory of
Solids, and Transport and Excess Carriers in Semiconductors. Coreq., MATH
340, PES 213.
ECE
2210-3. Circuit Analysis I.
Modeling
and analysis of electrical devices and circuits, including operational
amplifiers. Transient and steady state response using classical
differential equation methods. Impulse and step responses. Prer., MATH 136
and ECE 1021. Coreq., MATH 235 and PES 112.
ECE
2220-3. Circuit Analysis II.
Continuation
of ECE 2210, with frequency response, filter design, Fourier series,
Fourier transforms and Laplace transforms. Prer., ECE 2210, PES 112, and
MATH 235. Coreq., MATH 340.
ECE
2230-1. Circuits Laboratory.
Experimental
work dealing with fundamental electrical circuits and measurement
techniques. An introduction to computer-aided design (CAD). Prer., ECE
2210. Coreq., ECE 2220.
ECE
2410-3. Logic Circuits.
Design
of digital systems with emphasis on synchronous state machines. The
algorithmic state machine (ASM) method is used. Other topics include
combinatorial logic design, asynchronous design, timing, signal
propagation and noise. Coreq., ECE 1011.
ECE
2420-1. Logic Circuits Laboratory.
Design,
construction, and testing of digital circuits emphasizing
synchronous-state machines. Memory-based circuits are stressed. Logic
probes, state analyzers, and PROM programmers are used. Prer., ECE 2410.
ECE
3050-3. Semiconductor Devices I.
An
introduction to semiconductor devices used in modern microelectronic
technologies. The course objective is to provide an understanding of the
fundamental physical principles and concepts underlying the operation and
use of the most important semiconductor devices. Prer., ECE 2050. Coreq.,
ECE 3110.
ECE
3110-3. Electromagnetic Fields I.
Static
electric and magnetic field analysis, Poissons and Laplaces equations,
steady electric current, fields of steady electric currents, ferromagnetic
materials, boundary-value problems for static fields, time-varying
electric and magnetic fields, and Maxwells equations and wave equations.
Relationship between field and circuit theory. Prer., ECE 2220, MATH 235
and PES 213.
ECE
3120-3. Electromagnetic Fields II.
Electromagnetic
wave propagation in dielectric and conducting media: solutions to the wave
equations, transmission lines, waveguides and resonators, antennas and
radiation, uniform and non-uniform plane waves. Design involving
considerations of electromagnetic fields. Prer., ECE 3110 and MATH 340.
ECE
3210-3. Electronics I.
The
application of semiconductor devices to the design of electronic circuits.
Topics include diode circuits and applications, low frequency transistor
amplifier design and switching theory. Prer., ECE 2210. Coreq., ECE 3230.
ECE
3220-3. Electronics II.
Transistor
models used in circuit design at high frequencies: multistage amplifier
design, frequency response of amplifiers, feedback, operational
amplifiers, and distortion. Prer., ECE 2220 and ECE 3210. Coreq., ECE
3240.
ECE
3230-1. Electronics Laboratory I.
Design
and implementation of power supplies, amplifiers with bipolar junction
transistors, junction field effect transistors and MOSFETS. In addition,
basic circuit design with operational amplifiers will also be performed.
Coreq., ECE 3210.
ECE
3240-1. Electronics Laboratory II.
Continuation
of ECE 3230. Design of differential amplifier with discrete components,
analysis of frequency response, frequency compensation techniques,
feedback amplifier design, power amplifiers, oscillator and simple
subsystem design. Prer., ECE 3230. Coreq., ECE 3220.
ECE
3420-1. Microprocessor Systems Laboratory.
Introduction
to microprocessor development systems and foundations of system design.
Assembly language will be used in the development. Use of high-level
languages will also be discussed. Prer., ECE 1011. Coreq., ECE 3430.
ECE
3430-3. Introduction to Microcomputer Systems.
Design
of microcomputer systems including assembly language programming and
interfacing techniques. Emphasis is on the practical application of
microcomputers as solutions to engineering problems. Prer., ECE 2410.
Coreq., ECE 3420.
ECE
3440-1. Microcomputer Systems Laboratory.
Experiments
are performed to program and interface microcomputer systems to design and
implement microcomputer-based systems. Emphasis is on the application of
the microcomputer as a tool to solve control and data acquisition
problems. Prer., ECE 2420 and ECE 3430.
ECE
3510-3. Linear System Theory.
Characterization
of linear systems by impulse response, convolution, transfer function.
Linear differential equations and linear difference equations as models.
Applications to circuits, electromechanical systems, etc. Transform
methods include: Fourier series, Fourier transforms, and Laplace
transforms. Introduction to state variables, and the state transition
matrix. Use of a variety of models in design. Prer., ECE 2220 and MATH
340. Coreq., ECE 3520.
ECE
3520-1. MATLAB System Analysis Laboratory.
Fundamental
constructs in MATLAB - scalars, vectors, and matrices; scalar and array
operations; input and output capabilities; functions; matrix computations;
interpolation and curve fitting; numerical integration; random number
generation; FFT. Several laboratory projects are used to illustrate
applications to system analysis. Coreq., ECE 3510.
ECE
3610-3. Engineering Probability & Statistics.
An
introduction to probability and statistics with application to solving
engineering problems. Includes the axioms of probability, random
variables, density functions, distributions functions, expectations.
Gaussian random variables, bivariate random variables, sums of independent
random variables. Estimation of sample mean and variance. Monte Carlo
simulation, binomial, hypergeometric, Poisson counting processes,
confidence intervals, reliability, failure rates, the Weibull model, the
log-normal model, estimation using regression. Introduction to random
processes. Involves a project making use of simulation of random variables
on a computer. Prer., MATH 235.
ECE
4020-3. Semiconductor Devices II.
Advanced
study of the electrical and transport properties of semiconducting and
solid state devices and integrated device structures. Topics include: pn
junction device structures, non-ideal effects in small geometry Mosfets,
compound semiconducting devices, CCDs, negative conductance microwave
devices. Prer., ECE 3050 or Equivalent. Meets with ECE 5020.
ECE
4040-1. Introductory VLSI Fabrication Laboratory.
Various
types of VLSI fabrication processes such as thermal oxidation, rapid
thermal annealing, diffusion, physical vapor deposition, ion implantation,
photolithography and etching. In addition, students will use a variety of
device characterization techniques available in the laboratory. Prer., ECE
3050, ECE 4020, and ECE 4080 or consent of instructor.
ECE
4050-3. Microelectronics IC Fabrication Laboratory.
Independent
experimental project in which students are expected to acquire the
theoretical understanding of modern IC fabrication process, perform the IC
processing and supporting measurements, and write detailed laboratory
reports. Students should take ECE 4050 before ECE 4896. Prer., ECE 4080
and ECE 4020 or consent of instructor. Meets with ECE 5050.
ECE
4070-3. Electronic Properties of Materials.
Principles
and applications of the electrical, optical, magnetic, and thermal
properties of engineering electronic materials. The treatment is designed
for students specializing in the areas of microelectronics, solid state,
and electromagnetics. Prer., ECE 3050. Meets with ECE 5070.
ECE
4080-3. VLSI Processing.
Introductory
study of the various processes such as oxidation, diffusion, epitaxy,
ion-implantation, photolithography, CVD, plasma processing, etc., used in
contemporary fabrication of modern microelectronic technologies; use and
understanding of process modeling programs used in design, fabrication,
and simulation of MOSFET and bipolar microelectronics technologies. Prer.,
ECE 3050 or consent of instructor. Meets with ECE 5080.
ECE
4110-3. Electromagnetic Theory and Applications.
An
intermediate level fields course beginning with the classical development
of Maxwells equations and the Wave equation. Included are electrostatics,
the steady magnetic field, plane-wave propagation, Poyntings vector,
guided waves, transmission lines, wave guides, the interaction of fields
and matter, and concluding with an introduction to the subject of
radiation. Dirac-delta and Dyadic Greens function method of problem
solution are treated. Prer., ECE 3120 or equivalent. Meets with ECE 5110.
ECE
4150-1. Microwave Measurements Laboratory.
Experiments
with transmission lines and waveguide systems. Infrared imaging of
electromagnetic fields. Measurement of antenna fields. Exposure to
equipment and techniques used in microwave measurements. Design of
microwave circuits. Prer., ECE 3120 or equivalent. Meets with ECE 5150.
ECE
4200-1. Advanced Digital Design Laboratory.
A
design laboratory focusing on the design of digital systems using modern
programmable devices (PLDs and FPGAs). Contemporary design tools and
hardware description languages (e.g., Verilog) will be used. Prer., ECE
4242.
ECE
4211-3. Rapid Prototyping with FGPAs.
Field
programmable gate arrays (FPGAs) are an important part of the overall
design flow for application specific integrated circuits (ASICs) because
they offer the potential of allowing cheap hardware prototypes to be built
to meet a narrow window of opportunity. They also offer novel,
programmable architectures. This course will focus on the combined use of
FPGAs and modern synthesis tools to develop rapid prototypes of ASICs.
Architectural and performance tradeoffs and characteristics of both
commercial anti-fuse and dynamically programmable FPGAs will be
considered. Includes a team project. Prer., ECE 4242. Meets with ECE 5211.
ECE
4220-3. Analog IC Design.
A
fundamental analog circuit design course that establishes relationships
between semiconductor device theory, semiconductor processing technologies
and the electrical and functional performance requirements of modern
analog integrated circuits. Includes design project. Prer., ECE 3050, ECE
3220, and ECE 3240. Meets with ECE 5220.
ECE
4230-3. Analog Filter Design.
Theory,
specification, design, and simulation of active and passive analog filters
based on modern integrated circuit technology and VLSI Design I design
philosophy. Prer., ECE 3220. Meets with ECE 5230.
ECE
4242-3. Advanced Digital Design Methodology.
This
course focuses on modern digital design practice using computer-based
design tools and then considers key steps in a modern design flow, with
particular attention to the use of behavioral models in hardware
description languages as a stepping stone to combinational and sequential
logic synthesis. The Verilog language will be presented, along with
ancillary topics of functional verification, testbench generation, timing
analysis, fault simulation, and design for testability. Design examples
will include microcontrollers, RISC-CPUs, pipelined processors, digital
filters, finite state machines for datapath control, UARTs, and typical
architectures of synchronous computational units. Prer., ECE 3210. Meets
with ECE 5242.
ECE
4250-3. Microwave Circuit Design.
An
introduction to the design and analysis of microwave circuits both passive
and active. Topics include microwave circuit analysis, measurement
methods, transmission line structures, material properties, lumped
elements, discontinuities, terminations, attenuators, directional
couplers, hybrids, power dividers, impedance transformers, filters,
mixers, switches, phase shifters, and amplifiers. Prer., ECE 3120 or
equivalent. Meets with ECE 5250.
ECE
4260-3. Mixed Signal IC Design.
Design
of data converters, switch capacitor filters, high performance opamps,
phase locked loops, oscillators. Prer., ECE 4220/5220 or consent of
instructor. Meets with ECE 5260.
ECE
4270-3. CMOS Radio Frequency Integrated Circuit Design.
CMOS
based high Frequency amplifier design, s-parameters, voltage references,
noise, low noise amplifier (LNA), mixers, RF power amplifiers, phase
locked loops, oscill |