530.647 Adaptive Systems and Control – Spring 2024

Course Description


Graduate-level introduction to adaptive identification and control. Emphasis on applications to mechanical systems possessing unknown parameters (e.g., mass, inertia, friction). Topics include stability of linear and nonlinear dynamical systems, Lyapunov stability, input-output stability, adaptive identification, and direct and indirect adaptive control.

Audit registration is not permitted, but students are welcome to sit in on the course.

Required Prerequisites:

  • Calculus I, II, and III; Physics I and II; Linear Algebra; Differential Equations;
  • Graduate linear systems theory such as EN.530.616 Introduction to Linear Systems Theory (or the equivalent) is a required prerequisite.
  • Programming: Knowledge of the Matlab programming language including data input/output, 1-D and 2-D arrays, and user-defined function calls. Students with experience using all language elements (including data input/output, 1-D and 2-D arrays, and user-defined function calls) in any high level language (e.g. C, C++, Python, etc) should be able to self-tutor themselves in the Matlab language as part of the laboratory exercises.

Course Organization

  • Lectures: Weekly lectures.
  • Class Participation: You are expected to attend all classes. Class participation represents approximately 5-10% of the course grade.
  • Problem Sets: Problem sets based on the lectures and assigned reading are due at the on the date specified in the problem set. Problem sets represent approximately 25% of the course grade.
  • No credit will be given for late problem sets or labs unless previously approved by the instructor. Each student’s lowest problem set and lab score will be dropped.
  • Laboratory Problem Sets: Lab problems sets, principally assignments in Matlab, are due on the date specified in the problem set. Lab writeups represent approximately 25% of the course grade.
  • Midterm Exam: The midterm exam represents approximately 20-25% of the course grade.
  • Final Exam: The final exam represents approximately 20-25% of the course grade.
  • Problem Sessions: Problem sessions will be held to answer questions regarding the lectures, labs, and problem sets.
  • All problem set and lab assignments must be handed in on ONLINE on Gradescope. Any questions regarding grading must be referred to Prof. Whitcomb. The TA may not receive assignments or address grading questions.



Professor Louis L. Whitcomb
Department of Mechanical Engineering
G.W.C. Whiting School of Engineering
The Johns Hopkins University
Phone: 410-516-6724
Email: [email protected]
Office: 115 Hackerman Hall
Office Hours: During regular problem sessions after class.
Click HERE to email the instructor and TAs

When contacting the instructor and/or TAs please include “530.647” in the subject line of your email!

Teaching Assistants

Class Schedule

  • Lectures: Tuesdays and Thursdays 4:30-5:45PM, in Room 213 Hodson Hall.
  • Problem Sessions: Tuesdays and Thursdays 6:00PM. Tuesdays in 110 Hodson (this may change), and Thursdays in 213 Hodson Hall. Problem Sessions are open format, please bring your questions to the problem session.

Exam Schedule

Exams are  cumulative, closed Book, closed notes, closed cell-phone, closed calculators.

Required Text Book

Some Additional References (Not Required)

Some additional text books that are NOT REQUIRED but are excellent references include:

Problem Sets and Labs

Problem sets and labs must be handed in online on Gradescope.

Problem set assignments and lab assignments are available online on Gradescope.


  • You should install Matlab on your personal computer.
  • Johns Hopkins University has a Total Academic Headcount (TAH) site license for matlab.  You can legally install matlab on your personal computers! Linux, Windows, and Mac-OS are supported. To get matlab for your computer:
    • Browse to my.jhu.edu and login.
    • Under the “Technology” glyph on the left, select the “mySoftware” menu item.
    • Select the link “Software Catalog: To purchase new software visit: Service Now Software Catalog”
    • Search the software catalog for Matlab
    • Follow the instructions on the page entitled “Matlab for Students”.

Notes and References


Students are encouraged to work in groups to learn, brainstorm, and collaborate in learning how to solve problems.

Problem Sets and Lab Assignments Final Writeups

Your final writeups for pre-lab exercises and lab assignments must be done independently without reference to any notes from group sessions, the work of others, or other sources such as the internet.

While working on your final writeups for assignments, you may refer to your own class notes, your own laboratory notes, and the text.

Do Not Use Materials from Previous Years of This Course

You are NOT permitted to receive, give, or utilize any course materials from previous editions of this course. This ban includes all assignments, all exams, and all solutions. Use of these materials is an ethics violation that may result in punishment or dismissal from JHU.

Do Not Use Cheating Web Sites

Do not use cheating web sites like coursehero.com Uploading or downloading course materials to these cheating web sites is an ethics violation that may result in punishment or dismissal from JHU.

Disclosure of Outside Sources 

If you use outside sources other than your class notes and your text to solve problems in the pre-lab and lab assignments (i.e. if you have used sources such as your roommate, study partner, the Internet, another textbook, a file from your office-mate’s files) then you must disclose the outside source and what you took from the source in your writeup.


In this course, we adopt the ethical guidelines articulated by Professor Lester Su for M.E. 530.101 Freshman experiences in mechanical engineering I, which are quoted with permission as follows:

Cheating is wrong. Cheating hurts our community by undermining academic integrity, creating mistrust, and fostering unfair competition. The university will punish cheaters with failure on an assignment, failure in a course, permanent transcript notation, suspension, and/or expulsion.

Offenses may be reported to medical, law or other professional or graduate schools when a cheater applies. Violations can include cheating on exams, plagiarism, reuse of assignments without permission, improper use of the Internet and electronic devices, unauthorized collaboration, alteration of graded assignments, forgery and falsification, lying, facilitating academic dishonesty, and unfair competition. Ignorance of these rules is not an excuse.

On every exam, you will sign the following pledge: “I agree to complete this exam without unauthorized assistance from any person, materials or device. [Signed and dated]”

For more information, see the guide on “Academic Ethics for Undergraduates” and the Ethics Board web site (http://ethics.jhu.edu).

I do want to make clear that I’m aware that the vast majority of students are honest, and the last thing I want to do is discourage students from working together. After all, working together on assignments is one of the most effective ways to learn, both through learning from and explaining things to others. The ethics rules are in place to ensure that the playing field is level for all students. The following examples will hopefully help explain the distinction between what constitutes acceptable cooperation and what is not allowable.

Student 1: Yo, I dunno how to do problem 2 on the homework, can you clue me in?

Student 2: Well, to be brief, I simply applied the **** principle
that is thoroughly explained in Chapter **** in the course text.

Student 1: Dude, thanks! (Goes off to work on problem.)

– This scenario describes an acceptable interaction.
There is nothing wrong with pointing someone in the right direction.

Student Y: The homework is due in fifteen minutes and I haven’t
done number 5 yet! Help me!

Student Z: Sure, but I don’t have time to explain it to you, so
here. Don’t just copy it, though.
(Hands over completed assignment.)

Student Y: I owe you one, man. (Goes off to copy number 5.)

– This scenario is a textbook ethics violation on the part of
both students. Student Y’s offense is obvious; student Z is
guilty by virtue of facilitating plagiarism, even though he/she
is unaware of what student Y actually did.

Joe Student: Geez, I am so swamped, I can’t possibly write up the
lab report and do the lab data calculations before it’s all due.

Jane student: Well, since we were lab partners and collected all
the data together…maybe you could just use my Excel spreadsheet
with the calculations, as long as you did the write-up yourself….

Joe Student: Yeah, that’s a great idea!

– That is not a great idea. By turning in a lab report with Jane’s
spreadsheet included, Joe is submitting something that isn’t his
own work.

Study group member I: All right, since there’s three of us and
there’s six problems on the homework, let’s each do two. I’ll
do one and two and give you copies when I’m done.

Study group member II: Good idea, that’ll save us a lot of work.
I’ll take three and five.

Study group member III: Then I guess I’ll do four and six. Are you
guys sure this is OK? Seems fishy to me.

Study group member I: What’s the problem? It’s not like we’re
copying the entire assignment. Two problems each is still a lot
of work.

– This is clearly wrong. Copying is copying even if it’s only
part of an assignment.

Mike (just before class): Hey, can you help me? I lost my
calculator, so I’ve got all the problems worked out but I
couldn’t get the numerical answers. What is the answer for
problem 1?

Ike: Let’s see (flips through assignment)… I got 2.16542.

Mike: (Writing) Two point one six five four two…what about
number 2?

Ike: For that one… I got 16.0.

Mike: (Writing) Sixteen point oh…great, got it, thanks.
Helping out a friend totally rules!

– Helping out a friend this way does not rule, totally or
partially. As minor as this offense seems, Mike is still
submitting Ike’s work as his own when Mike gets the numerical
answer and copies it in this way.