
|
101-- Introduction to Computer Concepts. (3) (Prereq: two years of college preparatory mathematics or equivalent) History, application, and social impact of computers; problem-solving, algorithm development, applications software, and programming in a procedural language. Open to all majors. |
|
102--General Applications Programming. (3) (Prereq: two years of college preparatory mathematics) Intrduction to systematic computer problem-solving and programming for a variety of applications. Open to all majors. |
|
145—Algorithmic Design I.
(4) (Prereq: placement in MATH 141 or grade of C or higher in MATH 115)
Problem-solving, algorithmic design, and programming. Three lecture hours and
two laboratory hours per week. Open to all majors. |
|
146—Algorithmic Design II. (4)
(Prereq: grade of C or better in CSCE 145 and grade of C or better in MATH
141 or 174; coreq: MATH 174) Continuation of CSCE 145. Rigorous development
of algorithms and computer programs; elementary data structures. Three lecture hours and two laboratory
hours per week. Open to all majors. |
|
204--Program Design and Development [=MGSC 298](3) (Prereq: CSCE 101 or MGSC 190) Fundamental algorithms and processes used in business information systems. Development and representation of programming logic. Introduction to implementation using a high-level programming language. |
|
205--Business Applications Programming(3) (Prereq: MGSC 190 or CSCE 101 or above) Introduction to computer applications in business. Programming exercises in COBOL. Open to all majors. |
|
206--Scientific Applications Programming.(3) (Prereq: MATH 122 or MATH 141) Introduction to computer applications in science and engineering. Programming exercises in a high level language. Open to all majors. |
|
207--Programming and the Unix Environment(3) (Prereq: CSCE145 or 206) The Unix programming environment, I/O programming, Unix processes, fork, exec, pipes and signals, and tools. Open to all majors. |
|
209—Special Topics in Computer
Programming. (1-3) Programming and application
development using selected programming languages. Course content varies and will be announced in the schedule of
classes by suffix and title. |
|
211—Digital Logic Design. (3) (Prereq: MATH 141 or MATH 174) Number
systems; Boolean algebra; logic design; sequential machines.
|
|
212—Introduction to Computer Architecture.
(3) (Prereq: CSCE 145, either CSCE 211 or MATH 174) Computer architecture, components, and
organization; memory addressing; Input/Output; instruction sets; interrupts;
assembly-language programming.
|
|
240—Introduction to Software Engineering.
(3) (Prereq: grade of C or higher in CSCE 146) Fundamentals of software design and development;
software implementation strategies; object-oriented design techniques; ethics
in software development. |
|
245—Object-Oriented Programming
Techniques. (3) (Prereq: grade of C or higher in CSCE 146) Advanced
object-oriented concepts and techniques; multiple inheritance; memory
management; operator overloading; polymorphism; performance issues. |
|
304--Applied Problem Solving and Programming. [=MGSC 398] Techniques. (3) (Prereq: CSCE 204 or MGSC 298) Systematic problem definition, solution formulation, and computer implementation for business and related areas. Internet and database applications. Programming applications in a high-level programming language. |
|
311—Operating Systems. (3)
(Prereq: CSCE 212, CSCE 245) Operating system structure and function;
process implementation, scheduling, and synchronization; memory management;
security; naming protection; resource allocation; network file systems. |
|
313—Embedded Systems Laboratory.
(3) (Prereq: CSCE 211, 212) design and implementation of microprocessor
based systems; assembly language programming. |
|
330—Programming Language Structures. (3)
(Prereq: CSCE 245) Formal specification of syntax and semantics; structure of
algorithms; list processing and string manipulation languages; statement types, control structures, and interfacing procedures. |
|
350—Data Structures and Algorithms. (3)
(Prereq: CSCE 245, MATH 174) Techniques for representing and processing
information, including the use of lists, trees, and graphs; analysis of
algorithms; sorting, searching, and hashing techniques. |
|
355—Foundations of Computation.
(3) (Prereq: CSCE 211, 212, 350) Basic theoretical principles of
computing as modeled by formal languages, grammars, and machines;
computability and computational complexity.
Major credit may not be received for both CSCE 355 and CSCE 551. |
|
390-- Professional Issues in Computer Science and Engineering (3) (Prereq: CSCE 240, SPCH 140) Professional issues in the information technology professions; history and social context of computing; professional responsibilities; privacy; intellectual property; risks and liabilities of computer-based systems. |
|
491—Capstone Computer System Project.
(3) (Prereq: CSCE 240, 311) Advanced computer systems engineering. Team projects. |
|
492—Capstone Software Engineering Project.
(3) (Prereq: CSCE 240, 311, either ENGL 462 or ENGL 463.) Advanced software engineering. |
|
498--Independent Study.
(1-3) (Prereq: approval of project proposal by instructor and department
advisor) Individual investigation or study of special topics. At most three
(3) credits may be applied toward a degree. |
|
500—Computer Programming and Applications. (3) Concepts and properties of algorithms; programming exercises with emphais on good programming habits. Credit may not be received for both CSCE 500 and CSCE 145. Open to all majors. May not be used for major credit by computer science and engineering majors. |
|
510--System Programming.
(3) (Prereq: CSCE 245) System software such as command language interpreters,
client-server applications, debuggers, mail servers, browsers,
macro-processors, and revision control systems; file systems, processes,
threads, and interprocess communication. |
|
512—System Performance Evaluation.
(3) (Prereq: CSCE 311, STAT 509) Measuring, modeling, analyzing, and
predicting performance of computer systems and networks; bottleneck analysis;
Markovian queuing systems and networks; use of operational and probabilistic
models. |
|
513—Computer Architecture.
(3) (Prereq: CSCE 211, 213) Design methodology; processor design; computer
arithmetic; algorithms for addition, multiplication, floating point
arithmetic; microprogrammed control; memory organization; introduction to
parallel architectures. |
|
515—Computer Network Programming. (3)
(Prereq: CSCE 311) Computer networks and communication protocols; socket
programming; interprocess communication; development of network software;
case studies. |
|
516—Computer Networks.
(3) (Prereq: STAT 509) Structure, design, and analysis of computer networks;
ISO/OSI network architecture. |
|
517 - Computer Crime and Forensics.
(3) (Prereq: CSCE 311) Methodical approaches for collecting and preserving evidence of computer crimes. Foundational concepts such as file system structures, MAC times, and network protocols, tools for extracting evidence, general legal issues.
|
|
520—Database System Design. (3)
(Prereq: CSCE 245 or GEOG 563) Database management systems; database design and
implementation; security, integrity, and privacy. |
|
522--Information Security Principles (3)
(Prereq: CSCE 520 or MGSC 596) Threats to information resources and appropriate countermeasures.
Cryptography, identification and authentication, access control models and mechanisms,
multilevel database security, steganography, Internet security, and intrusion detection
and prevention. |
|
531—Compiler Construction. (3)
(Prereq: CSCE 330 or 355, CSCE 245) Techniques for design and implementation
of compilers, including lexical analysis, parsing, syntax-directed
translation, and symbol table management. |
|
547—Windows Programming. (3),
(Prereq: CSCE 245) Object-oriented methods and tools for application
programming with graphically interactive operating systems. |
|
548 - Building Secure Software. (3),
(Prereq: CSCE 510) Construction of software systems resistant to vulnerabilities and attacks. Cryptographic tools. Language, operating system, and network security. Case studies. Development of best practices through programming assignments.
|
|
551—Theory of Computation.
[=MATH 562] (3) (Prereq: CSCE 350 or MATH 526 or 544 or 574) Basic
theoretical principles of computing as modeled by formal languages and
automata; computability and computational complexity. Major credit may not be received for both
CSCE 355 and CSCE 551. |
|
557 - Introduction to Cryptography.
(3) (Prereq: CSCE 145, MATH 241, and either CSCE 355 or MATH 574)
Design of codes and ciphers for secure communication, including encryption, authentication, and integrity verification: codes, ciphers, cryptographic hashing, and public key cryptosystems. Cryptological mathematical principles, cryptanalysis, and protocols for security.
|
|
561—Numerical Analysis. [=
MATH 527] (3) (Prereq: MATH 242 or 520) Interpolation and approximation of
functions; solution of algebraic equations; numerical differentiation and
integration; numerical solutions of ordinary differential equations and
boundary value problems; computer implementation of algorithms. |
|
563—Systems Simulation. (3)
(Prereq: CSCE 245, STAT 509) Computer simulation of real systems; principles
of system organization; random number generation; programming exercises in a
simulation language. |
|
564—Computational Science.
(3) (Prereq: MATH 526, CSCE 146 or 207 or 500) Parallel algorithms; scientific
visualization; techniques for solving scientific problems. |
|
565—Computer Graphics.
(3) (Prereq: CSCE 245, MATH 526) Graphics hardware; graphics primitives;
two-dimensional and three-dimensional viewing; basic modeling. |
|
567—Visualization Tools.
(3) (Prereq: CSCE 145 or 206 or 207) Scientific visualization tools as
applied to sampled and generated data; methods for data manipulation and
representation; investigation of visualization techniques. |
|
574—Robotics. (3)
(Prereq: CSCE 211, 212, and 245) Design and application of robotic
systems; emphasis on mobile robots and intelligent machines. |
|
578—Text Processing.
(3) (Prereq: CSCE 330 or 355) Text and natural language processing; formal
models and data structures appropriate for text processing; selected topics
in computational linguistics, stylistics, and content analysis. |
|
580—Artificial Intelligence.
(3) (Prereq: CSCE 350) Heuristic problem solving, theorem proving, and
knowledge representation, including the use of appropriate languages and tools. |
|
582--Bayesian Networks and Decision Graphs.[=STAT 582]. (3) (Prereq: CSCE 350 and STAT 509) Normative approaches to uncertainty in artificial intelligence. Probablistic and causal modeling with Bayesian networks and influence diagrams. Applications in decision analysis and support. Algorithms for probability update in graphical models. |
|
590—Topics in Information Technology.
(3) Reading and research on selected topics in information technology.
Course content varies and will be announced in the schedule of courses by
suffix and title. May be repeated for credit as topics
vary. |
|
611—Conceptual Modeling Tools for CAD.
(3) (Prereq: CSCE 211, 245) Design techniques for logic systems;
emphasis on higher-level CAD tools such as hardware description languages and
conceptual modeling. |
|
612—VLSI System Design.
(3) (Prereq: CSCE 211, 245) VLSI design process models, introduction
to EDA tools, HDL modeling and simulation, logic synthesis and simulation,
benchmark design projects. |
|
613—Fundamentals of VLSI Chip Design.
(3) (Prereq: ELEC 371) Design of VLSI circuits, including standard processes,
circuit design, layout, and CAD tools. Lecture and guided design projects. |
|
711—Advanced Operating Systems.
(3) (Prereq: CSCE 311) Operating system organization and interactive
processing systems, multiprogramming systems, process management, task
scheduling, resource control, deadlocks. |
|
|
713—Advanced Computer Architecture.
(3) (Prereq: CSCE 311 and 513) Architecture of high-performance computers,
including array processors, multiprocessor systems, data flow computers, and
distributed processing systems. |
|
|
715 - Network Systems Security.
(3) (Prereq: CSCE 515) Analysis of security threats in TCP/IP networks. Design of safeguards. Coverage of security threats at each of the OSI layers. Application of cryptographic protocols for secure communication across a network.
|
|
|
716—Design for Reliability.
(3) (Prereq: STAT 509 or 511, or MATH 511) Design of more reliable systems
through the application of reliability theory and models; reliability
modeling; design techniques; testing; requirements specifications. |
|
|
717—Computer System Performance and
Reliability Analysis. (3) (Prereq: STAT 509 or 511)
Evaluation of computer system performance and reliability using reliability
block diagrams, fault trees, reliability graphics, queuing networks, Markov
models, and Markov reward models. |
|
|
718—Real-Time Computer Applications.
(3) (Prereq: CSCE 245, 311) Problems of real-time computer applications in
process control or similar areas; task scheduling; real-time operating
systems; advanced interrupt structures; memory management techniques. |
|
|
721—Physical Database Design.
(3) (Prereq: CSCE 520) Components
of a database management system; implementation issues; query optimization;
file organizations; transaction management; fault recovery; security; system
performance. |
|
|
723—Advanced Database Design. (3) (Prereq: CSCE 520) Database
design methodologies and tools; data models; implementation languages; user
interfaces. |
|
|
725—Information Retrieval Algorithms and
Models. (3) Structure, design, evaluation, and use of information
retrieval systems; algorithms and mathematical models for information
retrieval; storage and retrieval of textual data in information systems. |
|
|
727 - Information Warfare
. (3) (Prereq: CSCE 522)
Current trends and challenges in information warfare. High-level analysis of information warfare threats, like cyber terrorism, espionage, internet fraud, intelligence activities, cyber ethics and law enforcement. |
|
|
730—Programming Language Semantics.
(3) (Prereq: CSCE 531) Approaches for specifying programming language
semantics, including operational, axiomatic, and denotational specification. |
|
|
740—Software Engineering.
(3) (Prereq: CSCE 240) Current practices and research in software
engineering, including requirements definition, program design, testing,
reliability, maintenance, and management. |
|
|
741—Software Process.
(3) Personal, team and organizational software processes; personal and organizational maturity;
application of software process and management concepts during software development,
primarily at the individual level. Not auditable. |
|
|
742—Software Architectures.
(3) Structural organizations for software systems as collections of interconnected components;
formal models and languages; design tools and guidelines. Not auditable. |
|
|
743—Software Requirements.
(3) (Prereq: CSCE 740) Elicitation, analysis, and validation of software requirements, specification
of software systems including formal specification methods; CASE tools. Not auditable. |
|
|
744—Object-Oriented Analysis and Design.
(3) (Prereq: CSCE 350) Fundamentals of object-oriented technology; object
modeling of structure, function, and time-dependent behavior; system analysis
and design. |
|
|
745—Object-Oriented Programming Methods.
(3) (Prereq: CSCE 245) Object-oriented programming paradigm, including
encapsulation, inheritance, reusable classes, object classification,
specialization, and message passing; case studies and applications. |
|
|
747—Software Testing and Quality Assurance.
(3) (Prereq: CSCE 740) Structural and functional techniques for testing software; code inspection,
peer review, test verification and validation; statistical testing methods; preventing and detecting
errors; testing metrics; test plans; formal models of testing. Not auditable. |
|
|
750—Analysis of Algorithms.
(3) (Prereq: 350) Algorithm design techniques; algorithms and data structures
for sets and graphs; time and space complexity; sorting and searching;
NP-complete problems. |
|
|
755—Computability, Automata, and Formal
Languages. (3) (Prereq: CSCE 355 or 551) Formal
models of computation, including finite state automata, Turing machines,
recursive functions, formal grammars, and abstract complexity theory. |
|
758—Probabilistic System Analysis.
(3) (Prereq: STAT 509 or 511) Application of probability theory and
stochastic processes to analyze the dynamic behavior of engineering systems. |
|
760—Numerical Analysis I. [=MATH 727].
[= MATH 726] (3) (Prereq: MATH 526 or 544) Numerical solution of equations and
systems of linear equations; polynomial approximation; difference calculus;
solution of ordinary and partial differential equations; least squares and
sets of orthogonal polynomials; Gaussian quadrature. |
|
761—Numerical Analysis II. [=MATH 727].
[=MATH 727] (3) (Prereq: CSCE 760) Continuation of CSCE 760. |
|
763—Digital Image Processing.
(3) Concepts and techniques for digital image processing; emphasis on
low-level processes that analyze discrete images at the pixel level. |
|
765—Computer Graphics System Design.
(3) (Prereq: CSCE 565) Graphics data structures; graphics languages;
modeling; raster displays; 3-D shading; hidden surface algorithms. |
|
766—Scientific Visualization.
(3) (Prereq: CSCE 565) Visualization techniques for scientific computing;
interactive steering of calculations; animation and rendering techniques for
multivariate data analysis. |
|
767—Interactive Computer Systems.
(3) Principles for the design of systems supporting effective human-computer
interaction; interaction styles; displays and interactive devices; user
assistance; system design and evaluation. |
|
768—Pattern Recognition and Classification.
(3) (Prereq: STAT 509 or 510 or 511) Bayesian classifiers; optimal risk
schemes; error rates; numerical methods; implementation; architectures. |
|
771—Computer Processing of Natural
Language. (3) (Prereq: CSCE 580) Computational
models for the analysis and synthesis of natural language; representations
for syntax and semantics; application to text-to-speech conversion, speech
recognition, and language understanding. |
|
772—Computer Speech Processing.
(3) (Prereq: CSCE 580) A/D conversion; digital filters; discrete Fourier
transform and the FFT; acoustics of speech; synthesis and recognition of
speech. |
|
774—Robotic Systems.
(3) (Prereq: CSCE 574) Design and operation of robotic systems; dynamics,
control, and motion trajectories of manipulators; visual, auditory, and
tactile sensing systems; planning and learning. |
|
780—Knowledge Representation. (3) (Prereq: CSCE 580)
Representation techniques and languages for symbolic knowledge, including
predicate calculus, frame-based systems, and terminological systems; computer
reasoning using these systems. |
|
781—Knowledge Systems.
(3) (Prereq: CSCE 580) Expert system domains; knowledge representation
techniques; inference engines; knowledge acquisition methods. |
|
782—Multiagent Systems.
(3) (Prereq: CSCE 580) Coordinated problem solving by multiple knowledge
systems. |
|
784—Neural Information Processing.
(3) (Prereq: MATH 526 or 544) Mathematical foundations of biological and
artificial neural networks; supervised and unsupervised learning systems;
applications. |
|
787—Introduction to Fuzzy Logic.
(3) (Prereq: MATH 174) Principles of fuzzy set theory, fuzzy relations, and
fuzzy logic; fuzzy “if-then” rules, approximate reasoning, and fuzzy expert
systems; problems of diagnosis and system control. |
|
790—Topics in Information Technology.
(1-3) Reading and research on selected topics in information technology.
Course content varies and will be announced in the schedule of courses by
suffix and title. May be repeated for credit as topics vary. |
|
791—Seminar in Computing Research.
(1) Major computing research areas; technical writing and presentations;
ethics in research and writing; support tools, including text formatting
systems, text analysis tools, and software development tools. |
|
797—Individual Study and Research.
(1-12) Individual research to be arranged with the instructor. Pass/Fail
grading. |
|
798—Directed Study and Research.
(1-12) Individual research to be arranged with the instructor. |
|
799—Thesis Preparation.
(1-12) |
|
813 - Internet Security.
(3) (Prereq: CSCE 522 and CSCE 715) Current trends and challenges in information warfare. High-level analysis of information warfare threats, like cyber terrorism, espionage, internet fraud, intelligence activities, cyber ethics and law enforcement.
|
|
814 - Distributed Systems Security.
(3) (Prereq: CSCE 522 ) Security mechanisms of distributed software systems, including cryptographic applications. Secure multiparty computation, group-based cryptography, and security mechanisms for emerging distributed architectures.
|
|
815—Computer Communications.
(3) (Prereq: CSCE 515 or 516) Contemporary computer communication protocols
and network architectures. |
|
818—Top-Down VLSI Design.
(3) (Prereq: CSCE 611 or 612) VLSI system design automation; hardware
description language-based design; multi-methodology design; introduction to
HDL support tools. |
|
819—Custom VLSI Design.
(3) (Prereq: CSCE 611 or 612) Custom design methodology including design
rules, stick notation, logic synthesis, and circuit layout; symbolic layout
languages; introduction to CAD tools. |
|
821—Distributed Database Design.
(3) (Prereq: CSCE 520) Architecture,
design, and implementation of distributed database management systems; data
fragmentation, replication, and allocation; query processing and transaction
management; distributed object database management systems. |
|
824 - Secure Databases.
(3) (Prereq: CSCE 522 ) Security threats to database systems. Access control models, multilevel security, integrity, web-based databases, and data inference problem. Formal models of multilevel security, confidentiality versus availability and integrity.
|
|
822—Data Mining and Warehousing. (3) (Prereq: CSCE 520) Information
processing techniques and mathematical tools to assemble, access, and analyze
data for decision support and knowledge discovery. |
|
826—Cooperative Information Systems.
(3) (Prereq: CSCE 520, 580) Strategies for achieving coordinated behavior
among a heterogeneous group of information system components; world-wide
information networks and applications in health care, logistics,
telecommunications, and manufacturing automation. |
|
846---Software Reliability and Safety . (3) (Prereq: STAT 509 or 510 or 511) Reliability and safety of computer-intensive systems; software reliability models and analysis; operational profiles; hazard analysis using fault trees and event trees; formal verification of safety-critical systems. Not auditable. |
|
850—Advanced Analysis of Algorithms.
(3) (Prereq: CSCE 750) Definitions of algorithms and formal models of
computation; concepts of space and time; synthesis and analysis of algorithms
for sorting, searching graphs, set manipulation and pattern matching; NP-complete
and intractable problems. |
|
853 - Formal Modwls of Information Security.
(3) (Prereq: CSCE 522, CSCE 715 )
Formal techniques applied to computer security, including formal specification languages for security properties, security analysis utilities, domain-specific security concerns, and case studies of formally verified secure systems.
|
|
865—Advanced Computer Graphics.
(3) (Prereq: CSCE 765) Input and display devices, data structures,
architectures, primitives, and geometrical transformations appropriate to
computer graphics; parametric surfaces. |
|
867—Computer Vision.
(3) (Prereq: CSCE 763) Scene segmentation using texture, color and motion;
representation of 2-D and 3-D structures; knowledge-based vision systems. |
|
868—Advanced Pattern Recognition.
(3) (Prereq: CSCE 768) Feature nomination, selection, extraction, and
evaluation; deterministic, stochastic, and fuzzy models for classifier
design; parameter estimation; error rate estimation; clustering and
sequential learning. |
|
883—Machine Learning.
(3) (Prereq: CSCE 580) Fundamentals of machine learning, including rote
learning, learning from examples, learning from observations, and learning by
analogy; knowledge acquisition for expert systems. |
|
895—Ph.D. Seminar.
(1-3) |
|
899—Dissertation Preparation.
(1-12) |