Computer Engineering

A grade of C or higher is required in all Computer Engineering courses.

NOTE: See the beginning of Section F for abbreviations, course numbers and coding.

CMPE1003Programming and Problem Solving for Engineers4 ch (3C 3L*)
Introduction to the use of digital computers for problem solving and communicating solutions. Covers use of procedures, decisions, loops and arrays focusing on scientific and engineering problem analysis, algorithm design, and program structure. Also includes organizing, tabulating, and graphing program output with different software tools to communicate results. This course is taught using the Python programming language. NOTE: Credit will not be given for both CMPE 1003 and CS 1003.

Co-requisites: MATH 1003 or MATH 1001 and MATH 1503.
CMPE1023Data Structures and Algorithms for Engineers 4 ch (3C 2L)

Introduction to the ideas of abstraction of procedures and data. Implementation and handling of the fundamental data types: lists, stacks, queues, and graphs. Basic concepts of discrete mathematics, elements of combinatorics, aspects of complexity and recursion and algorithm development, including estimation of program resource utilization. This course is taught using the C programming language. NOTE: Credit will not be given for both CMPE 1023 and CS 1023.  

Prerequisite: CMPE 1003 or CS 1003. Prerequisites must be passed with a minimum grade of C.
CMPE3221Computer Organization  4ch(3C 1T 3L)

Register transfer systems and data paths, microprocessors, microprocessor architecture and operation, instruction formats, assembly language programming, procedures and parameter passing, system bus timing, interfacing memory IO ports, serial and parallel data transfer, interrupts. 

Prerequisite: ECE 2213 or ECE 2214 

Co-requisites: ECE 2215, CMPE 1023 or CS 1083.