CBE 30338/32338 Syllabus#

Canvas link: SP23-CBE-30338-01 Chemical Process Control

Course Description#

CBE 30338 Chemical Process Control introduces students to the analysis and design of control systems for chemical and biochemical processes. Applications include chemical and biological reactors, separation processes, autonomous biomedical devices, and examples from other engineering disciplines.

The major topics of the course are

  • Modeling and Parameter Estimation

  • Feedback Control

  • Process Data Analytics

  • Optimization

  • Predictive Control

Python and hands-on control experiments are integrated into the course.

The lab sessions (CBE 32338) provide opportunities for hands-on coding and experimentation using the Temperature Control Laboratory. Students purchase their own copy of the device from Amazon or apmonitor.com.

Learning Objectives#

Students completing this course will be able to …

  • Identify process models and fit the models to data

  • Design and implement advanced PID control

  • Manipulate time series data and extract process information

  • Create and solve steady-state optimization models

  • Apply the principles of modeling and control to novel applications

Course Information#

Dates: January 17 - May 3, 2023

Section: CBE 30338-01 Tuesday and Thursdays, 12:30 - 1:45 pm, DeBartolo 129

Virtual Office Hours: Wednesdays, 2:00 PM - 3:30 pm. The password-protected Zoom links for scheduled virtual office hours is https://notredame.zoom.us/j/93569381181?pwd=Uk5EeUM2TU9OdDFMR0xiRlk4MUo1UT09. If you can’t make the scheduled time, send me an email with some times convenient for you and I will send you a Zoom invitation.

Lab/Tutorial Sections: You must be registered for one of these lab/tutorial sections.

  • CBE 32338-01 Friday, 11:35 am - 12:25 pm, Fitzpatrick A68

  • CBE 32338-02 Friday, 12:50 am - 1:40 pm, Fitzpatrick A68

Seating in A68 is limited. Pleae attend the lab session for which you are registered.

Final Exam: Thursday, May 11 10:30 AM - 12:30 PM

Assignments, Grades, and Other Course Information: Canvas

Prerequisites: This course assumes knowledge of modeling and analysis with differential equations, procedural programming in Python, mass and energy balances. Students taking this course will normally have completed

  • CBE 20258 Numerical and Statistical Analysis

  • MATH 20580 Linear Algebra and Differential Equations (or ACMS equivalent)

  • MATH 30650 Differential Equations (or ACMS equivalent)

Students without this background should contact the instructor before registering for the course.

Required Materials: The following materials should be acquired at the start of the course.

  1. Temperature Control Lab kit is an Arduino based device used in this course as a “hands-on” laboratory for learning the principles and implementation of process control. It is available by on-line order from Amazon or Apmonitor.com for about $40 USD.

  2. A laptop/desktop computer with USB-A port, or a USB-C port and a USB-C to USB-A converter.

  3. An up-to-date installation of the Anaconda Individual Edition for Python programming. Follow the instructions here to update an older installation.

Instructor Information#

Instructor: Jeffrey Kantor (he/him/his)

Email: jeff

Office: 257 Nieuwland Hall

The best way to reach me is by email. Thanks to telemarketers, I no longer answer phone calls from unknown numbers. If you’d like to chat, the best options are virtual office hours (see above), or send some times convenient to you and I’ll get back to you with an office appointment or zoom invitation.

Teaching Assistants#

Teaching assistants assist with

  • Instruction during the Friday lab sessions.

  • Questions regarding Python coding

  • Questions regarding the content homework and assignments.

  • Prepare solutions to homework assignments.

  • Assist with grading assignments and quizzes.

Teaching Assistant

Email

Tran Khanh Phuong Cao

tcao2

Hailey Lynch

hlynch

Wilson Raney

wraney

Required Materials#

Required notes and materials for the course are available at the Github/web repositories

Additional material will be taken from:

This textbook is available for download from the website (preferred, latest edition with corrections) and Hesburgh Library at https://ebookcentral.proquest.com/lib/ndlib-ebooks/detail.action?docID=475844.

Additional supplementary materials related to process control will be distributed from time-to-time during the course.

Grading Criteria#

Class Participation#

You are expected to attend all class sessions. If you miss class for an official University excused function, please find notes for that lecture, do the reading, and avail yourself of office hours to catch up on the missed material.

Class sessions will include opportunities to respond to instructor questions and other active learning exercises. All interactions will be civil, respectful, and inclusive. If you have any concerns about classroom dynamics, please feel free to speak with the instructor.

Homework Assignments#

Weekly homework assignments are typically released on Tuesday and due before class the following Tuesday. There will be no homework for the weeks including Junior Parents’ Weekend, Easter, and the final weeks when the semester project is underway.

Homework assignments are critical to developing the skills needed to succeed in the course and in the major. Accordingly, assignments are a required element of the course. Missing assignments will be scored as zero. Three or more missed assignments will result in an incomplete for the course. Group study is encouraged, but the submitted work must be your own. Students must be able to explain all of their submitted work.

Laboratory Assignments#

Laboratory assignments will be assigned in advance of each laboratory session and due the following Friday.

Quizzes#

There will be one timed quiz following completion of each of the major units of the course. The quizzes will be conducted on-line outside of regularly scheduled class time.

Final Project#

The final project for CBE 30338 is in-depth exploration of a control problem of your choice. You will work in groups (at least three, no more than four, no exceptions), select a problem of interest, and develop an analysis or control design using the skills you learned in this course. The essential elements of the project are:

  • Preliminary reports consisting of a problem statement, a meeting with the instructor to review the project, and a progress report.

  • A Group presentation to the class.

  • A Final Report that includes at least one executable demonstration of your project. The executable element might consist of a Python/Jupyter notebook, a simulation prepared in an industry standard format, or video of experiment or hardware demonstration.

Grading#

Grades for CBE 30338 and CBE 32338 are consolidated into a single grade assigned to CBE 30338. There is no separate grade or credit assigned for CBE 32338.

Grades are based on an assessment of performance in four major categories of work: individual homework assignments, quizzes, and laboratory assignments, and the group final project. The lowest homework, quiz, and laboratory assignment will be dropped.

Collaboration Policy and Honor Code#

The following material is quoted and adapted from CBE 20258, with permission.

You are permitted (and encouraged) to discuss solution approaches to the weekly homework assignments with classmates, however there is to be no wholesale copying or paraphrasing of code, solutions, or written discussions. You are encouraged to ask questions, including posting pseudocode or code screenshots, on the discussion board on Canvas. Likewise, you may use any material posted by the instructors or your classmates in the discussion board on Canvas that you understand.

  • Copying of code from classmates or the discussion board that you do not understand is not permitted. This policy is meant to facilitate collaboration while ensuring everyone in the class has the same access.

  • Students MAY NOT use old HW files and solutions for the homework assignments: if you cannot do the problems for homework, you will not be able to do them on the exams either.

  • Materials from ChatGPT must be cited. Python or other code generated ChatGPT must be clearly commented, even if it includes additions or other alterations you made. You are always responsible for understanding all code included in your submission.

As a guiding principle, if you are not comfortable explaining your solution strategy to an instructor or TA, you should not turn in the work as your own.

Your work may be electronically tested for plagiarized content. For example, Vocareum and Gradescope have sophisticated capabilities to detect highly similar code (i.e., plagiarism for computer code) while distinguishing from provided templates. Plagiarism is a serious offense and will result in severe consequences per University, College, and Department Honor Code procedures.

To remove ambiguity, the following is a non-exhaustive list of collaborative scenarios that are PERMITTED under the above policies:

  • You work with a group of classmate to write pseudocode together. Each person in the group participates at least once (e.g., asks a question). One person in the group takes a picture and emails it to everyone. Then each person rewrites the pseudocode on their own for the homework submission. You rewrite the comments in your own words (to be more clear). You also decide to replace a while loop with a for loop. This is permitted by the collaboration policy because the work is your own. You made a clear intellectual contribution.

  • You are working on a homework assignment and get stuck on an error message. After consulting the class notes and Google for 5 minutes, you post a screenshot of your code and the error message to Canvas. A classmate posts some alternate code that fixes your error. You reply by thanking the student and asking for clarification on why the alternate code works and your approach was wrong. This leads to a good discussion, with the instructor explaining a concept and clearing up your confusion. The solution you turn in includes the changes suggested by your classmates. This is permitted by the collaboration policy because you are comfortable explaining your solution strategy, including why the proposed modification was necessary to fix the error.

  • You are working on the homework assignment a little closer to the deadline than you would like to admit. You get stuck on an error message, but quickly find a discussion thread on Canvas. You read through the suggestions from your classmates and the instructor. The post answers your major questions and the proposed fix works! You adopt it into your code and add a comment acknowledging your classmates on Canvas for help. You still have a minor question about if there is an alternate way to solve the problem, so you post on Canvas and continue with the assignment. This is permitted by the collaboration policy because you made a good faith effort to understand the proposed solution. Even though you have an outstanding minor doubt, you sought out help from the TAs, instructor, and classmates. You also acknowledged the source (Canvas discussion) for the code you used, and thus are not presenting it as your own.

The following is a non-exhaustive list of collaborative scenarios that are PROHIBITED under the above policies:

  • You are working on your homework alone in the library but two tables away there is a group of your classmates. They work through the pseudocode on a white board and do not erase it after leaving. You take a picture “just in case”. You later get stuck and frustrated. You end up copying a majority of their pseudocode, line by line, and turn this in. You have some doubts about the approach, but ran out of time. This is prohibited by the collaboration policy because the work is not your own. Moreover, you would be unable to explain your solution approach with confidence to the TA or instructor.

  • It is late at night, you are frustrated with syntax errors, and you just cannot get one of the homework problems to work. You find a screenshot on Canvas of code from a classmate and an associated discussion. Desperate to finish the assignment, you start adapting your code to follow the screenshot. To keep it simple, you copy line-by-line, do not change variable names, and copy some comments but skip others. You end up submitted code that looks almost identical to your classmate. You remember the instructor keeps emphasizing the comments should be in our own words to show that you understand the solution. We decide to go to bed and add those comments in the morning. You oversleep and submit code without any comments or acknowledgments of your classmates. This is prohibited by the collaboration policy because you submitted work that is not your own. You did not acknowledge sources, and you can not explain with confidence the solution procedure to the instructor or TA.

  • You have no prior programming experience and feel like you are falling behind. You feel like the homework takes you three times as long as your classmates. You conclude the only way you can keep up is to do the homework with a partner. They do half the assignment and you do the other half. You then exchange solutions. The person who completed each problem then explains the solution to the partner. Each person changes the comments, adds some extra white spaces, and changes a few variable names to ensure the solutions are not identical. This is prohibited by the collaboration policy because each person did not make an honest effort to solve every problem on their own. Although each person either explained or had the solutions explained to them, they likely cannot defend all of their solutions on their own to the TA or instructor.