Fall Semester
| Course code | Title | Hours |
|---|---|---|
| CPE 100 | Introduction to Discrete Mathematics | 3 |
| CPE 101 | Programming Methodology I | 3 |
| CPE 111 | Introduction to Computer Science with Applications I | 3 |
| CPE 112 | Computer Engineering Orientation | 3 |
| CPE 113 | Fundamentals of Computer Science I | 3 |
| CPE 114 | Introduction to Computing | 3 |
Elective (Student is expected to choose course from the elective courses)
| Course code | Title | Hours |
|---|---|---|
| CPE 115 | Accelerated Introduction to Computer Science | 3 |
| CPE 116 | Digital Design | 3 |
| CPE 117 | Digital Design Laboratory | 3 |
Spring Semester
| Course code | Title | Hours |
|---|---|---|
| CPE 120 | Programming Methodology II | 3 |
| CPE 121 | Fundamentals of Computer Science II | 3 |
| CPE 122 | Computer Design and Assembly Language Programming | 3 |
| CPE 123 | Fundamentals of Computer Science for Scientists and Engineers I | 3 |
| CPE 124 | Fundamentals of Computer Science for Scientists and Engineers II | 3 |
| CPE 125 | Introduction to Computer Science with Applications II | 3 |
| Course code | Title | Hours |
|---|---|---|
| CPE 126 | Introduction to Computer Organization | 3 |
| CPE 127 | Problem Solving with Computers | 3 |
CPE 201 — Computer Design and Assembly Language —
Programming Laboratory 3
| Course code | Title | Hours |
|---|---|---|
| CPE 211 | Fundamentals of Computer Science III | 3 |
| CPE 212 | Computer Graphics Applications | 3 |
| CPE 213 | Professional Responsibilities | 3 |
| CPE 214 | Individual Software Design and Development | 3 |
| CPE 215 | Introduction to Software Engineering | 3 |
| CPE 217 | Software Engineering I | 3 |
| Course code | Title | Hours |
|---|---|---|
| CPE 220 | Software Engineering II | 3 |
| CPE 221 | Computer Architecture | 3 |
| CPE 223 | Micro Controllers and Embedded Applications | 3 |
| CPE 224 | Discrete Time Signals and Systems | 3 |
| CPE 225 | Programmable Logic and Microprocessor-Based Systems Design | 3 |
| CPE 226 | Microprocessor System Design | 3 |
| CPE 227 | Design and Analysis of Algorithms | 3 |
| Course code | Title | Hours |
|---|---|---|
| CPE 301 | Systems Programming | 3 |
| CPE 311 | Introduction to Database Systems | 3 |
| CPE 312 | Database Modeling, Design and Implementation | 3 |
| CPE 313 | Signals and Systems Laboratory | 3 |
| CPE 314 | Distributed Computing I | 3 |
| CPE 315 | Software Construction | 3 |
| Course code | Title | Hours |
|---|---|---|
| CPE 316 | Microcomputer Systems | 3 |
| CPE 317 | Autonomous Mobile Robotics | 3 |
| CPE 318 | Digital Computer Subsystems | 3 |
| CPE 319 | Introduction to Computer Networks | 3 |
| Course code | Title | Hours |
|---|---|---|
| CPE 320 | Computer Vision | 3 |
| CPE 321 | Programming Languages I | 3 |
| CPE 322 | Digital Control Systems | 3 |
| CPE 323 | Introduction to Object Oriented Design Using |
Graphical User Interfaces 3
| Course code | Title | Hours |
|---|---|---|
| CPE 324 | Dynamic Web Development | 3 |
| CPE 325 | Programming Languages II | 3 |
| CPE 326 | Digital Computer Systems | 3 |
| Course code | Title | Hours |
|---|---|---|
| CPE 327 | Computer Peripheral Interfacing | 3 |
| CPE 328 | Computer-Aided Design of VLSI Devices | 3 |
| CPE 329 | Bioinformatics Algorithms | 3 |
| CPE 302 | Introduction to Computer Graphics | 3 |
| Course code | Title | Hours |
|---|---|---|
| CPE 400 | Implementation of Operating Systems | 3 |
| CPE 401 | High Performance Computing for |
Scientific and Engineering Applications 3
| Course code | Title | Hours |
|---|---|---|
| CPR 411 | Basics of Information System Security | 3 |
| CPE 412 | Knowledge Discovery from Data | 3 |
| CPE 413 | Database Management Systems Implementation | 3 |
| CPE 414 | Digital Control Systems Laboratory | 3 |
| CPE 415 | Advanced Rendering Techniques | 3 |
| Course code | Title | Hours |
|---|---|---|
| CPE 416 | Computer Animation | 3 |
| CPE 417 | Real-Time 3D Computer Graphics Software | 3 |
| CPE 418 | Introduction to Operating Systems | 3 |
| CPE 419 | Computer Systems | 3 |
| Course code | Title | Hours |
|---|---|---|
| CPE 402 | Software Architecture and Design | 3 |
| CPE 420 | Knowledge Based Systems | 3 |
| CPE 421 | Software Project Management | 3 |
| CPE 422 | Computer Organization and Assembly Level Programming | 3 |
| CPE 423 | User-Centered Interface Design and Development | 3 |
| CPE 424 | Autonomous Robot Navigation | 3 |
| CPE 499 | Senior Project | 3 |
| Course code | Title | Hours |
|---|---|---|
| CPE 425 | Current Topics in Artificial Intelligence | 3 |
| CPE 426 | Current Topics in Computer Graphics | 3 |
| CPE 427 | Microelectronics and Electronics Packaging | 3 |
| CPE 428 | Advanced Real-Time Embedded Systems Design | 3 |
| CPE 429 | Advanced Topics in Systems for Computer Engineering | 3 |
COURSE DESCRIPTION
CPE 100: Introduction to Discrete Mathematics:
Fundamental principles of counting: rules of sum and product; permutations, arrangements and combinations, the binomial theorem; combinations with repetition; distributions. Fundamentals of logic: basic connectives and truth tables; logical equivalence; the laws of logic; logical implication; rules of inference; the use of quantifiers; proofs of theorems. Sets: the laws of set theory. Boolean algebra. Relation of Boolean algebra to logical and set theoretic operations. Modulo arithmetic: representations of numbers in binary, octal and hexadecimal formats; binary arithmetic. Induction and recursion: induction on natural numbers; recursive definitions. Functions and relations: Cartesian products and relations; functions; function composition and inverse functions; computational complexity. Elements of graph theory: basic definitions of graph theory; paths, reachability and connectedness; computing paths from their matrix representation; traversing graphs represented as adjacency lists; trees and spanning trees.
CPE 101 Programming Methodology I.
Introduction to computer hardware and software, programming and programming paradigms; including low-level programming. Overview of procedural programming languages: key elements; reserved words and identifiers; data types and declarations; statements; arithmetic expressions; different modes of execution. Top-down modular design using functions (and native classes). Flow control using If-Else and Switch statements. Repetition using loops and recursive functions. Simple data types: native and user-defined. Static data structures: arrays and structures. Overview of object-oriented programming languages. User-defined classes. Class attributes and methods. Object creation, use and destruction. Pointers and an introduction to dynamic data structures. Introduction to streams and files
CPE 111: Introduction to Computer Science with Applications I:
Introduction to the fundamentals of computer science using a modern programming language. Includes principles of algorithmic problem solving, data types, elementary data structures, input/output, control structures, classes and methods.
CPE 112: Computer Engineering Orientation:
Introduction to the computer engineering discipline. Success skills and curricular information. Career paths and opportunities. Professional aspects of engineering and computer science. Interaction with upper division students, alumni, faculty and staff. Introduction to computer software and hardware.
CPE 113: Fundamentals of Computer Science I:
Basic principles of algorithmic problem solving and programming using methods of top-down design, stepwise refinement and procedural abstraction. Basic control structures, data types, and input/output. Introduction to the software development process: design, implementation, testing and documentation. The syntax and semantics of a modern programming language.
CPE 114: Introduction to Computing:
Use of a supportive software development environment to design, develop, and test applications in a selected topic domain that demonstrates the potential of careers in computing. An introduction to computing and to the selected topic domain.
CPE 115: Accelerated Introduction to Computer Science:
Accelerated introduction to basic principles of algorithmic and object-oriented problem solving and programming. Introduction to programming language concepts including control structures, data types, classes, and inheritance. Program design principles. Use and implementation of algorithms (searching, sorting, recursion) and data structures (lists, stacks, and queues).
CPE 116: Digital Design:
Number systems, Boolean algebra, Boolean functions, and minimization. Analysis and design of combinational logic circuits. Feedback circuits. Analysis and design of sequential logic circuits. Applying Hardware Description Language (HDL) to synthesize digital logic circuits in Programmable Logic Devices (PLDs).
CPE 117: Digital Design Laboratory:
Experiments to analyze and design combinational and sequential logic circuits with discrete ICs and PLDs. Introduction to laboratory equipment such as the logic state analyzer for testing circuits. Introduction to a hardware description language for logic simulation and design. .
CPE 120: Programming Methodology II:
Review of object-oriented programming and further concepts. More on classes. Revisiting pointers. Operator overloading: regular and advanced usage. Fundamentals of file and stream processing. Class composition and inheritance: regular and advanced usage. Virtual functions. Polymorphism. Static and dynamic binding. Abstract classes. Case study of a small-scale object-oriented project: simplified analysis, design, and implementation. Introduction to templates, the standard template library, and exception handling. Introduction to dynamic data types. Namespaces
CPE 121: Fundamentals of Computer Science II:
Basic design, implementation, testing, and documentation of object-oriented software. Introduction to classes, interfaces, inheritance, algorithms (sort, search, recursion), abstract data types, data structures (lists, stacks, queues), file I/O, and exceptions.
CPE 122: Computer Design and Assembly Language Programming:
Design and implementation of digital computer circuits via CAD tools for programmable logic devices (PLDs). Computer design including datapath components and control unit. Assembly language programming. Instruction set architecture, hardware/software interface, performance evaluation of computer processors.
CPE 123: Fundamentals of Computer Science for Scientists and Engineers I:
Introduction to the fundamentals of computer programming with an emphasis on mathematical, scientific and engineering applications: principles of algorithmic problem solving and procedural programming using a modern programming language, data types, elementary data structures, input/output and control structures.
CPE 124: Fundamentals of Computer Science for Scientists and Engineers II:
Further study of computer program development with an emphasis on mathematical, scientific and engineering applications. Introduction to more complicated data types and structures. Practice of more complicated techniques of procedural programming. Introduction to the principles of object-oriented programming using a modern programming language. Detailed discussion of lists and classic list algorithms, algorithm analysis, multidimensional arrays, records, dynamic data structures, file input/output, classes.
CPE 125: Introduction to Computer Science with Applications II:
Intermediate study of computer program development using a modern object oriented (OO) programming language. Further study of OO principles including inheritance and interfaces. Introduction to implementation of Graphical User Interfaces, multi-media, streams, database connection, and scripting.
CPE 126: Introduction to Computer Organization:
Introduction to computer systems. Simple instruction set architecture and the computer hardware needed to implement that architecture. Machine and assembly language programming.
CPE 127: Problem Solving with Computers:
Reinforcement of computer science fundamentals. Review of important algorithms, language features, design, syntax, and testing techniques. Repeated application of techniques to solve problems in a constrained amount of time. Primarily intended to support students preparing for the Association for Computing Machinery’s International Collegiate Programming Contest
CPE 201: Computer Design and Assembly Language Programming Laboratory:
Experiments to design and test digital computer circuits and systems with programmable logic devices (PLDs). Design projects to implement a basic computer with data path components and control.
CPE 211: Fundamentals of Computer Science III:
Introduction to data structures and analysis of algorithms. Abstract data types. Specification and implementation of advanced data structures. Theoretical and empirical analysis and proofs of properties of recursive and iterative algorithms. Software performance evaluation and testing techniques.
CPE 212: Computer Graphics Applications:
Use of common graphics applications packages. Business graphics, figure editing, animation and image editing, photorealistic image generation, scientific visualization and multimedia.
CPE 213: Professional Responsibilities:
The responsibilities of the computer science professional. The ethics of science and the IEEE/ACM Software Engineering Code of Ethics. Quality tradeoffs, software system safety, intellectual property, history of computing and the social implications of computers in the modern world. Applications to ethical dilemmas in computing. Technical presentation methods and practice.
CPE 214: Individual Software Design and Development:
Practical software development skills needed for construction of mid-sized production-quality software modules, using the CSC upper division programming language. Topics include inheritance, exceptions, and memory and disk-based dynamic data structures. Students must complete an individual programming project of mid-level complexity.
CPE 215: Introduction to Software Engineering:
Requirements, specification, design, implementation, testing and verification of large software systems. Study and use of the software process and software engineering methodologies; working in project teams.
CPE 217: Software Engineering I:
Principles for engineering requirements analysis and design of large complex software systems. Software process models. Methods of project planning, tracking, documentation, communication, and quality assurance. Analysis of engineering tradeoffs. Group laboratory project. Technical oral and written presentations.
CPE 220: Software Engineering II:
Continuation of the software lifecycle. Methods and tools for the implementation, integration, testing and maintenance of large software systems. Software development and test environments. Software quality assurance. Group laboratory project. Technical presentation methods and practice.
CPE 221: Computer Architecture:
In-depth study of the instruction set architecture and hardware design of a specific CPU. Introduction to pipelines, input/output and multi-processors. Computer abstractions and performance measurement.
CPE 223: Micro Controllers and Embedded Applications:
Introduction to micro controllers and their applications as embedded devices. Hardware/software tradeoffs, micro controller selection, use of on-chip peripherals, interrupt driven real-time operation, A/D conversion, serial and parallel communications, watch-dog timers, low power operation and assembly language programming techniques.
CPE 224: Discrete Time Signals and Systems:
Discrete-time systems and analysis, with emphasis on linear time-invariant (LTI) systems. Sampling theorem. Classification of discrete-time systems. Convolution and its application to LTI systems. The z transform, discrete-time Fourier transform, and discrete Fourier transform. Introduction to digital filters.
CPE 225: Programmable Logic and Microprocessor-Based Systems Design:
Design, implementation and testing of programmable logic microprocessor- based systems. Hardware/software tradeoffs (such as timing analysis and power considerations), system economics of programmable logic and microprocessor- based system design. Interfacing hardware components (such as ADCs/DACs, sensors, transducers).
CPE 226: Microprocessor System Design:
Introduction to microcontrollers and integrated microprocessor systems. Emphasis on the Intel 8051 and Motorola 68HC12 families and derivatives. Hardware/software trade-offs, system economics, and functional configurations. Interface design, real-time clocks, interrupts, A/D conversion, serial and parallel communications, watch-dog timers, low power operation, and assembly language programming techniques. Architecture and design of sampled data and digital control systems. Case studies of representative applications.
CPE 227: Design and Analysis of Algorithms:
Intermediate and advanced algorithms and their analysis. Mathematical, geometrical, and graph algorithms. NP-complete problems. Additional topics will be chosen from pattern matching, file compression, cryptology, dynamic and linear programming, and exhaustive search.
CPE 301: Systems Programming:
C programming language from a system programming perspective. Standard C language including operators, I/O functions, and data types in the context of system functions. Unix commands, shell scripting, file system, editors.
CPE 311: Introduction to Database Systems:
Basic principles of database management systems (DBMS) and of DBMS application development. DBMS objectives, systems architecture, database models with emphasis on Entity-Relationship and Relational models, data definition and manipulation languages, the Structured Query Language (SQL), database design, application development tools.
CPE 312: Database Modeling, Design and Implementation:
The database modeling problem. Database modeling levels: external, conceptual, logical and physical. Database models: entity-relationship, relational, object- oriented, semantic, and object-relational. Normal forms. Distributed database design. Functional analysis of database applications and transaction specification, design, and implementation.
CPE 313: Signals and Systems Laboratory:
Laboratory work pertaining to linear systems, including Fourier analysis, time and frequency responses, and system transfer function. 1 laboratory.
CPE 314: Distributed Computing I:
Introduction to distributed computing paradigms and protocols: interprocess communications, group communications, the client-server model, distributed objects, and Internet protocols. Emphasis on distributed software above the operating system and network layers.
CPE 315: Software Construction:
Design and construction of sizeable software products. Technical management of software development teams. Software development process models, software design, documentation, quality assurance during development, software unit and integration testing; CASE tools, development environments, test tools, configuration management.
CPE 316: Microcomputer Systems:
Recent advances in microcomputer architectures. RISC, parallel processing advances, and component communication.
CPE 317: Autonomous Mobile Robotics:
Theory and application of concepts relevant to autonomous mobile robots. Sensor and actuator interfacing, programming mobile robots, mobile robot configurations, software architectures and algorithms.
CPE 318: Digital Computer Subsystems:
Design of components and subsystems in digital computers. Use of modern techniques and devices (CPLDs and FPGAs) in implementation. Consideration given to cost/speed tradeoffs. Implementation of a basic digital computer using pre-designed subsystems.
CPE 319: Introduction to Computer Networks:
Computer network architectures; communications protocol standards; services provided by the network; historical and current examples presented.
CPE 320: Computer Vision:
Introduction to the concepts of 2D and 3D computer vision: low-level image processing methods such as filtering and edge detection; feature extraction; segmentation and clustering; stereo vision; appearance-based and model-based algorithms.
CPE 321: Programming Languages I:
Construction of the front end of a compiler including lexical analysis, syntactic analysis, type checking, and formal semantics. Introduction to regular languages, finite automata, and context-free grammars.
CPE 322: Digital Control Systems:
Theory and applications of digital computers in linear control systems. Discrete time methods are used in analysis and design studies. Digital control systems are synthesized.
CPE 323: Introduction to Object Oriented Design Using Graphical User Interfaces:
Principles of object-oriented design, with emphasis on use of these principles in the design of graphical interfaces. Comparison and contrasting of two major object-oriented languages and their corresponding GUI class libraries. Language-independent object-oriented design methods, and application of these methods in the construction of a GUI-based project.
CPE 324: Dynamic Web Development:
Project-based study of web-based three-tiered applications, including current best practices and tools for design, implementation and testing of browser interface, serverside business logic, object-relational mapping, databases, and web services.
CPE 325: Programming Languages II:
Language principles and design issues: bindings, conversion, parameter passing, and dynamic semantics. Language implementation: intermediate code representation, memory management, code optimization, and code generation. Functional programming languages.
CPE 326: Digital Computer Systems:
Design of computer, microprogram controllers, memory systems, and I/0 controllers. Use of LSI components in CPU design. Microprogram and nanoprogram development
CPE 327: Computer Peripheral Interfacing:
Systems-level design and implementation of common computer peripheral devices with emphasis placed on controller and interface aspects. Use of standard and softcore microcontroller platforms with communications to discrete peripherals with I2C, SPI, CAN, and other common bus interfaces.
CPE 328: Computer-Aided Design of VLSI Devices:
Design of VLSI circuits, design of subsystems using static CMOS, transmission gates, and other methods. Variety of CAD tools for design, verification, test, and simulation. Several design projects.
CPE 329: Bioinformatics Algorithms:
Introduction to the use of computers to solve problems in molecular biology. The algorithms, languages, and databases important in determining and analyzing nucleic and protein sequences and their structure.
CPE 302: Introduction to Computer Graphics:
Graphics software development and use of APIs for 3D graphics. The graphics pipeline, modeling, geometric and viewing transforms, lighting and shading, rendering, interaction techniques and graphics hardware.
CPE 400: Implementation of Operating Systems:
Design and implementation of multiprogramming kernels, systems programming methodology, interprocess communications, synchronization, device drivers and network access methods.
CPE 401: High Performance Computing for Scientific and Engineering Applications:
Introduction to high performance computing platforms including parallel computers and workstation clusters. Discussion of parallel architectures, performance, programming models, and software development issues. Sample applications from science and engineering. Practical issues in high performance computing will be emphasized via a number of programming projects using a variety of programming models and case studies.
CPR E 411: Basics of Information System Security:
Introduction to and application of basic mechanisms for protecting information systems from accidental and intentional threats. Basic cryptography use and practice. Computer security issues including authentication, access control, and malicious code. Network security mechanisms such as intrusion detection, firewalls, IPSEC, and related protocols. Ethics and legal issues in information security. Other selected topics. Programming and system configuration assignments.
CPE 412: Knowledge Discovery from Data:
Overview of modern knowledge discovery from data (KDD) methods and technologies. Topics in On-line Analytic Transaction Processing (OLAP), data mining (association rules mining, classification, clustering), information retrieval. Emphasis on use of KDD techniques in modern software applications.
CPE 413: Database Management Systems Implementation:
Data structures and algorithms used in the implementation of database systems. Implementation of data and transaction managers: access methods interfaces, concurrency control and recovery, query processors and optimizers. Introduction to implementation of distributed database systems.
CPE 414: Digital Control Systems Laboratory:
Design and programming of microprocessor-based digital controls for electro- mechanical plants. Topics include digital control laws, translation of transfer functions into algorithms, assembly language programming, real-time software design, sample rate selection, finite word-length considerations.
CPE 415: Advanced Rendering Techniques:
Illumination models, reflectance, absorption, emittance, Gouraud shading, Phong shading, raytracing polyhedra and other modeling primitives, coherence, acceleration methods, radiosity, form factors, advanced algorithms.
CPE 416: Computer Animation:
Basic and advanced algorithms for generating sequences of synthetic images. Interpolation in time and space, procedural and keyframe animation, particle systems, dynamics and inverse kinematics, morphing and video.
CPE 417: Real-Time 3D Computer Graphics Software:
Basic and advanced algorithms for real-time, interactive, 3D graphics software. Modeling (polygon mesh, height field, scene graph), real-time rendering and shading (visibility processing, LOD, texture and light maps), collision detection (bounding volumes, complexity management), interactive controls, multi-player game technology, game engine architecture.
CPE 418: Introduction to Operating Systems:
Introduction to sequential and multiprogramming operating systems; kernel calls, interrupt service mechanisms, scheduling, files and protection mechanisms, conventional machine attributes that apply to operating system implementation, virtual memory management, and I/O control systems.
CPE 419: Computer Systems:
Organization of modern general purpose, high speed digital computer systems. Design of arithmetic units, control units, memories and memory subsystems. Cost, power and speed trade-offs in the design of such systems.
CPE 402: Software Architecture and Design:
Modeling and design of software at the architectural level. Architectural styles. Basics of model-driven architecture. Object-oriented design and analysis. Iterative development and unified process. Design patterns. Design by contract. Component based design. Product families. Measurement theory and appropriate use of metrics in design. Designing for qualities such as performance, safety, security, reliability, reusability, etc. Analysis and evaluation of software architectures. Introduction to architecture definition languages. Basics of software evolution, reengineering, and reverse engineering. Case studies. Introduction to distributed system software.
CPE 420: Knowledge Based Systems:
In-depth treatment of knowledge representation, utilization and acquisition in a programming environment. Emphasis on the use of domain-specific knowledge to obtain expert performance in programs.
CPE 421: Software Project Management:
Process-based software development. Capability Maturity Model (CMM). Project planning, cost estimation, and scheduling. Project management tools. Factors influencing productivity and success. Productivity metrics. Analysis of options and risks. Version control and configuration management. Inspections and reviews. Managing the testing process. Software quality metrics. Modern software engineering techniques and practices.
CPE 422: Computer Organization and Assembly Level Programming:
Introduction to computer organization, evaluating performance of computer systems, instruction set design. Assembly level programming: arithmetic operations, control flow instructions, procedure calls, stack management. Processor design. Datapath and control, scalar pipelines, introduction to memory and I/O systems.
CPE 423: User-Centered Interface Design and Development:
Introduction to the importance of user-centered principles in the design of good interfaces and effective human-computer interaction. Topics include: study of human characteristics affected by interface design, effective requirements data collection and analysis, user-centered approaches to software engineering, and evaluation of interface and interaction quality.
CPE 424: Autonomous Robot Navigation:
Overview of existing autonomous mobile robot systems, basic kinematic modeling, control structures, sensing and sensor modeling, localization, and motion planning algorithms. Implementation of autonomous navigation capabilities.
CPE 499: Senior Project:
Selection and completion of an individual or team project in laboratory environment. Project results are presented in a formal report
CPE 425: Current Topics in Artificial Intelligence:
Selected aspects of the design, implementation and analysis of advanced systems and concepts in the area of artificial intelligence. Topics may include knowledge representation, reasoning, learning, or planning, and specific techniques like intelligent agents, genetic algorithms, semantic web, or robotics.
CPE 426: Current Topics in Computer Graphics:
Selected aspects of the design, implementation and analysis of computer graphics. Topics may include rendering, modeling, visualization, animation, virtual reality, computer vision, multimedia, and perception issues.
CPE 427: Microelectronics and Electronics Packaging:
Materials, processes, and reliability of microelectronics and electronics packaging, surface mount assembly and printed circuit board fabrication. Overview of semiconductor manufacturing and optoelectronics packaging
CPE 428: Advanced Real-Time Embedded Systems Design:
Theory, design and implementation of real-time operating system-based embedded systems. Scheduling algorithms, operating system resources, peripheral device interfacing and embedded system architecture. Resource management issues in a resource-limited (microcontroller-based) environment.
CPE 429: Advanced Topics in Systems for Computer Engineering:
Selected aspects of design, implementation, verification and analysis of advanced computer systems. Topics may include computer systems, embedded systems, robotics, mechatronics, haptics, human computer interfaces, digital control, digital signal processing, wireless computing, real time operating systems, and networks. The Schedule of Classes will list topic selected. Total credit limited to 8 units, repeatable in same term
