Ningfang Mi

Associate Professor
Department of Electrical and Computer Engineering
Northeastern University
Office: 302 Dana Research Center
Phone: (617)373-3028
Fax: (617)373-8970
Email:

Teaching


EECE2560 Fundamentals of Engineering Algorithms

Study a collection of classic algorithmic techniques that are useful for solving engineering problems. These algorithms include sorting algorithms (e.g., selection sort, insertion sort, quicksort), recursive backtracking search, tree algorithms (traversals, binary search algorithms), and graph algorithms (traversals, spanning trees forests, shortest paths, etc.). The course covers exhaustive approaches, divide and conquer, greedy algorithms, backtracking, branch and bound, and iterative improvement. The course also covers algorithm analysis, asymptotic notation, and recursion. Data structures covered include vectors, stacks, queues, trees, graphs, priority queues, hashtables and heaps.

Spring 2016, Spring 2017, Fall 2018, Fall 2019, Fall 2020, Summer 2021, Fall 2021, Fall 2022

EECE5643 Simulation and Performance Evaluation

Covers topics on computer simulation and performance evaluation in computer systems. The course introduces basic computational and mathematical techniques for modeling, simulating and analyzing the performance by using simulation, including models, random number generation, statistics analysis, and discrete event-driven simulation. The course also covers both classic and timely techniques in the area of performance evaluation, including workload characterization, capacity planning, and resource management in enterprise systems, computer networks, data center, and cloud computing.

Spring 2015, Fall 2015, Fall 2016, Fall 2017, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024

EECE3326 Optimization Methods

Covers the design and implementation of algorithms to solve engineering problems using a high-level programming language. Reviews elementary data structures, such as arrays, stacks, queues, and lists, and introduces more advanced structures, such as trees and graphs and the use of recursion. Covers both the algorithms to manipulate these data structures as well as their use in problem solving. Emphasizes the importance of software engineering principles. Introduces algorithm complexity analysis and its application to developing efficient algorithms. Prereq. CS 1500.

Fall 2009, Fall 2010, Spring 2012, Fall 2013, Fall 2014

 

EECE7398 Simulation and Performance Evaluation

Covers topics on computer simulation and performance evaluation in computer systems. The course mainly covers both classic and timely techniques in the area of performance evaluation, including capacity planning to predict system performance, scheduling, and resource allocation in systems. The course also introduces some basic computational and mathematical techniques for modeling, simulating and analyzing the performance by using simulation, including models, random-number generation, statistics, and discrete event-driven simulation.

Spring 2010, Spring 2011, Fall 2011, Spring 2013, Spring 2014

[Back to Top]