Dr. Edgar Lobaton

Dr. Edgar J. Lobaton

Electrical and Computer Engineering

Phone: 919-515-5151
Fax: 919-515-5523
Instructor Website
Research Website

ECE 542 Neural Networks

3 Credit Hours

(also offered as CSC 591-601)

Recent development on computer hardware as well the existence of large datasets have fueled the development of new neural network and deep learning techniques which have demonstrated some of the best performance in machine learning tasks. This course provides an introduction to artificial neural networks, recurring neural networks, deep learning, and convolutional neural networks.


Linear Algebra (NC State MA 405 or equivalent), Probability and Statistics (NC State ST371, NC State MA421 or equivalent). The course will use elementary matrix algebra, includes matrix/vector multiplication, matrix inverses, matrix description of the solution to linear equations, eigenvalues and eigenvectors. The course will use elementary probability theory: means, variance, covariance, expected values/moments of linear functions, stationarity. Programming experience in object-oriented languages is needed (e.g., C++ or Python). We will make use of various libraries in Python.

Course Objectives

Upon completion of the course, the student will be able to:

  1. Explain the basic concepts behind Neural Networks including training methodologies using backpropagation, and the universal approximation theorem
  2. Explain the basic concepts associated with the various network structures / models including Convolutional Neural Networks (CNNs), Recurring Neural Networks (RNNs), Restricted Boltzmann Machines (RBMs), Generative Adversarial Networks (GANs), and others.
  3. Implement Neural Networks using state-of-the-art software libraries
  4. Tune Neural Networks

Course Requirements


Homework will be submitted via Moodle or uploaded to a shared drive..


Deep Learning, I. Goodfellow, Y. Bengio and A. Courville, MIT Press, 2016, ISBN 9780262035613


Computer and Internet Requirements

Please review minimum computer specifications recommended by NC State University and Engineering Online.

Most assignments will need require the use of Open-Source libraries in Python. The student is responsible for getting access to computer resources powerful enough to complete the assignments. One option is to access remote resources at NCSU via the Virtual Computing Lab (VCL) at: Additionally, free trial periods exist for students using cloud resources such as IBM Cloud, Amazon Web Services (AWS) and Google Cloud.

Updated 10/07/2020


Approved: 10/17/2019