Computer Engineering (CPEG)
CPEG 110 Principles of computing 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
CPEG 111 Introduction to Computer Engineering 3 Credits
Grade Mode: Standard Letter, Audit/Non Audit
For CE students, this course is designed to provide foundation knowledge on basic digital system, computer architecture, programming, microelectronics, and electrical engineering. Students will learn concepts from both the hardware and the software perspective. Students can apply the knowledge and principles learnt to design and build a functional hardware-software co-designed system such as a robot.
CPEG 127 Concepts of Mathematics 3 Credits
Grade Mode: Standard Letter, Pass/Non Pass
The course covers two important aspects, how to write rigorous mathematical proofs and how to use abstract concepts of mathematics in many areas of computer science. It will introduce the basic concepts for mathematical proofs and link them to different areas of mathematics and computer science. Other topics will be introduced, such as number theory, counting, algebra of sets, and graph theory.
CPEG 151 Fundamentals of Programming and Computer Science 4 Credits
Grade Mode: Standard Letter, Audit/Non Audit
Prerequisite(s): CPEG 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.
CPEG 152 Principles of Imperative Computing 3 Credits
Grade Mode: Standard Letter, Audit/Non Audit, Pass/Non Pass
Prerequisite(s): CPEG 151 or CS 112
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.
CPEG 213 Introduction to Computer Systems 4 Credits
Grade Mode: Standard Letter, Pass/Non Pass
Prerequisite(s): CPEG 152 or CS 112
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.
CPEG 214 Electrical Circuit Theory 4 Credits
Grade Mode: Standard Letter, Audit/Non Audit
Prerequisite(s): PHYS 207
This course focuses on the principles of Resistive circuits: circuit laws, Network reduction, nodal analysis, mash analysis; energy storage elements; sinusoidal steady state; AC energy systems; magnetically coupled circuits; the ideal transformer; resonance; and introduction to computer applications in circuit analysis.
CPEG 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.
CPEG 300 Embedded System Design 3 Credits
Grade Mode: Standard Letter, Audit/Non Audit, Pass/Non Pass
Prerequisite(s): CPEG 152 and ECEN 325
In this class, the fundamentals of embedded system hardware and program design will be explored. Issues such as embedded processor selection, system architecture, instruction set, assembly programming, circuit debugging, and development tools will be discussed. The architecture and instruction set of the microcontroller will be discussed comprehensively, and two 8051 MCU boards will be used during the lab to implement embedded systems. Advanced AVR, STM microcontroller series will also be introduced in terms of their architecture and instruction set optimization.
CPEG 330 Data Structures 3 Credits
Grade Mode: Standard Letter, Pass/Non Pass
Prerequisite(s): CPEG 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.
CPEG 344 Digital Signal Processing 4 Credits
Grade Mode: Standard Letter, Audit/Non Audit, Pass/Non Pass
Prerequisite(s): ECEN 314 and ECEN 325
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
CPEG 410 Final Year Project I 4 Credits
Grade Mode: Standard Letter
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.
CPEG 411 Final Year Project II 4 Credits
Grade Mode: Standard Letter
Prerequisite(s): CPEG 410
This pair of courses (CPEG 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.
CPEG 418 Introduction to Scientific Visualization 3 Credits
Grade Mode: Standard Letter, Audit/Non Audit
Prerequisite(s): CPEG 152
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.
CPEG 453 Information and Communication Technology Accessibility 3 Credits
Grade Mode: Standard Letter, Audit/Non Audit
Prerequisite(s): CPEG 152
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.
CPEG 460 Computer Networks 3 Credits
Grade Mode: Standard Letter, Audit/Non Audit
Prerequisite(s): CPEG 152
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.
CPEG 462 Cybersecurity Fundamentals 3 Credits
Grade Mode: Standard Letter, Audit/Non Audit
Prerequisite(s): CPEG 152
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.
CPEG 464 Introduction to Machine Learning 3 Credits
Grade Mode: Standard Letter, Audit/Non Audit
Prerequisite(s): MATH 311 and CPEG 152
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.
CPEG 491 Internship 1-3 Credits
Grade Mode: Audit/Non Audit, Pass/Non Pass
Supervised field experience of professional-level duties for a duration of 240 to 320 hours (6-8 weeks) at an approved internship site under the guidance of a designated site supervisor in coordination with a faculty supervisor. In addition to the regular reports during the internship, the student needs to prepare a written report and a presentation at the end discussing their internship activities and learning experiences.