Academic Catalog

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.