Computer Engineering
CPEN 110 Introduction to Computer Engineering 3 Credits
Grade Mode: Standard Letter, Audit/Non Audit
Through this course, students will explore major issues related to the "big ideas" of computational thinking and solve the problem by using Python, which emphasizes principles of computing, software development, style, and testing.
Topics include representation of ideas with bits, basic Boolean logic, and devices to implement logic functions as the first part. The second part includes procedures and functions, iteration, recursion, arrays and vectors, strings, algorithms, exceptions, and object-oriented programming. Weekly labs provide guided practice on the computer
CPEN 111 Introduction to Computer Engineering 3 Credits
Grade Mode: Standard Letter, Audit/Non Audit
CPEN 127 Concepts of Mathematics 3 Credits
Grade Mode: Standard Letter
CPEN 151 Fundamentals of Programming and Computer Science 4 Credits
Grade Mode: Standard Letter
Prerequisite(s): ENGR 110
This course is designed to provide students with the main concepts and fundamentals of programming and computer science. Python is used as the programming language of this course. During class, students are taught syntax and semantics of Python, algorithmic design, and fundamentals of modern von Neumann architectures.
CPEN 152 Principles of Imperative Computing 3 Credits
Grade Mode: Standard Letter, Audit/Non Audit
Prerequisite(s): CPEN 151
This course teaches imperative programming in a C-like language and methods for ensuring the correctness of imperative programs. It is intended for students familiar with elementary programming concepts such as variables, expressions, and functions. Students will learn the techniques needed to go from high-level descriptions of algorithms to correct imperative implementations, with specific applications to basic data structures. Much of the course will be conducted in a subset of C, with a transition to full C in the final part.
CPEN 213 Introduction to Computer Systems 4 Credits
Grade Mode: Standard Letter, Audit/Non Audit
Prerequisite(s): CPEN 152
The course aims to help students become better programmers by teaching them the basic concepts underlying all computer systems. Students will learn what really happens when a computer program is run, so that they will have the intellectual tools to solve any potential problems that may arise. Topics include data representation, assembly language, memory hierarchy, exceptions, interrupts, Unix signals, system level I/O, process management, virtual memory and memory management, and network and concurrent programming.
CPEN 217 Probability Theory and Random Processes 3 Credits
Grade Mode: Standard Letter, Audit/Non Audit
Prerequisite(s): MATH 251
This course covers important concepts and problem solving skills related to probability theory. Topics include elementary probability theory, conditional probability and independence, random variables, distribution functions, joint and conditional distributions, limit theorems, random processes spectral analysis and information theory.
CPEN 300 Embedded System Design 3 Credits
Grade Mode: Standard Letter, Audit/Non Audit
Prerequisite(s): CPEN 152 and ECEN 325
This course covers important concepts and problem solving skills related to probability theory. Topics include elementary probability theory, conditional probability and independence, random variables, distribution functions, joint and conditional distributions, limit theorems, random processes spectral analysis and information theory.
CPEN 330 Data Structures 3 Credits
Grade Mode: Standard Letter, Audit/Non Audit
Prerequisite(s): CPEN 152
This course focuses on the design of data structures (e.g., linked lists, stacks, queues, trees, and graphs), and an introduction to the analysis of algorithms that operate on those data structures. Students will learn how to implement learned data structures, their advantages/disadvantages, practical uses, alternatives, and time & space concerns.
CPEN 344 Digital Signal Processing 4 Credits
Grade Mode: Standard Letter, Audit/Non Audit
This course covers discrete-time signals and linear time-invariant systems; digital processing of continuous-time signals; introduction to random signals, correlation and matched filtering; FIR and IIR digital filters and their analysis in the z and in frequency domains; the DFT (discrete Fourier transform) and its applications; FFT algorithms; FIR and IIR digital filter design and implementation techniques; spectrum analysis and estimation using windows; and practical applications of DSP algorithms
CPEN 391 Internship 0 Credits
Grade Mode: Standard Letter, Audit/Non Audit
CPEN 410 Senior Design Project I 4 Credits
Grade Mode: Standard Letter, Audit/Non Audit
This course covers the first half of the Senior Design Project. Participants are then expected to form teams of 2—3 students per project. Each project requires the development of a larger prototype involving both hardware and software. Furthermore, two potential stake holders from industry, academia, and/or research lab shall be interviewed to solicit feedback on the project. Each participant has to successfully complete an research ethics and intellectual property module (lecture plus homework) before filing a mid-term report.
CPEN 411 Senior Design Project II 4 Credits
Grade Mode: Standard Letter
Prerequisite(s): CPEN 410
This pair of courses (CPEN 410 and 411) culminate in a major design experience based on knowledge and skills acquired in earlier course work. Students select their preferred projects and perform a 1-year long project development, including literature review, due diligence and familiarization with standards. Students shall then propose solutions, write a technical report, and conduct a final defense in front of the curriculum committee. This course also focusses on documenting and presenting the project’s outcome in a professional manner.
CPEN 418 Introduction to Scientific Visualization 3 Credits
Grade Mode: Standard Letter, Audit/Non Audit
The field of Scientific and Data Visualization is interdisciplinary, bringing together visualization experts and domain scientists seeking to gain visual insight into their data. Visualization is highly diverse, including applications coming from virtually every scientific discipline such as medicine, biology, mechanical and electrical engineering. This course provides a broad overview of the fundamentals Scientific and Data Visualization. Selected fundamental algorithms will be discussed in depth and their inner workings will be studied in programming and reading assignments.
CPEN 453 ICT Accessibility 3 Credits
Grade Mode: Standard Letter, Audit/Non Audit
The course focuses on enhancing capabilities in the domain of ICT accessibility. When designing technology, developers need to consider people with functional limitations – persons with disabilities and the elderly. These vulernable groups face obstacles and challenges when it comes to the use of digital platforms. The course provides a comprehensive review by covering diverse topics that advance the skills needed to develop, review and evaluate the accessibile digital platforms according to the international best practices and ICT accessibility standards.
CPEN 460 Computer Networks 3 Credits
Grade Mode: Standard Letter, Audit/Non Audit
This course focuses on the principles of computer networking protocols and architectures with emphasis of the Internet. Students will learn about the technologies and protocols used in local and wide area networks. Special emphasis will be given to study the TCP/IP protocol suite and its underlying protocols and concepts including: HTTP, SMTP, POP, IMAP, DNS, P2P, UDP, TCP, error control, flow control, congestion control, network routing (static and dynamic), packet delays, Local Area Networks (Ethernet, Wi-Fi), confidentiality, integrity, authentication. Students will experiment with protocol analyzers (packet sniffers) to understand and analyze the operations of the different TCP/IP protocols. Also, they will experiment with network emulation and virtualization using Mininet.
CPEN 462 Cybersecurity Fundamentals 3 Credits
Grade Mode: Standard Letter, Audit/Non Audit
This course exposes students to the fundamental concepts of cybersecurity. Issues considered include topics such as cryptographic tools, user authentication, access control, software vulnerabilities, intrusion detection, firewalls, and operating systems security. Students will gain insight into the importance of cybersecurity through a series of practical and hands-on exercises. They will be exposed to real life cybersecurity operations, involving both attack and defense strategies.
CPEN 464 Introduction to Machine Learning 3 Credits
Grade Mode: Standard Letter, Audit/Non Audit
This course teaches the fundamentals of modern machine learning and artificial intelligence. Using the Python programming languages, students will learn “classical” machine learning techniques such as regression, SVMs, decision trees and random forests, as well as deep learning. The course focuses on the practical aspects of machine learning and covers a wide range of topics, including computer vision, data visualization, classification, regression, and segmentation. In hands-on sessions and assignments, students will set up their own machine-learning-based models.