Skip to Local Navigation
Skip to Content
California State University, Long Beach
CSULB Student on Campus Quad
Print this page Add this page to your favorites Select a font size Select a small font Select a medium font Select a large font
 

Computer Engineering and Computer Science

Courses - CECS Upper Division

300. Web Design III (3)

Prerequisite: CECS 200.
Web page design using modern tools. Design and development of web pages from layout to posting on the Internet. Website usability, accessibility, security, and ethics.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

301. Computer Logic Design II (3)

Prerequisites: CECS 174, 201.
Sequential logic, programmable logic design, basic Arithmetic Logic Unit (ALU) design and memory devices. Laboratory projects with Medium Scale to Very Large Scale Integration (MSI to VLSI) implementations and Computer Aided Design (CAD).
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

310. Computer-Based Learning Resources (3)

Prerequisite: CECS 200.
Explore and learn to use the many existing web-based education tools that focus on teaching technology. Evaluation of resources for age appropriateness and gender preferences. Students will develop a web-based tool to teach a technical subject of their choice. Field work required.
Letter grade only (A-F). (Lecture 2 hours, laboratory 3 hours)

311. Principles of Computer Engineering II (3)

Prerequisites: CECS 201 and CECS 211.
Embedded system components. Bipolar and MOS devices and switching circuits. Embedded systems signal processing with operational amplifiers. Digital/analog interfacing including A/D and D/A converters. Schematic capture, analysis and implementation of embedded signal processing algorithms. Fundamentals of digital communication.
Letter grade only (A-F). (Lecture 2 hours, laboratory 3 hours)

312. Introduction to Distributed Operating Systems (3)

Prerequisite: CECS 174.
The Basics of Operating Systems, Processes, Threads, Concurrent Programming, Protection and Security, Distributed System Structures, Distributed File Systems, Distributed Coordination, Internet Applications.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

323. Database Fundamentals (3)

Prerequisites: CECS 228, 277.
Fundamental topics on database management. Topics include entity-relationship models, database design, data definition language, the relational model, data manipulation language, database application programming and normalization.
Letter grade only (A-F). (Lecture 2 hours, laboratory 3 hours)

326. Operating Systems (3)

Prerequisites: CECS 282 and either 285 or 346.
The structure and functions of operating systems. Interrupt handling, processes and interprocess communication, memory management, resource scheduling, information sharing and protection. Project implementation in C/C++.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

327. Net-centric Computing (3)

Prerequisite: CECS 326.
Introduction to Distributed Computing and Interprocess Communication. Client Server Paradigm. Sockets and the Socket API. Unicasting and Multicasting. Distributed Objects. CORBA. Internet Applications.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

328. Data Structures and Algorithms (3)

Prerequisite: CECS 228; Corequisite: CECS 277.
A broad view of data structures and the structure-preserving operations on them. Abstract data types, algorithms, complexity. Programming projects to exemplify these concepts.

341. Computer Architecture and Organization (3)

Prerequisites: CECS 285.
Review of logic design. Instruction set architecture. Arithmetic logic units. Data path and control. Pipelining and performance. Memory system organization and design. Virtual memory and paging. I/O interfacing. Vector and array processing. Distributed computing and supercomputing. Contemporary computer designs.
(Lecture 2 hours, laboratory, 3 hours) Letter grade only (A-F).

343. Introduction to Software Engineering (3)

Prerequisites: CECS 277 or 282
Principles of software engineering, UML, modeling large software systems, requirements elicitation, object oriented analysis and design using UML, introduction to design patterns, implementation of large systems, software testing, project management, the software lifecycle. Semester long programming project.
Letter grade only (A-F). (Lecture 2 hours, lab 3 hours)

345. Fundamentals of Embedded Systems (3)

Prerequisite: CECS 202.
Beginning course in embedded system design and technology. Examines embedded systems market, their fundamental basis, key hardware and software technology drivers, critical applications and component segments. Provides up-to-date analysis of recent developments and current trends in market space.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

346. Microprocessors and Controllers I (3)

Prerequisites: CECS 211 and 262.
Intro microprocessor/controller, embedded programming and design. Basic computer organization, representation of information and instruction, addressing techniques, input/output, assembly language programming. Introduction to assemblers, linkage editors and loaders. Study of the 8051. Design of microprocessor-based systems.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

347. Microprocessors and Controllers II (3)

Prerequisites: CECS 301, 311, and 346.
Study of embedded processor applications and interfacing. Embedded systems design, control of external devices, embedded programming in C and assembly. A/D and D/A converters, digital signal processing, motor and LCD controllers. Laboratory implementation of embedded designs and hardware-assisted debugging.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

360. Integrated Circuit Design Software (3)

Prerequisites: CECS 301, 346, MATH 123 or 222.
Introduction to Computer Aided Design tools used in the design and fabrication of integrated circuits. Discussion of the IC fabrication process, the layout and routing of basic gates, transistor level design of gates, synthesis and RTL level design, floor planning, and IC development costs.
(Lecture 2 hours, lab 3 hours) Letter grade only (A-F).

362. Real-Time Operating Systems (3)

Prerequisites: CECS 285 or 346, and 262.
Introduction to embedded Real-Time Operating Systems (RTOS) and device drivers. Work with open-source RTOS on an 8-bit hardware platform to understand and write kernels, executives and schedulers along with preemptive multi-tasking systems. Student will study and write device drivers that will be implemented in RTOS. Programming will be done in C and assembly language.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

401. Programming Robots – For Educators (3)

Prerequisite: Some programming experience.
Learn how to inspire interest in engineering and computer science among children ages 9 through 16. Using robotic kits, gain hands-on experience in problem solving and computer programming while constructing and programming unique robot inventions.
May not be used to satisfy any MSCS requirements. (Lecture 2 hours, laboratory 3 hours). Letter grade only (A-F).

405. Selected Topics in Computer Science (3)

Prerequisite: Senior standing in computer science major.
Selected topics from recent advances in computer science and technology.
Letter grade only (A-F). May be repeated to a maximum of 6 units with different topics. Topics announced in the Schedule of Classes. (Lecture-problems 3 hours)

406. Selected Topics in Computer Science (3)

Prerequisite: Senior standing in the computer science major.
Each offering is based upon an area of computer science and technology in which recent advances have been made.
Letter grade only (A-F). May be repeated to a maximum of 6 units with different topics in different semesters. Topics announced in the Schedule of Classes. (Lecture 2 hours, laboratory 3 hours)

410. Computers and Networks (3)

Prerequisite: Course design assumes familiarity with computers.
Gain practical, hands-on experience in installing hardware and software on a PC. Learn what a computer network is and how it is similar to the telephone network. Learn the parts that make up a computer and a network.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

412. Introduction to Computer Network Architectures (3)

Prerequisite: Familiarity with computers
Beginning course in computer networking designed to provide a grasp of network architectures through lecture/hands-on laboratory assignments. Overview of networking concepts and design essentials. Networking media and NICs. Network communications/protocols focusing on TCP/IP. Local area networks. Networking administration. Networking problems.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

414. Introduction to Network and System Security Issues (3)

Prerequisites: CECS 174.
Controlling the risk of computer security: Security threats and vulnerabilities in the development and use of computer systems. Tools and controls that can reduce or block these threats. Topics in Network Security.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

419./519. Theory of Computation (3)

Prerequisite: CECS 328.
Finite Automata and regular expressions. Pushdown automata and context-free languages. Turing machines and computability. Computational complexity.
Letter grade only (A-F). Additional projects required for CECS 519. (Lecture-problems 3 hours)

423. Database Web Applications in JEE (3)

Prerequisites: CECS 323 and 343.
Design and development of data-intensive web applications in Java EE. Database topics include transaction management, stored procedures, triggers, and security. Web application design and development using core JEE patterns like Front Controller, MVC, and DAO. Application of software engineering to complete a group project.
Letter grade only (A-F). (Lecture 2 hours, laboratory 3 hours)

424. Organization of Programming Languages (3)

Prerequisites: CECS 326 and 328.
Understanding the variety of programming languages and the design trade-offs between current programming language paradigms. Comparison of programming languages in their design, implementation, and run-time supports. Includes programming projects.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

428. Analysis of Algorithms (3)

Prerequisite: CECS 328.
Applications of standard combinatorial techniques to applied programming problems. Rigorous analysis of correctness/complexity of algorithms. Advanced graph algorithms are emphasized. Topics include shortest paths on graphs, sorting, string matching, union find problem, divide-and-conquer technique, and weighted-edge problem.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

429./529. Search Engine Technology (3)

Prerequisites: CECS 323 and 328, MATH 380 or EE 380.
Models, algorithms, and evaluation of the retrieval of information from a collection of documents. Document preprocessing. Indexing and searching. Retrieval evaluation. Search engines.
Additional projects required for CECS 529. (Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

440. Computer Architecture (3)

Prerequisites: CECS 346.
Review of logic design. Register transfer and micro-operations. Basic computer organization. Central processor organization. Microprogram control organization. Arithmetic processor design. Arithmetic algorithms. Input-output organization. Memory organization.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

443. Software Engineering (3)

Prerequisite: CECS 326.
Software life cycle. Functional decomposition, data flow and object-oriented development. Reusability and portability.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

444. Compiler Construction (3)

Prerequisites: CECS 285 and 328.
Syntax directed compiler study. Organization of a compiler and overall design: parsing, semantic analysis, optimization and code generation.
(Lecture 3 hours, laboratory 3 hours) Letter grade only (A-F).

445. Software Design and Architecture (3)

Prerequisites: CECS 343 and senior standing.
In-depth look at software design, design patterns, frameworks, architectures and middleware architectures. Component based design including COM, Corba, and .Net. Fundamentals of software metrics, measuring software qualities. Basics of software evolution, reengineering, and reverse engineering. A semester long team project.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

447. Microprocessors and Controllers III (3)

Prerequisite: CECS 347.
Embedded system applications and techniques. Real-time multi-tasking systems, schedulers, kernels, and operating systems for embedded processors. Advanced I/O technologies - CAN, I2C, Ethernet. Embedded Internet applications. Polling vs. interrupt handling. Lab implementation of embedded designs and hardware-assisted debugging.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

448. User Interface Design (3)

Prerequisite: CECS 343 or consent of instructor.
Evaluation, design and programming of user interface systems. Fundamentals of human cognition, system characteristics, and the interaction between humans and systems. Usability methods and user/task-centered design. Tools for designing and building user interfaces, with emphasis on rapid applications development.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

449. Computer Graphics (3)

Prerequisites: MATH 247, CECS 282 and 328.
Basic software and hardware of 2-D computer graphics. Applications.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

451. Artificial Intelligence (3)

Prerequisites: CECS 277 and 328.
Introduction to the history and implementation of artificial intelligence agents. Topics include search, constraint satisfaction, game-playing, logical agents, belief networks, optimal sequential decision systems. Project implementation.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

453. Mobile Application Development (3)

Prerequisite: CECS 328 or consent of the instructor.
Languages and application programming interfaces for mobile device platforms. Development of thick and thin client applications for mobile devices.
Letter grade only (A-F). (Lecture 2 hours, Laboratory 3 hours)

455. Introduction to Game Programming (3)

Prerequisite: CECS 328 or consent of instructor.
Introduction to game programming and graphics. "Slow" games. Real-time games with no adversary. Adversarial real-time games in 2-D.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

460. System on Chip Design (3)

Prerequisite: CECS 360.
Complete System on Chip (SOC) design flow from design specification to working SOC. Creation of RTL level modules designed for reuse, integration of Intellectual Property (IP) for RTL and physical level IP, IC verification, creation of self-checking test benches for designs.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

461./561. Hardware/Software Co-design (3)

Prerequisite: CECS 341 or 440.
Introduction to top-down methods for hardware/software system-on-chip co-design. Design flow – system specification, software implementation, hardware synthesis, system design, and verification. Process optimization with various design decisions emphasized. Projects/case studies using system-level design methods and tools.
Additional projects required for CECS 561. (Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

463. System on Chip (SOC) Applications (3)

Prerequisite: CECS 360.
System on Chip (SOC) design applications. Study of a variety of signal processing SOC designs and ASIC algorithms. Class projects emphasizing hardware/software integration with use of FPGA/CPLD devices. Design reviews, specification, team design implementation with project planning and tracking for system level design applications.
Letter grade only (A-F). (Lecture 2 hours, laboratory 3 hours)

470. Web Programming and Accessibility (3)

Prerequisites: CECS 323 and 343.
Introduction to World-Wide Web development. Accessibility issues. Web architecture, standards, and programming, emphasizing XML technologies and cascading style sheets. Visual design principles and information architecture. Client-side and server-side programming and protocols. Development for adaptive technologies and mobile devices.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

472. Computer Network Programming (3)

Prerequisites: CECS 326 or 362.
Fundamentals of computer network programming. Client-server programming. Concepts of computer network programming including the RPC Procedure Call, CORBA, multicasts, and broadcasts.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

474. Computer Network Interoperability (3)

Prerequisite: CECS 326 or 362.
Overview of computer network theory and practice from a systems perspective. Topics include network infrastructure, local area network (LAN) protocols, wide area network (WAN) protocols, switching technologies, Internet Protocol (IP), Transmission Control Protocol (TCP), network security, and network configuration, design, and performance.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

475. Application Programming Using .NET (3)

Prerequisite: CECS 343.
A rigorous introduction to enterprise application development utilizing the .NET environment. Topics include GUI interface concepts, multithreading, collections and web forms as well as application interfaces to database, web services and networks. The course will have intensive individual projects as well as a team project.
Letter grade only (A-F). (Lecture 2 hours, laboratory 3 hours)

476. System and Network Administration (3)

Prerequisites: CECS 326 or 362.
Introduction to the management and administration of Unix systems and TCP/IP networks. Managing users, local and network file systems, electronic mail, print queues. Establishing and managing a network.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

478./578. Introduction to Computer Security (3)

Prerequisite: CECS 323, 328, and one course selected from 472, 474, 476.
Controlling the risk of computer security. Security threats and vulnerabilities in the development and use of computer systems. Tools and controls that can reduce or block these threats. Law, privacy and ethics.
Additional projects required for CECS 578. (Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

490A. Senior Project I (3)

Prerequisites: CECS 347, senior standing.
A design course where the student will define a problem and provide a report containing a complete design solution.
(Seminar 3 hours) Letter grade only (A-F).

490B. Senior Project II (3)

Prerequisites: CECS 490A or 491 and consent of instructor.
Implementation of previously completed design project from CECS 490A or CECS 491. A formal demonstration with an oral and written presentation is required.
(Seminar 3 hours) Letter grade only (A-F).

491. Software Development Project (3)

Prerequisites: CECS 343 and senior standing.
Selected topics from recent advances in applied computing. Application of selected topics to the design and implementation of a software system within a team setting. Techniques for project management, documentation, and technical presentations. Software design, implementation, and evaluation strategies.
(Seminar 3 hours) Letter grade only (A-F).

492. Computer Networking Project Course (3)

Prerequisite: CECS 474 or consent of instructor.
Selected topics from recent advances in computer networking. Design, implementation, and performance analysis of enterprise networks. Network modeling and simulation. Application of selected topics to a semester-long team project focusing on the design and implementation of a large-scale network system.
(Seminar 3 hours) Letter grade only (A-F).

496. Computer Science Problem Solving (1)

Prerequisites: CECS 274 and consent of instructor.
Problem solving in Computer Science. Theory necessary to solve computer science problems and the solutions to the problems. Problems studied will involve applications of graph theory, data structures, recursion, and algorithms.
(Lecture 1 hour) May be repeated to a maximum of 6 units in different semesters. Letter grade only (A-F).

497. Directed Studies (1–3)

Prerequisite: Consent of instructor.
Assigned study in topics in current computer literature or computer-related projects with a final report.
May be repeated to a maximum of 6 units with written consent of the Department Chair.