Gennady Gor: Teaching

Back to the main page


Academic Year 2023-2024

Gennady Gor is on sabbatical in the Fall 2023 and Spring 2024, so no courses will be offered.


Undergraduate Courses

ChE 365: Chemical Engineering Computing

Introduction to basic concepts of computational methods for solving chemical engineering problems and performing process simulations. Topics include common numerical techniques encountered in chemical engineering, for the solution of linear and nonlinear algebraic equations and ordinary differential equations, differentiation/integration, optimization and interpolation/regression of data. Students will be exposed to modern computational software and commercial chemical processes simulators.

Textbook: Applied Numerical Methods with Python for Engineers and Scientists, 1st Edition, Steven Chapra and David Clough, ISBN10: 1266651497, ISBN13: 9781266651496.
Note that hands-on programming experience on the level of CS115 is required (it is a pre-requisite). The course will use Python programming language, prior knowledge of which is not required, but would certainly help. The course will include the basic Python training. The main Python learning materials are the video lectures recorded by the instructor and available on his YouTube channel and on LearnChemE.com website

Syllabus: [PDF]

The course is offered in both Fall 2022 and Spring 2023.


ChE 490: (Special Topic) Molecular Simulations in Chemical Engineering. (See also ChE 775)

The course was taught twice as a graduate course (ChE 775) and undergraduate students were able to register only in exceptional cases. In Spring 2022 for the first time it is open for undergraduates! It will be taught on Wednesdays at 6:00 PM - 8:50 PM.

Taking this course, a motivated student will learn:
1. What quantities can be calculated using molecular simulations
2. How statistical mechanics relates the microscopic properties to the macroscopic ones
3. How molecular dynamics and Monte Carlo methods work
4. How to implement one of these methods for a basic system
5. How to use these methods implemented in popular open source tools
6. How to use Python for data processing
7. How to use High Performance Computing facilities (available at NJIT) to run molecular simulations
8. How to search and study literature on molecular simulations
9. How to write reports on computational projects

Although the course is theoretical, it is expected that students focused on experimental work will also benefit. Experimentalists often have to deal with the literature data, obtained using molecular simulations, and this course will help them in making sense of the simulation results. The course is about the methods and not about any specific systems, so it could be of interest for students outside of ChemE, e.g. physics, chemistry, mechanical engineering, etc. .

Course Flyer: [PDF] Syllabus: will be updated soon

FAQ about ChE 490:

  • The catalog says it is an honors course. I am not an Honors College student, can I still take it?
    Yes, but there is a minimum GPA requirement. Reach out to me to discuss.
  • Is this course counted toward technical elective?
    Yes, this is a 3-credit technical elective.
  • I am a graduate student, can I take it?
    Yes, this course is listed as both graduate and undergraduate.
  • I am a Chemistry (ME, Physics, etc.) student, can I take it?
    Yes, absolutely! Reach out to me to discuss.
  • I am ChemE junior, can I take it?
    Yes. This course is targeted for juniors and seniors. I suggest discussing it with me first.
  • Are there any pre-reqs?
    Yes. Undergraduate or graduate ChemE Thermo.
  • Is prior programming knowledge expected?
    It does not have to be a specific language (e.g. Python), but some programming experience is required (Matlab is fine)".


ChE 490: (Special Topic) Python for Chemical Engineering Calculations

The course was offered for the first time in Spring 2021 (MW 11:00 AM - 12:20 PM, synchronous online). This is not a programming course, this is not a numerical methods course, but it is an applied programming course with a strong connection to ChemE curriculum. The number of students is limited. Honors section is available. No pre-requisites, but a solid knowledge of ChemE fundaments is expected. If you are interested in taking it, please contact Prof. Gor prior to registering. (For more details see also ChE 491).

Course Flyer: [PDF] Syllabus: [PDF]

Guest lecture by Michael Pliskin Software Engineering Manager, Site Reliability Engineering at Google.

FAQ about ChE 490:

  • Is this course counted toward technical elective?
    Yes, this is a 3-credit technical elective.
  • I am a graduate student, can I take it?
    Nope. This course is for undergraduate students only.
  • I am a BME (ME, Chemistry, etc.) student, can I take it?
    Nope. This course is for ChemE students only.
  • I am ChemE junior, can I take it?
    Yes. This course is targeted for juniors and seniors, but strong sophomores can register as well. However, I suggest discussing it with me first.
  • Are there any pre-reqs?
    Nope. Just solid knowledge of ChemE fundamentals.
  • Is prior knowledge of Python expected?
    Nope. I will start from "Hello world!".

This video (taken from 2020 ChE 491 Independent Study on Python) gives an idea of what to expect


ChE 342: Chemical Engineering Thermodynamics II

The principles and methods developed in Chemical Engineering Thermodynamics I are extended to multicomponent systems, and used to treat phase and chemical equilibrium as well as such applications as chemical reactors and refrigeration systems. Additionally, topics which are often left uncovered in Thermo I, such as thermodynamic cycles are discussed.


Group photos of ChE 342 students with Prof. Gor at the PSEG power plant tour, illustration of the thermodynamic cycles topic. The tour was given by NJIT alum, Ms. Kanwal Rafiq, manager at the Power Plant.

The course was offered in Fall 2016, Spring 2018, Fall 2018, Spring 2019, Fall 2019. In Fall 2020 it was offered in synchronous online mode, and back in-person in Fall 2021. In 2022-2023 this course is taught by other instructors.


ChE 491: (Independent Study) Python for Chemical Engineers

Modern engineering calculations are hard to imagine without a flexible and efficient programming language. Python is such language. While it has spread in computational materials science, physics communities, rare ChemEs use it. The goal of this course is to introduce undergraduate ChemE students to Python, (including NumPy, SciPy, SymPy) and demonstrate how it can be used for solving the chemical engineering problems. In additiona to undergraduate students, several graduate students joined the seminars.

Max Maximov presents at the Python seminar. Participants include not only those undergraduate students who take it for credit, but other NJIT undergraduate and graduate students.

The course was offered in Spring 2019, and taught mostly by Max Maximov, Ph.D. student in the Gor group. Another time it was offered in the online mode in Fall 2020. Several videos are available on our youtube channel.The new undergraduate elective course is being developed based on that independent study, and will be offered in Spring 2021.

Introductory Materials on Python Programming

Python basics

  • A hands-on introduction to Python for beginning programmers - Jessica McKellar: YouTube video (1 h 54 min)
  • Online course on python, starting from very basics codecademy (13 hours course)

Numerical and Scientific Python

  • Introduction to NumPy - SciPy 2015 Tutorial - Eric Jones: YouTube video (2 h 42 min)
  • NumPy Beginner - SciPy 2016 Tutorial - Alexandre Chabot LeClerc: YouTube video (2 h 47 min)
  • Learn Python for Science - NumPy, SciPy and Matplotlib - Shane Neeley: YouTube video (1 h 14 min)
  • Computational Physics 509 - Physics Applications of Computers -- a great course by Professor Kristjan Haule (Rutgers physics). Substantial part of this course is about using Python, NumPy, SciPy for research in computational physics. It has detailed lecture notes and a number of useful links.
  • A number of lectures and on-line trainings in Python Enthought

Graduate Courses

ChE 702: (Special Topic) Statistical Thermodynamics and Molecular Modeling

This course aimed to kill two birds with one stone: (1) to cover the basics of classical statistical mechanics and (2) explain how the most common methods of molecular modeling work. Understanding the latter is not possible without knowing the former. The course included several computational assignments. It also included a short introduction to Python 2.7, NumPy and SciPy, so that all "spoke the same language".

Today molecular simulations became a significant complement to "paper-and-pencil" theory and experimental research. Moreover, often molecular simulations can substitute experimental research being much cheaper, safer and faster. Molecular simulations are used in numerous various fields, e.g. they are applied to study problems related to drug design, protein folding and aggregation; wetting phenomena and hydration thermodynamics; nucleation and growth processes; the thermophysical properties of complex fluids, such as ionic liquids and liquid crystals; the phase behavior of polymeric, colloidal, and self-assembled systems; and the synthesis, design and characterization of advanced materials, etc.

Equilibrated configuration of Lennard-Jones atoms and corresponding radial distribution function, obtained by Monte Carlo method, implemented by students as a part of the ChE 702 course.

The course was offered in Spring 2017. It was transformed into ChE 775.


ChE 775: Molecular Simulations in Chemical Engineering

Today molecular simulations became a significant complement to "paper-and-pencil" theory and experimental research. Moreover, often molecular simulations can substitute experimental research being much cheaper, safer and faster. Molecular simulations are used in numerous various fields, e.g. they are applied to study problems related to drug design, protein folding and aggregation; wetting phenomena and hydration thermodynamics; nucleation and growth processes; the thermophysical properties of complex fluids, such as ionic liquids and liquid crystals; the phase behavior of polymeric, colloidal, and self-assembled systems; and the synthesis, design and characterization of advanced materials, etc.

These atomistic snapshots exemplify the Gor group research, and potential ChE 775 projects.

Taking this course, a motivated student will learn:
1. What quantities can be calculated using molecular simulations
2. How statistical mechanics relates the microscopic properties to the macroscopic ones
3. How molecular dynamics and Monte Carlo methods work
4. How to implement one of these methods for a basic system
5. How to use these methods implemented in popular open source tools
6. How to use Python for data processing
7. How to use High Performance Computing facilities (available at NJIT) to run molecular simulations
8. How to search and study literature on molecular simulations
9. How to write reports on computational projects

Additional outcome:
The final project will be implemented in groups, and completed projects can result in journal publications. The course project from ChE 775 in 2020 was published in J. Phys. Chem. B


Who should enroll:
The course is aimed for Ph.D. students, however undergraduate students are also encouraged to enroll. Although the course is theoretical, it is expected that students focused on experimental work will also benefit. Experimentalists often have to deal with the literature data, obtained using molecular simulations, and this course will help them in making sense of the simulation results. The course is about the methods and not about any specific systems, so it could be of interest for students outside of ChemE, e.g. physics, chemistry, mechanical engineering, etc.

This course was offered in Spring 2020, and 2022. Next time this course will be offered in Spring 2024 or 2025.

Course Flyer: [PDF] Syllabus: [PDF]


ChE 791: Chemical Engineering Graduate Seminar

While being a zero-credit course, the graduate seminar is a significant part of graduate education. It brings researchers from academia, industry and governmental labs, broadening not only the vision of potential areas of research, but aslo the spectrum of career opportunities.

Gennady Gor coordinated the Seminar Series in the Fall 2017, and in the Fall 2019.


Back to the main page