Computer Engineering & Computer Science (CECS)

CECS 503. Survey of Computer Engineering and Computer Science3 Units

Term Typically Offered: Fall, Spring, Summer

Prerequisite(s): CECS 130.

Description: Introduction to foundations of computer engineering and computer science for non-majors. Emphasis on C++ programming language, data structures and algorithms, and operating systems fundamentals. This course cannot be used to meet degree requirements for any CECS/CS/CSE degree.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 504. Automata Theory3 Units

Term Typically Offered: Fall, Spring

Prerequisite(s): CECS 310.

Description: Finite state machines and their application to engineering problems including modeling the behavior of discrete systems. Topics include theory of computing, formal language theory, and applications of cellular automata. Engineering models of digital computer hardware are covered and related to software design.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 506. Modeling and Analysis of Engineering Systems3 Units

Term Typically Offered: Fall, Spring, Summer

Prerequisite(s): ENGR 330.

Description: Representation of engineering systems, Fourier analysis, z-transforms, frequency response, state-space analysis, stability, an introduction to the basic theory of filter design; and demonstrated concepts to CAS.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 510. Computer Design3 Units

Term Typically Offered: Fall, Spring, Summer

Prerequisite(s): ECE 210.

Corequisite(s): ECE 511.

Description: Review of logic design and elementary computer organization. Design of the central processing unit, memory, control, and input-output portions of a computer. The VHDL hardware design language will be used.

Note: Cross-listed with ECE 510.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 516. Fundamentals of Computer Communications and Networks3 Units

Term Typically Offered: Spring Only

Prerequisite(s): ECE 360 or IE 360, and CECS 412.

Description: Data communications: The exchange of data between devices is covered. The key aspects of transmission interfacing, link control, and multiplexing are examined. Data communication networking: Examines the internal mechanisms by which communication networks provide a data transfer service for attached devices.

Note: Cross-listed with ECE 518.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 522. Performance Evaluation of Computer Systems3 Units

Term Typically Offered: Fall Only

Prerequisite(s): IE 360 and CECS 420.

Description: A study of approaches to the evaluation of computer systems. Measurement techniques and evaluation techniques are treated in detail with attention to existing commercial hardware and software monitors and simulators.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 525. Microcomputer Design4 Units

Term Typically Offered: Fall, Spring

Prerequisite(s): ECE 412 or CECS 412 or consent of instructor.

Description: Design and construction of microcomputers with microprocessors and digital integrated circuits. Breadboarding, hardware design, and software design are emphasized. The class is separated into groups, and each group designs, breadboards, and tests a complete microcomputer system, including interfaces to peripheral devices.

Note: Cross-listed with ECE 516.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 528. Game Design and Programming3 Units

Term Typically Offered: Fall, Spring, Summer

Prerequisite(s): CECS 302.

Description: This course will provide an overview of Multimedia and Game programming, and teach basic computer game design techniques using state-of-art game engines.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 530. Design of Compilers3 Units

Term Typically Offered: Spring, Summer

Prerequisite(s): CECS 420.

Description: Engineering descriptions of algorithmic language. Study of syntax, semantics, ambiguities, procedures, replication, iterations, and recursion in the language. Engineering design of a compiler.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 535. Introduction to Databases3 Units

Term Typically Offered: Fall, Spring

Prerequisite(s): CECS 302 or equivalent.

Description: Course covers basics of database design, SQL, query processing, and optimazation, transactions.The emphasis will be placed on Engineering design and implementation of relational systems. A written project is required.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 536. Data Management and Analysis3 Units

Term Typically Offered: Fall, Spring, Summer

Description: The goal of the course is to teach, to the students who are not Computer Science majors, the basic skills needed to organize, assess and analyze data sets. The course discusses a variety of tools (file systems, database systems, and the R environment) as well as a series of basic tasks, from generating metadata to basic filtering, organizing and enrichment of data sets. This course contributes to develop analysis, modeling and problem-solving skills.

Note: This course is intended for non-CECS majors.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 540. Object Oriented Information Technology3 Units

Term Typically Offered: Fall, Spring, Summer

Prerequisite(s): Graduate standing.

Description: Survey of design and development of object oriented software. Software architectures, development environments, graphical user interfaces, and networks of distributed objects. Software design project required.

Note: CECS students cannot receive credit for CECS 440 and 540.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 542. Computer Control and Real Time Programming3 Units

Term Typically Offered: Fall, Spring, Summer

Prerequisite(s): ECE 412 or CECS 412.

Description: Programmable Logic Controllers, Human Machine interfaces, SCADA, state machines,sensors,and actuators. Study of industrial algorithms,open/closed loop real-time control and schematics.

Note: Cross-listed with ECE 517.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 545. Artificial Intelligence3 Units

Term Typically Offered: Fall Only

Prerequisite(s): CECS 302 and CECS 310.

Description: This course introduces the use of predicate calculus logic, heuristic search, and knowledge representations for solving engineering and computer science problems. The course includes coverage of rule-based expert systems, intelligent agents,and machine learning.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 550. Software Engineering3 Units

Term Typically Offered: Fall, Spring

Prerequisite(s): CECS 420.

Description: Engineering methods applied to the life-cycle issues in the team-oriented development of large software systems including issues of software processes, metrics, testing and quality. Documentation of the project and an oral presentation are required.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 563. Experimental Design in Engineering3 Units

Term Typically Offered: Fall, Spring, Summer

Prerequisite(s): IE 360.

Description: Design of engineering experiments and projects using theory of least squares, analysis of variance and co-variance, randomized blocks, Latin squares, factorial experiments and associated topics. Engineering design problems using SAS or equivalent software packages.

Note: Cross-listed with IE 563.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 564. Introduction to Cryptography3 Units

Term Typically Offered: Summer Only

Prerequisite(s): CECS 310 and IE 360.

Description: This course gives a historical introduction to cryptology and the science of secret codes. The first part covers substitution ciphers, transposition codes, Vigenere cipher and more complex polyalphabetic substitutions including those created by rotor machines. The second part describes bit block cipher schemes such as Data Encryption Standard (DES). Public key encryption is the subject of the final part including RSA, Knapsack codes, and Diffie-Hellman key exchange.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 566. Information Security3 Units

Term Typically Offered: Summer Only

Prerequisite(s): CECS 311 and CECS 420.

Description: Technical, legal and policy issues associated with information security. Authentication, trusted computer systems, information encryption, biometrics, computer forensics, and privacy issues. Written and verbal reports are required.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 568. Computer Forensics3 Units

Term Typically Offered: Fall Only

Prerequisite(s): CECS 311, CECS 420, and CECS 566, or consent of instructor.

Description: Course examines legal, legal, administrative, technical and scientific issues in computer forensics, network forensics, information security and trusted systems. Course requires class participation, lab work, team projects, writing and oral presentations.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 570. Mobile Device Program3 Units

Term Typically Offered: Fall, Summer

Prerequisite(s): CECS 220 or equivalent.

Description: This course covers the basic concepts in designing and implementing applications running on Apple's iOS and Google's Android operating systems.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 590. Special Topics in Computer Engineering and Computer Science1-6 Units

Term Typically Offered: Spring Only

Description: Devoted to topics which usually are not treated in detail in the general courses.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 593. Independent Study in Computer Engineering and Computer Science1-6 Units

Term Typically Offered: Fall, Spring, Summer

Description: Opportunity for the student, under the supervision of a sponsoring faculty member, to pursue individualized study related to research or practice that is not included in regular courses in the curriculum.

Note: Chair Approval is required.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 596. CECS Capstone Design - CUE3 Units

Term Typically Offered: Fall, Spring

Prerequisite(s): CECS 525 (or concurrently) and CECS 550 (or concurrently); Senior standing.

Description: This course requires solving a real-world design problem in computer engineering. It used hardware and software design methods and tools learned in previous coursework emphasizing teamwork, written and oral communication.

Course Attribute(s): CUE - This course fulfills the Culminating Undergraduate Experience (CUE) requirement for certain degree programs. CUE courses are advanced-level courses intended for majors with at least 90 earned credits/senior-level status.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 602. Graduate Internship in Computer Engineering and Computer Science2 Units

Grading Basis: Pass/Fail

Prerequisite(s): Student must be admitted for Graduate Study and a sponsored member of the Graduate Intern Program.

Description: Supervised professional experience in industry at the graduate level. This course provides the structure and focus for the graduate intern field assignment to ensure that the assignment is appropriate and consistent with the intern's graduate course of study and professional development. May be repeated for credit.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 608. Advanced Design of Operating Systems3 Units

Prerequisite(s): CECS 420.

Description: Formal study of algorithms arising in the engineering design of operating systems. Models will be designed and analyzed as to performance measures and optimality. Topics include management protection, security, concurrency, and resource allocation.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 609. Multimedia Processing3 Units

Term Typically Offered: Spring Only

Prerequisite(s): CECS 302 or consent of instructor.

Description: This course aims to provide a broad introduction of Multimedia representation, encoding/compression, storage, and communication. It covers multimedia standards such as JPEG, H.261, and MPEG. It also aims to provide an experience with the use, integration, and content-based indexing and retrieval of audio, image, video, and textual sources for some multimedia applications and services.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 611. Computer Architecture3 Units

Prerequisite(s): CECS 510, CECS 525, ECE 510, ECE 516 or equivalent.

Description: This course will provide in-depth exposure to advanced topics in computer architecture. The emphasis on studying and analyzing fundamental issues in computer architecture design and their impact on performance. Course topics include performance measurements; ISA; memory hierarchy design and cache memory; advanced pipelining; and advanced computer structures for instruction-level parallelism, instruction scheduling, data-level parallelism, and thread-level parallelism.

Note: Cross-listed with ECE 611.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 613. Network Security3 Units

Prerequisite(s): CECS 516.

Description: This course provides basic knowledge and understanding of network security and vulnerability. The course also examines the internal mechanisms of various attacks and possible protection. Class participation, lab work, team projects, writing, and oral presentations will be integral components of the course.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 617. Mobile Computing3 Units

Prerequisite(s): CECS 516.

Description: Mobile communication and computing concepts, and related software development. Internal mechanisms by which mobile communication networks provide data transfer service for attached devices. Architecture of ad hoc networks and related protocols.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 619. Design and Analysis of Computer Algorithms3 Units

Prerequisite(s): CECS 310 and IE 360.

Description: This course covers the interrelationship between algorithmic statements, data structures,and computational complexity of computer programs. Algorithms are presented for a number of computer science and engineering applications including graph problems,string matching, dynamic programming, transitive closure, and convolution. The properties of NP-complete problems are introduced.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 620. Combinatorial Optimization and Modern Heuristics3 Units

Prerequisite(s): CECS 419 or equivalent.

Description: Combinatorial Optimization and Modern Heuristics presents classical and modern search and optimization concepts, methods, and applications.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 621. Web Mining for E-Commerce and Information Retrieval3 Units

Prerequisite(s): CECS 419 or equivalent.

Description: Fundamentals of knowledge discovery in semi-structured/unstructured data with emphasis on the World Wide Web: Web usage,content, and structure mining, applications to personalization,e-commerce, information retrieval, text mining.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 622. Simulation and Modeling of Discrete Systems3 Units

Prerequisite(s): IE 360.

Description: Engineering design of simulation languages and simulators, discrete stochastic systems, issues in large scale simulation studies and engineering evaluation methods.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 625. Parallel Programming3 Units

Prerequisite(s): CECS 419 or equivalent.

Description: This course will provide an overview of parallel computation and algorithms, and teach basic parallel programming techniques.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 627. Digital Image Processing3 Units

Prerequisite(s): CECS 506, or ECE 420, or faculty consent.

Description: A course that surveys basic concepts in image processing and pattern recognition. Topics included are: contrast and edge enhancement, histogram modification, image segmentation, feature extraction, statistical classifiers. Design problems involving computer implementation of algorithms are used extensively.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 628. Computer Graphics3 Units

Prerequisite(s): CECS 302.

Description: This course presents an introduction to computer graphics hardware and interactive engineering computer graphics techniques. Topics include engineering computer- aided design, graphics hardware (display processors and displays, hardcopy output devices, input devices), graphics standards and graphical kernel system, graphic object representation and transformation, interaction techniques, and three-dimensional graphics. Hardware graphics options are discussed and used.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 629. Distributed System Design3 Units

Prerequisite(s): CECS 420.

Description: This course covers general concepts in the design and implementation of distributed systems, visiting topics in cluster computing, supercomputing, grid computing, and cloud computing. The course is composed of two building blocks: 1) distributing computing models including MPI and MapReduce programming, and 2) distributed storage techniques including networked, parallel, and distributed file systems. Our readings and discussions of research papers will help us understand general approaches to design, implement, and evaluate real distributed systems as well as identify open research problems.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 630. Advanced Databases3 Units

Term Typically Offered: Spring Only

Prerequisite(s): CECS 535 or consent of instructor.

Description: Object-relational databases; handling of complex types, XML and text in relational databases. NoSQL databases: data models and query languages. Data warehousing: design and implementation, query processing and optimization. Big Data: cluster computing, MapReduce and extensions, advanced analytical databases, distributed query processing.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 631. Database Security3 Units

Prerequisite(s): CECS 535 or consent of instructor.

Description: This course covers basic issues in the field Security for database systems. Topics include Security Architecture, Administration of Users and Password Policies, Database Application Security Models, Virtual Private Databases and Label Based Access Control, Database Auditing Models, and Application Data Auditing. The course contributes to the following ABET goals: written communication, and contains heavy coverage of the following ABET goals: Knowledge of contemporary issues in the field of computer engineering and computer science.The understanding of professional and ethical responsibility in the field of computer engineering and computer science.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 632. Data Mining3 Units

Prerequisite(s): IE 360 and CECS 535.

Description: Data mining concepts, methodologies, and techniques, including statistical and fuzzy inference, cluster analysis, artificial neural networks, and genetic algorithms, rule association and decision trees, N-dimensional visualization, Web and text mining, and advanced topics.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 633. Computer Vision3 Units

Prerequisite(s): CECS 627 or ECE 618 or consent of instructor.

Description: Review of elementary pattern recognition and image processing; extension to advanced topics in computer vision, such as three-dimensional vision and perception, syntactic pattern recognition, motion, texture, and color vision applications.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 635. Data Mining with Linear Models3 Units

Description: This course covers the theory and practice of linear models and mixed models as applied to different types of data.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 640. Internet Application Design and Development3 Units

Prerequisite(s): CECS 220.

Description: This course covers software design and development issues encountered in designing internet applications. Topics are HTML5 and CSS, HTTP and Servlet, JDBC, JSP Programming, Custom Tags and Java Bean, Connection Pooling, Web Application Architecture and Design, The Presentation Tier, The Business Logic Tier, The Persistence Tier, and Web Services.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 641. Medical Imaging Systems3 Units

Prerequisite(s): ECE 618 or ECE 555.

Description: Focuses on the foundations of modern medical imaging. Topics include: X-ray generation and X-ray/tissue interactions, projection X-ray imaging,image reconstruction from projections, X-ray CT, MRI, nuclear medicine, SPECT, PET and Ultrasound.

Note: Cross-listed with ECE 641.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 645. Advanced Artificial Intelligence3 Units

Prerequisite(s): CECS 545.

Description: Advanced topics in artificial intelligence from current research publications. Oriented toward second year graduate students. Major project required.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 646. Intelligent Systems3 Units

Prerequisite(s): CECS 545.

Description: Advanced topics in artificial intelligence and intelligent systems, including machine learning, nontraditional logics, connectionist and evolutionary computing, autonomous robots, and intelligent monitoring and diagnosis of complex systems. A major project is required.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 660. Introduction to Bioinformatics3 Units

Prerequisite(s): CECS 302 or CECS 503.

Description: Covers the current state of the art programs designed for sequence alignment, database searching, RNA structure prediction, microarray, sequence analysis, gene prediction, repeat detection, and protein folding prediction. A detailed analysis of the algorithms behind each of these will be explored. The algorithmic techniques discussed will include dynamic programming, hidden Markov models, finite state automata, grammars, Karlin-Altschul statistics and Bayesian statistics.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 690. Master of Science Thesis in Computer Science1-6 Units

Description: Experimental and/or theoretical research to be presented in thesis.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 693. Independent Study in Computer Engineering and Computer Science1-6 Units

Description: Guided study of one or more CECS topics of interest.

Note: Chair Approval is required.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 694. Special Topics in Computer Engineering and Computer Science1-6 Units

Description: Devoted to topics which usually are not treated in detail in the general course.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 695. Computer Engineering and Computer Science Seminar1 Unit

For class offerings for a specific term, refer to the Schedule of Classes

CECS 696. CECS Project3 Units

Prerequisite(s): Graduate standing in CECS.

Description: Independent design or experimental project in Computer Engineering and Computer Science. Written and verbal reports required. Reports must include literature, speech, experimental methodology, design details, implementation details, test results, conclusions, and references. Verbal reports will be presented at a specified date each semester.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 697. Master of Engineering Thesis in Computer Engineering and Computer Science1-8 Units

Prerequisite(s): Graduate/Professional standing.

Description: A candidate for the Master of Engineering degree, specializing in the field of Computer Engineering and Computer Science, is required to perform a study, design, or investigation under the direction of a faculty member. A written dissertation is required to be presented and defended orally and submitted to the faculty for approval.

Note: This course may be repeated for a maximum total of eight semester hours.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 790. Special Topics in Computer Science & Engineering1-6 Units

Description: Devoted to advanced topics that are not treated in the general courses. Topics will be announced in the Schedule of Courses.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 795. CECS Seminar1-4 Units

Description: Seminar in Computer Science & Engineering

For class offerings for a specific term, refer to the Schedule of Classes

CECS 796. Independent Study in Computer Science & Engineering1-6 Units

Prerequisite(s): Consent of advisor.

Description: Opportunity for the student, under the supervision of a sponsoring faculty member, to pursue individualized study related to research or practice that is not included in regular courses in the curriculum.

For class offerings for a specific term, refer to the Schedule of Classes

CECS 799. Dissertation Research1-24 Units

Prerequisite(s): Consent of advisor.

For class offerings for a specific term, refer to the Schedule of Classes