Computer Engineering/CEG - Undergraduate Course Descriptions
Note: See quarterly class schedule or departmental advisor
for further enrollment restrictions, requirements, or special course
information.
210-4 PC Networking I
Introduction to PC networking hardware, concepts, and technologies. Focus is
on LAN administration, and hardware and software configuration using in class
hands-on exercises. Internet resources, from the PC network perspective, are
utilized. Prerequisite: CS 205.
211-4 PC Networking II
Focuses on server installation, administration, multiple protocol
integration, systems maintenance, and troubleshooting. Includes hands-on
class and laboratory assignments. Prerequisite: CEG 210.
220-4 C Programming for Engineers
Introduction to digital computers and computer programming with C language.
Algorithms and techniques useful to engineers. Data representation,
debugging, and program verification. Programming assignments include complex
arithmetic. CS and CEG majors may not take this course for credit.
Prerequisite: MTH 229 or EGR 101.
221-4 Advanced C Programming for Engineers
Study and usage of the C programming language beyond what is taught in the
introductory course, CEG 220, in the solution of engineering oriented problems.
Prerequisite: CEG 220.
233-4 Linux and Windows
Linux and Windows; GUI; files, directories, permissions; programs, processes;
system calls, libraries; loading; dynamic linking; command line shells;
scripting languages; regular expressions; clients and servers; Web browsers;
secure shell, sftp; SSL/TSL; system administration. Prerequisite: none
260-4 Digital Circuits
(Also listed as EE 260.) Topics include switching algebra and switching
functions, logic design of combinational and sequential circuits using TTL,
combinational logic design with MSI and LSI, busing, storage elements, and
instrumentation. Three hours lecture, two hours lab. Prerequisite: CS 142 or
240 or CEG 220 or EGR 153.
305-4 Fundamentals of Expert Systems
Definitions of AI, discussion of the different technologies that comprise the
field, introduction to the fundamental concepts and methodologies of expert
systems, and hands-on experience developing small expert system applications. CS
and CEG majors may not take this course for credit. Prerequisite: CS 141 or
240, CEG 220 or EGR 153.
320-4 Computer Organization
Organization and sequential operation of digital computers. Program control,
memory organization and hierarchy, stacks and parameter passing, interrupts and
traps, I/O devices, program structure, machine code and assembly language. Three
hours lecture, two hours lab. Prerequisite: CS 242 or CEG 221.
333-2 Introduction to UNIX
Introduction to the use of UNIX and UNIX tools as a problem-solving
environment. Emphasis on the shell, files and directories, editing files, user
process management, compiling, and debugging: Prerequisite: CS 241
355-4 Introduction to the Design of Information Technology Systems
Introduction to the design of information systems comprising modern
technologies such as SQL database programming, networks, and distributed
computing with CORBA, electronic and hypertext (HTML) documents, and multimedia.
Prerequisite: CS 241.
360-4 Digital Systems Design
(Also listed as EE 451.) Topics include flip-flops, registers, counters,
programmable logic devices, memory devices, register-level design, and
microcomputer system organization. Students must show competency in the design
of digital systems. Three hours lecture, two hours lab. Prerequisite: CEG
260.
402-4 Computer Networks
Survey of modern digital communications techniques. Focus on serial
transmission over public communications channels. Topics include information
content and coding, asynchronous and synchronous formats, concentrating and
multiplexing, channel properties, modulation techniques, common carrier
services, error sources and control, regulatory policies, and networks and their
analyses. Students must design both hardware and software components of computer
communications systems. Three hours lecture, two hours lab. Prerequisite: CS
242 or CEG 221.
403-4 Personal Area Networks
Introduction to Wireless Personal Area Networks (WPANs). Topics include the
networking architectures, protocol design and development, resource management,
middleware and agent technologies, safety, security and compatibility and
performance analysis in WPANs. Prerequisite: CEG 402
404-4 Wireless Sensor Networks
Introduction to wireless sensor networks, fundamental problems and their
solutions. Focus on data aggregation, dissemination, localization, power
management, security, algorithms and protocol. Students develop applications
using Micaz motes & sensors running TinyOS operating systems.
Prerequisite: CEG 402
411-4 Microprocessor-based System Design
Introduction to the design and development of software and
computer-interfacing hardware for effective use of microprocessors in process
control, data collecting, and other special-purpose computing systems. Software
topics include assembly language programming, input/output, interrupts, direct
memory access, and timing problems. For non-majors only. Prerequisite: CEG
260/EE 260 and CEG 220 (or CS 240).
416-4 Matrix Computations
(Also listed as MTH 416.) Survey of numerical methods in linear algebra
emphasizing practice with high-level computer tools. Topics include Gaussian
elimination, LU decomposition, numerical eigenvalue problems, QR factorization,
least squares, singular value decompositions, and iterative methods.
Prerequisite: MTH 253 or 355; and CS 142 or 241.
419-4 Introduction to Fuzzy Logic Control
(Also listed as EE 419.) Foundations and philosophy of fuzzy logic and
applications to control theory. Relationship between classical PID control and
fuzzy rule-based control. Techniques for rule construction and adaptive fuzzy
logic controllers. Case studies of applications. Three hours lecture, two hours
lab. Prerequisite: EE 413.
420-4 Computer Architecture
Introduction to computer architecture, computer system analysis and design,
performance and cost, instruction set architecture, processor implementation
techniques, pipelining, memory-hierarchy design, input/output, and contemporary
architectures. Prerequisite: CEG 320,CEG 360.
421-4 Microcomputer Design Projects
In-depth study of the design and use of microcomputer systems. Computer
organization and interface facilities are examined. Hardware/ Software projects
are required to develop techniques for hardware and software design of
open-ended projects. Three hours lecture, two hours lab. Prerequisite: CEG
320, 360.
425-4 VHISC Hardware Description Language (VHDL)
VHDL is an industry-standard language used to describe hardware from the
abstract to the concrete level. VHDL is rapidly being embraced as the universal
communication medium of design. Prerequisite: CEG 360 and CS 400.
428-4 Linear Optical Systems for Computer Engineers
Introduction to linear optical systems, transformation properties of optical
systems, correlation, convolution, diffraction, applications related to optical
computers, such as beam steering for optical interconnection and parallel
optical algorithm for pattern search, and neural network. Prerequisite: EE
321, 322.
429-4 Internet Security
Authentication, address spoofing, hijacking, SYN floods, smurfing, sniffing,
routing tricks, and privacy of data en-route. Buffer overruns and other
exploitations of software development errors. Hardening of operating systems.
Intrusion detection. Firewalls. Ethics. Prerequisite: CEG 433. Must have
senior standing or be a first year graduate student to enroll.
433-4 Operating Systems
Overview of operating system internals. File-system usage and design, process
usage and control, virtual memory, multi user systems, access control. Course
projects use C++ language. Three hours lecture, two hours lab. Prequisite:
CS 242, CEG 233, CEG 320.
434-4 Concurrent Software Design
Continuation of CEG 433. Processes and semaphores. Classical problems and
solutions of synchronization and concurrency. File system integrity and
robustness. Paging and segmentation. Overview of device drivers. Design of OS
internals. Prerequisite: CEG 433.
435-4 Distributed Computing and Systems
Study of process coordination, client-server computing, network and
distributed operating systems, network and distributed file systems, concurrency
control, recovery of distributed transactions, and fault-tolerant computing.
Prerequisite: CEG 434 or equivalent.
436-4 Mobile Computing
Study networking protocol and system design in mobile computing. Focus on
concepts, architecture, design, and performance evaluation of mobile computing
principles, protocols and applications, including: wireless TCP, Mobile IP,
802.11, agent techniques, etc. Prerequisite: CEG 402
453-4 Embedded Systems
Introduction to small, special-purpose computer systems. Topics include
hardware design issues, software design and implementation, and real-time
operating systems. Three hours lecture, two hours lab. Prerequisite: CEG
260, CEG 320
454-4 VLSI Design
(Also listed as EE 454.) Introduction to VLSI system design. Topics include
CMOS devices and circuit design techniques, basic building blocks for CMOS
design, fabrication processing and design rules, chip planning and layout,
system timing and power dissipation, simulation for VLSI design, and signal
processing with VLSI. Prerequisite: EE 431 and 432 and EE 451/CEG
360.
456-4 Introduction to Robotics
(Also listed as EE 456, ME 456.) An introduction to the mathematics,
programming, and control of robots. Topics include coordinate systems and
transformations, manipulator kinematics and inverse kinematics, trajectory
planning, Jacobians, and control. Prerequisite: senior standing and MTH
253.
458-4 Digital Integrated Circuit Design with PLDs and FPGAs
(Also listed as EE 462.) Design and application of digital integrated
circuits using programmable logic devices (PLDs) and field programmable gate
arrays (FPGAs). A commercial set of CAD tools (Mentor Graphics and Xilinx) will
be used in the laboratory portion of the course. Prerequisite: CEG 360 or EE
451, and EE 459.
459-4 Integrated Circuit Design Synthesis with VHDL
(Also listed as EE 459.) Application of VHSIC hardware description language
(VHDL) to the design, analysis, multi-level simulation, and synthesis of digital
integrated circuits. A commercial set of CAD tools (Mentor Graphics) will be
used in the laboratory portion of the course. Prerequisite: CEG 220, C
programming or equivalent, and CEG 260.
460-4 Introduction to Software Engineering
Concepts of software engineering. Analysis, design, and implementation of
software engineering concepts that comprise structured programming and design.
Case studies serve as examples illustrating the software life-cycle model. Three
hours lecture, two hours lab. Prerequisite: CS 400.
461-4 Object-Oriented Programming and Design
Study of object-oriented design and programming. Programming topics emphasize
the core concepts of encapsulation, inheritance, polymorphism, and dynamic
binding. Additional topics include class organization, software maintenance, and
design of reusable components. Prerequisite: CEG 460.
463-4 Personal Software Development Process
Discusses software development as it relates to the individual, software
process measurement, design and code reviews, software quality measurement,
design, and design verification. Each student will participate in the
development of a software project. Three hours lecture, two hours lab.
Prerequisite: CEG 460 or equivalent.
465-4 Interactive Systems Modeling, Analysis, and Design
Provide students experience in interactive real-time simulation, design,
implementation, and evaluation of interfaces to simulations. The relevant topics
are explored through application in supervisory control of complex, dynamic
systems. Prerequisite: CEG 220 or any one of the following: CEG
221, CS 241, CS 242 or instructor permission.
468-4 Managing the Software Development Process
Discusses software development processes, models, and techniques necessary to
successfully develop large-scale software. Presents the Capability Maturity
Model (CMM). Each student will participate in the development of a software
project. Three hours lecture, two hours lab. Prerequisite: CEG 460.
476-4 Computer Graphics I
(Also listed as MTH 476.) Contents: raster graphics algorithms, geometric
primitives and their attributes, clipping, anialiasing, geometric
transformations, structures and hierarchical models, input devices, and
interactive techniques. Students develop interrelated programs to design a
three-dimensional hierarchical model, manipulate, and view it. Prerequisite:
CS 400, MTH 253 or 255.
477-4 Computer Graphics II
(Also listed as MTH 477.) Continuation of CEG 476. Covers surface rendering,
midden line and surface removal, illumination models, texture and mapping, color
models, geometric modeling, and graphical interface design. Students develop
programs and a final project. Three hours lecture, two hours lab.
Prerequisite: CEG 476 or MTH 476.
478-3 Coding Theory
(Also listed as MTH 456, EE 478.) Introduction to the essentials of
error-correcting codes and the study of methods for efficient and accurate
transfer of information. Topics to be covered include basic concepts, perfect
and related codes, cyclic codes, and BCH codes. Prerequisite: MTH 253 or MTH
355 (or equivalent).
479-4 Computer Animation
Covers transformations, interpolation, morphing, camera control, hierarchical
kinematic modeling, rigid-body animation, controlling groups of objects,
collision detection, image-based rendering. Students develop three programs and
a final project relating to animation. Open to Engineering and Computer Science
Majors only. Prerequisite: CEG 476
490-4 Technology-Based Ventures
(Also listed as ISE 490) Train students on methods to develop breakthrough
products with an entrepreneurial perspective and managerial outlook. Topics
include advanced product development, protecting intellectual property,
fostering strategic and creative thinking, effectively leading technology-driven
teams. Senior standing or instructor permission.
495-4 Undergraduate Thesis
Completion of a computer engineering research project. Writing and defending
a thesis that describes the research and summarizes the results.
Prerequisite: CEG 499. Graded pass/unsatisfactory.
498-4 Team Projects
A summative computer engineering design project building upon previous
engineering, science, mathematics, and communication course work focusing on
professional practice in computer science and engineering. Must enroll in two
consecutive terms. Prerequisite: must complete a course in one of the
CEG elective packages.
499-1 to 5 Selected Topics
Topics vary. May be taken for letter grade or pass/unsatisfactory.