Academics
Curriculum
This course allows students to learn and practice basic programming tools (e.g., Emacs, GCC, GDB, Git, and UNIX commands) in a Linux programming environment. It serves as a companion course to EE209, offering essential knowledge to successfully complete the programming assignments.
Recommend
Prerequisite
This goal of this course is to understand the basic principles of digital logic circuit, and the fundamental concepts, components and operations of digital system.
Recommend
Prerequisite
Experiments related to electronics are performed. Focus is made for both hands-on experience and design practice. (Prerequisite: EE201, EE304)
Recommend
Prerequisite
In this course, students will learn to design/implement complicated system-level software in the C/C++ programming language and understand the internal architecture of unix/linux.
Recommend
Prerequisite
The objective of this course is to understand the basic principles and hardware structures of computer systems including personal computers and workstations, and to learn how to design computers. This course covers data representation, CPU organization, instruction classification, language processing of assemblers and compilers, pipelining for performance enhancement, memory hierarchy, cache memory, and IO peripheral devices. In addition, high-performance computer systems are to be introduced.
Recommend
Prerequisite
This course is a brief introduction to random processes. Topics include Basic operating principles and circuits of AM, FM, and SSB modulation/demodulation, PLLs, mixers, and ADCs; Noise performance of communication systems; Introduction to digital communication techniques such as BPSK, FSK and QAM keying/detections. Issues related to multiple access techniques are covered. (Prerequisite: EE202)
Recommend
Prerequisite
This course will help the students learn how to design and implement computer networks, and their protocols, services, and applications. This course will include both principles and practice, but more importantly, is designed to let the students have hands-on experience. Most of the topics will be connected to the Internet, i.e., how the Internet works.
Recommend
Prerequisite
This course deals with the foundational principles of distributed systems and covers modern distributed computing frameworks. Students learn abstractions and principles in distributed computing, how to design a distributed computing framework, and their application to cloud computing.
Recommend
Prerequisite
This lecture provides a short introduction to essential topics in information theory for communication engineers. The topics include 1) measures of information and source, 2) Data compression, 3) Channel Capacity and Error Control Codes, 4) a very short description of rate-distortion theory.
Recommend
Prerequisite
Introduces the principles, algorithms and application of machine learning from the point of modeling and prediction; learning problem representation.
This course will cover concepts such as representation, over-fitting, regularization, and generalization; topics such as clustering, classification, regression, recommendation problems, probabilistic modeling, reinforcement learning, and various on-line algorithms. It will also introduce a support vector machine and deep learning.
Recommend
Prerequisite