Class Time and Location

Dr. Barati Farimani: Tuesdays & Thursdays, 6:00-7:20 pm

Recitation Time and Location

TAs: Friday, 4:30pm - 5:30pm (Zoom link will be posted on Piazza)

Course Description:

This course provides an introduction to deep learning. We will learn about the basics of deep neural networks, and their applications to different tasks in engineering. Students will be able to apply deep learning to a variety of artificial intelligence tasks pertinent to different engineering problems. Applications of deep learning in Mechanical, chemical, biological, Electrical and material engineering will be discussed.

Office Hours

  • Dr. Amir Barati Farimani: Tuesdays, 1:00pm ‐ 2:00pm
  • Yuyang Wang: Wednesday, 5:30pm - 6:30pm
  • Lalit Ghule: Wednesday, 11:00am - 12:00pm
  • Ruchit Doshi: Thursday, 10:00pm - 11:00pm
  • Yihe Hua: Monday, 2:00pm - 3:00pm
  • Ayush Raina: Thursday, 2:00pm - 3:00pm

Textbooks and Readings

The lectures in this course were compiled from different sources and naturally there is no single textbook that covers all of the topics we will discuss in this course. The following textbook are recommended for the course subjects:

Prerequisites

  • 24-787: Artificial Intelligence and Machine Learning (or)
  • 10-601/10-701: Introduction to Machine Learning (or)
  • 11-785: Introduction to Deep Learning

Quizzes

The course contains 5 quizzes in total. Quizzes will be posted on Saturday and submitted by Monday midnight. No late submission is accepted for quizzes. Only theoretical and simple calculation questions are included. There will be no programming/coding sections in quizzes.

Assignments

Most of the assignments in this course involve writing computer programs. In a typical assignment, you will implement a machine learning technique from the lecture and use it to solve a sample problem. You will be graded on how well your computer program works. Therefore you should carefully implement, test and debug each program. Remember, just because the compiler gives no error messages, does not mean the program works as it should. In addition to submitting your code, you will typically be required to annotate and comment your program. To make programming, reporting, commenting, plotting and submitting your program easier, we will use iPython notebooks (Jupyter Notebooks). All assignments will be in Python}.

For longer assignments, you will be given two weeks. You should take advantage of this by spreading out the effort uniformly. It is unlikely that you will be able to complete the assignment the night before it is due.

Python Programming

We will use the Python programming language for all assignments in this course. Python is a great general-purpose programming language on its own, but with the help of a few popular libraries (numpy, scipy, matplotlib) it becomes a powerful environment for scientific computing.

We expect that many of you will have some experience with Python and its several packages: numpy, pytorch, pytoch geometric, etc., for the rest of you, we will provide a quick crash course both on the Python programming language and on the use of Python for scientific computing.

Grading:

Course grades will be based 35% on homeworks, 15% on the midterm, and 50% on the major term project.

Grading Scale:

  • 93%-100% = A
  • 90%-93% = A-
  • 87%-90% = B+
  • 83%-87% = B
  • 80%-83% = B-
  • 77%-80% = C+
  • 70%-77% = C-
  • 60%-70% = D-
  • 0%-60% = R

Submission Procedures

  • Submission procedure is explained for each assignment on its first page. If you want to take photos of your assignment, just make sure that combine all the jpg into a single pdf file and make it clear. Unorganized and illegible submissions will be penalized. Take care in arranging your illustrations, written solutions, photos.
  • Only submit the required files that you edit. All other files, including the ones we provide as supporting functionality, are unnecessary because we already have copies of them. Unless we tell you otherwise, make sure that you only submit the file you edited/changed.
  • Do not scan the your hand-written solutions in the highest resolution. Downloading 200MB worth of scanned files from Canvas is utterly unnecessary and counterproductive. Exercise good judgment. You can set the resolution when scanning. Make sure your submission zip file is less than 20MB. That’s enough for all the assignments.
  • Name your files logically and clearly. Add a readme.txt with your submissions. It’s hard to open each ill-named file one by one and find your solution.
  • A failure to comply with these procedures will result in grade penalties that will be proportional to the severity of your non-compliance.

Late Submission Policy

Assignments are expected to be completed by due date. Assignments submitted 4 days after the due date will not be accepted. each student will have a total of seven free late (calendar) days to use as s/he sees fit. Once these late days are exhausted, any homework turned in late will be penalized 20% per late day. However, no homework will be accepted more than four days after its due date, and late days cannot be used for the final project writeup. Each 24 hours or part thereof that a homework is late uses up one full late day.

Final Project

The project can be related to your research area (if you have one). However, do not submit anything you have completed prior to attending the course. You also should not submit a project that is largely a collaborative effort with people outside the course. For example, if your research involves other people in a larger project, you could propose to address a slightly different question in the same area (still related to your research) but one that you are pursuing alone or in collaboration with other students taking the course.

You can and are encouraged to collaborate with other students. If you do, we ask that you outline the role of each person in the project. Projects involving more than one person have to scale in size with the number of people.

Proposal

For the final project, each group or student need to submit a proposal. The project proposal should be one paragraph (200-400 words). If you work on your own project, your proposal should contain:

What is the problem that you will be investigating? Why is it interesting? What method or algorithm are you proposing? If there are existing implementations, will you use them and how? How do you plan to improve or modify such implementations? What data will you use? If you are collecting new datasets, how do you plan to collect them? What reading will you examine to provide context and background? How will you evaluate your results? Qualitatively, what kind of results do you expect (e.g. plots or figures)? Quantitatively, what kind of analysis will you use to evaluate and/or compare your results (e.g. what performance metrics or statistical tests)?

Poster

Each student or group required to present their final project in a poster form. A public poster session will be held at the end of semester and students will present their works. TAs will evaluate the quality, novelty and the size of the project and its presentation quality.

Final report

Your final write-up is required to be between 6 - 8 pages using the provided template (We will provide the template via Canvas). Please use this template so we can fairly judge all student projects without worrying about altered font sizes, margins, etc. Submit your final submission through Canvas.

Computing Resources

We will use google cloud services on https://cloud.google.com/compute/docs/. Please sign up for free account on Google Cloud Platform. This platform has console with Tensorflow and Pytorch and easy to use.

Accommodations for Students with Disabilities

If you have a disability and are registered with the Office of Disability Resources, I encourage you to use their online system to notify me of your accommodations and discuss your needs with me as early in the semester as possible. I will work with you to ensure that accommodations are provided as appropriate. If you suspect that you may have a disability and would benefit from accommodations but are not yet registered with the Office of Disability Resources, I encourage you to contact them at access@andrew.cmu.edu.

Statement of Support for Students’ Health and Well-being

Take care of yourself. Do your best to maintain a healthy lifestyle this semester by eating well, exercising, avoiding drugs and alcohol, getting enough sleep and taking some time to relax. This will help you achieve your goals and cope with stress. If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, we strongly encourage you to seek support. Counseling and Psychological Services (CaPS) is here to help: call 412-268-2922 and visit http://www.cmu.edu/counseling/. Consider reaching out to a friend, faculty or family member you trust for help getting connected to the support that can help.