Download a PDF of this section: Courses Print this page Email this page

Electrical & Computer Engineering, Faculty of Applied Science

CPEN: Computer Engineering

CPEN 211 (5) Introduction to Microcomputers
Boolean algebra; combinational and sequential circuits; organization and operation of microcomputers, memory addressing modes, representation of information, instruction sets, machine and assembly language programming, systems programs, I/O structures, I/O interfacing and I/O programming, introduction to digital system design using microcomputers. Credit will be granted for only one of CPEN 211, CPEN 312, EECE 256, EECE 259 or EECE 355. This course is not eligible for Credit/D/Fail grading. [4-2-2*]
Prerequisite: APSC 160.
CPEN 221 (4) Principles of Software Construction
Design, implementation, reasoning about software systems: abstraction and specification of software, testing, verification, abstract data types, object-oriented design, type hierarchies, concurrent software design. This course is not eligible for Credit/D/Fail grading. [3-2-2*]
Prerequisite: APSC 160.
CPEN 281 (3) Technical Communication
Written and oral communication in engineering. Technical description, report preparation, business correspondence, and oral presentation of technical material. Restricted to students in second year of Electrical and Computer Engineering programs. Credit will be granted for only one of ELEC 281, CPEN 281, BMEG 201 or APSC 201. This course is not eligible for Credit/D/Fail grading. [3-0-0]
Prerequisite: One of APSC 176, ENGL 110, ENGL 111, ENGL 112, ENGL 120, ENGL 121.
CPEN 291 (6) Computer Engineering Design Studio I
Design projects involving hardware (electronic devices and circuits, microcomputers) and software. This course is not eligible for Credit/D/Fail grading. [2-6-0]
Prerequisite: One of EECE 259, CPEN 211.
Corequisite: One of EECE 251, ELEC 201.
CPEN 311 (4) Digital Systems Design
Advanced combinational and sequential electronic system design. Hardware specification, modeling, and simulation using hardware description languages (HDLs) and CAD tools. Design with programmable logic including FPGA's. Applications include complex state machines, microcontrollers, arithmetic circuits, and interface units. Credit will be granted for only one of EECE 353, CPEN 311 and EECE 379. This course is not eligible for Credit/D/Fail grading. [3-3-0]
Prerequisite: One of EECE 259, CPEN 211, EECE 355, CPEN 312.
CPEN 312 (3) Digital Systems and Microcomputers
Data representation in digital computers; boolean algebra; the design and optimization and implementation of combinatorial and sequential circuits; modern digital circuit technologies; memory and programmable logic devices; organization and operation of microcomputers; data/address bus organization; input-output interfacing. Credit will be granted for only one of EECE 355, CPEN 312, EECE 259, CPEN 211, and EECE 256. This course is not eligible for Credit/D/Fail grading. [3-2*-0]
Prerequisite: One of EECE 251, ELEC 201, EECE 252, ELEC 204, EECE 263, ELEC 203, MECH 221.
CPEN 321 (4) Software Engineering
Engineering practices for the development of non-trivial software-intensive systems including requirements specification, software architecture, implementation, verification, and maintenance. Iterative development. Recognized standards, guidelines, and models. Credit will only be granted for only one of CPSC 310, EECE 310, or CPEN 321. This course is not eligible for Credit/D/Fail grading. [3-2-0]
Prerequisite: One of EECE 210, CPEN 221, CPSC 210, EECE 309.
CPEN 331 (4) Operating Systems
Operating systems, their design and their implementation. Process concurrency, synchronization, communication and scheduling. Device drivers, memory management, virtual memory, file systems, networking and security. This course is not eligible for Credit/D/Fail grading. [3-3-0]
Prerequisite: CPSC 261 and one of EECE 210, CPEN 221, EECE 309.
CPEN 333 (3) System Software Engineering
Operating systems principles, real-time systems, principles of concurrent and multi-threaded programming, information structures, introduction to object oriented analysis, design, and modeling using UML, testing of software systems. This course is not eligible for Credit/D/Fail grading. [2-1-1]
Prerequisite: One of CPSC 259, CPSC 260 and one of EECE 259, CPEN 211, EECE 355, CPEN 312.
CPEN 391 (6) Computer Engineering Design Studio II
Design and implementation of a hardware platform and software design and implementation at the operating system and application layers. Project management skills. Effective presentations. This course is not eligible for Credit/D/Fail grading. [2-6-0]
Prerequisite: One of CPEN 291, ELEC 291, ELEC 292, EECE 281 and one of EECE 353, CPEN 311.
Corequisite: One of EECE 315, CPEN 331.
CPEN 400 (1-8) d Topics in Computer Engineering
Lectures or projects on subjects of current interest.
CPEN 411 (4) Computer Architecture
Modern processors, GPUs, and memory hierarchies; quantitative principles and instruction set design; pipelining, superscalar issue, out-of-order execution, branch prediction and speculation; memory hierarchies, caches, virtual addressing, prefetching, coherence, and consistency; multicores, VLIW, on-chip networks, and other advanced architectures. Credit will be granted for only one of CPSC 313 or EECE 476 or CPEN 411. This course is not eligible for Credit/D/Fail grading. [3-0-2]
Prerequisite: Either (a) one of EECE 353, CPEN 311 or (b) one of EECE 355, CPEN 312.
CPEN 412 (4) Microcomputer Systems Design
Microprocessor and system buses; advanced I/O methods; priority interrupts; event/exception handling; serial I/O; computer networking; memory system design; interaction of hardware and software, microprocessor comparison, testability issues, safety critical systems. This course is not eligible for Credit/D/Fail grading. [3-2-0]
Prerequisite: One of EECE 353, CPEN 311 and one of EECE 259, CPEN 211, EECE 355, CPEN 312.
CPEN 421 (4) Software Project Management
Advanced project planning, cost estimation and scheduling. Project management tools. Factors influencing productivity and success. Productivity metrics. Analysis of options and risk. Tools. Case studies. This course is not eligible for Credit/D/Fail grading. [3-0-2]
Prerequisite: One of EECE 310, CPEN 321, CPSC 310.
CPEN 422 (4) Software Testing and Analysis
Different levels of testing including unit, integration, system, performance and regression levels. Requirements flowdown. Problem tracking. Coverage criteria. Static methods. Tools support. Specialized techniques. Assessment of correctness, reliability, safety. This course is not eligible for Credit/D/Fail grading. [3-2-0]
Prerequisite: One of EECE 210, CPEN 221, EECE 309, EECE 310, CPEN 321, CPSC 210, CPSC 310.
CPEN 423 (4) Software Architecture
Software architecture as a bridge from requirements to implementation. Architectural description and patterns. Iterative development. Use of commercial off-the-shelf products. This course is not eligible for Credit/D/Fail grading. [3-2-0]
Prerequisite: One of EECE 210, CPEN 221, EECE 309, EECE 310, CPEN 321, CPSC 310.
CPEN 431 (4) Design of Distributed Software Applications
Communications, processes, naming, synchronization, consistency and replication, fault tolerance, object-based middleware, and security technologies for distributed applications. [3-2-0]
Prerequisite: One of EECE 315, CPEN 331, CPSC 313 and one of EECE 210, CPEN 221, EECE 309, CPSC 210.
Corequisite: One of EECE 358, ELEC 331, CPSC 317.
CPEN 432 (4) Real-time System Design
Multi-tasking; interrupt-driven systems; task scheduling; schedulability analysis; inter-process communication and synchronization; resource management; performance measurement; hardware/software integration; hardware/software tradeoffs; system reliability. This course is not eligible for Credit/D/Fail grading. [3-0-2]
Prerequisite: One of EECE 314, CPEN 333, EECE 315, CPEN 331, CPSC 313.
CPEN 441 (4) Human Computer Interfaces in Engineering Design
Practical issues for interfaces for modern software. Task analysis, user modeling, usability engineering, representations, metaphors, prototyping tools. Applications: interactive multimedia systems, engineering, scientific visualization, engineering design. This course is not eligible for Credit/D/Fail grading. [3-1-2*]
Prerequisite: One of CPSC 260, CPSC 221 and one of EECE 210, CPEN 221, EECE 309, CPSC 210, EECE 314, CPEN 333.
CPEN 442 (4) Introduction to Computer Security
Security risks, threats, and vulnerabilities from technical perspectives; confidentiality, integrity, and hybrid policies; cryptography, access control, assurance, accountability, and engineering of secure systems. This course is not eligible for Credit/D/Fail grading. [3-2-0]
Prerequisite: One of EECE 314, CPEN 333, EECE 315, CPEN 331, CPSC 313.
CPEN 481 (3) Economic Analysis of Engineering Projects
Time-money relationships; economic analysis of alternatives including the effects of interest rates, inflation, depreciation, taxation and uncertainty; cost estimation and budgeting; financial analysis of engineering operations. This course is not eligible for Credit/D/Fail grading. [3-0-0]
CPEN 491 (10) Computer Engineering Capstone Design Project
Design, analysis, and implementation of solutions in response to a real world computer engineering problem, provided by industry, research laboratories, or other suitable entities. Includes coverage of topics such as project management. This course is not eligible for Credit/D/Fail grading. [2-6-0; 2-6-0]
Prerequisite: One of CPEN 391, EECE 381.
CPEN 492 (10) Software Engineering Capstone Design Project
Design, analysis, and implementation of solutions in response to a real world software engineering problem. Projects are provided by industry, research laboratories, or other suitable entities. Includes coverage of topics such as project management. This course is not eligible for Credit/D/Fail grading. [2-6-0; 2-6-0]
Prerequisite: One of CPEN 391, EECE 381.
CPEN 499 (3/6) c Undergraduate Thesis
Project in electrical engineering or computer engineering involving design, experimental and/or computer simulation work as selected from topics supplied by faculty members. An individual project thesis is to be prepared according to specifications available from the departmental office. This course is not eligible for Credit/D/Fail grading. [0-6-0] or [0-12-0]

a place of mind, The University of British Columbia

Student Services
Vancouver Campus
1874 East Mall
Vancouver, BC Canada V6T 1Z1

Emergency Procedures | Accessibility | Contact UBC | © Copyright The University of British Columbia