DL


Deep Learning (CMPSCI 4390/5390)

Spring 2024 - Hybrid (online and in-person)


Instructor & Contact Information

You are welcome to the Deep Learning course. I have been teaching this course almost every spring semester since 2019. Deep Learning is also my research area and it is a pleasure to be teaching a course on a topic that I am very passionate about.

Deep learning is popular because of its high applicability and superior performance in domains where we use machine learning. Deep learning based applications have reached or surpassed human performance not only for industrial problems like object classification and speech recognition but also for many problems in the field of biology and medicine. Deep learning will soon replace (most, not all) humans in most domains of human mental labor. This course reviews a typical machine learning recipe, computational foundations for deep learning, and provides an introduction to deep learning of dense neural networks. The course will focus on building, training, and evaluating deep convolutional neural networks for solving various machine learning problems, particularly the ones relating to image data. At the end of the course, you will also be able to differentiate what kinds of problems are best solved by deep learning algorithms and what are not, and develop your own deep learning applications. You will also learn about major technology trends in deep learning and understand what makes it different from traditional machine learning.

“Right now, it may seem hard to believe that AI could have a large impact on our world because it isn’t yet widely deployed—much as, back in 1995, it would have been difficult to believe in the future impact of the internet. Back then, most people didn’t see how the internet was relevant to them and how it was going to change their lives. The same is true for deep learning and AI today. But make no mistake: AI is coming.” - François Chollet.

“The ultimate aim (of artificial intelligence and deep learning) is to use these general-purpose technologies and apply them to all sorts of important real-world problems.” - Demmis Hasssabis.

Your success in this class is essential to me. If you need official accommodations, you have the right to have these met. If aspects of this course prevent you from learning or exclude you, please inform me as soon as possible. Together we’ll develop strategies to meet your needs and the course requirements.

Teaching Philosophy: In my classes, I see a student as a ‘learner’ and myself as a ‘facilitator.’ Computer science and technology is a discipline that is evolving rapidly and hence many learners see it as a difficult discipline. To my learners, I suggest that an effective strategy to learn the fundamentals is to follow an iterative process of reading, analyzing, and coding. Sadly, many learners either like to analyze or code but not both. While some of us enjoy developing the skills for critically assessing concepts and algorithms, many others enjoy programming and love building things. An effective computer science course should balance (a) theoretical knowledge to understand computer technology and (b) implementation skills to test and execute the theories and algorithms. I design course contents and assignments so that learners can improve both skills: analytical and programming. Learners with a rich programming experience may find this balance slightly easier but will have a platform to explore further. For many others who do not consider themselves expert programmers, taking such a course can become a rewarding experience.

Course Description

Course Name
Introduction to Deep Learning (CMPSCI 4390) / Deep Learning (CMPSCI 5390)

UMSL Catalog Description

This course reviews a typical machine learning recipe, mathematical foundations for deep learning, and provides an introduction to deep learning. Topics include dense neural networks, convolutional neural networks, and recurrent neural networks. The course will cover building, training, and using deep neural networks for solving various machine learning problems like image classification and protein contact prediction. Credit cannot be granted for both CMP SCI 4390 and CMP SCI 5390. [3 credit units].

Prerequisites for 4390 (for undergraduate students)
CMPSCI 3130 (Design and Analysis of Algorithms)

Prerequisites for 5390 (for graduate students). Graduate Standing in CS.

Learning Outcomes

Upon completing the course students will be able to:

Textbook (required, not optional)

Second Edition of “Deep Learning with Python” by François Chollet by Manning; associated Notebooks are freely accessible at GitHub.

Course Topics

These topics also correspond to the book’s chapters.

Academic Honesty

Any academic dishonesty in this class will result in an F for the semester, and the case will be referred to the provost’s office for possible further disciplinary action, regardless of how trivial it is. Please don’t use another student’s assignment (or a solution on the Internet) to complete your assignment. Discussing the material is OK, but please do your work independently. You should complete the assignments alone, not together, and not in a group. If you have any questions about the lessons or the assignments, please get in touch with me, and I will point you in the right direction. Please read UMSL’s policy and keep yourself out of plagiarism. In your reports, all sources must be clearly cited. You should not copy-paste any content from the Internet without citing it. “If you didn’t write it (or create it), cite it.” Also, our Turnitin tool automatically checks for plagiarism. To learn how to write original technical reports, please watch this lecture on plagiarism available in Coursera. Lastly, you are not allowed to print any of the quiz, mid-term, or final exam questions, or post them anywhere outside of the class.

Programming Language

Python3 is the programming language for this course; you are expected to use Python3 for all your classroom activities, assignments, and projects. You are welcome to use Google colab or your own hosted Jupyter Notebook to run your programs.

Assignments, Quizzes, and Exams

Assignments

This course will have several types of assignments: chapter readings, regular course assignments, project-related assignments, and drawing concept maps as chapter summaries. All assignments should be submitted via Canvas. I ignore any assignments submitted to me via email. If you need help finding the right place to submit in Canvas, ask me by sending an email instead of emailing me your assignments.

Citation Format

You can choose any standard format for citations, such as MLA and APA.

Quizzes

Most classes will begin with a short quiz (5 to 10 minutes). Mostly, these will be multiple-choice questions. Questions will be mainly from the book chapter readings and classroom lectures. Please bring your laptops to the classroom so you can take the quiz on your computer. If for some reason, we switch to an online setting, the quizzes will be proctored.

Feedback and Grading Timeline

You will receive project and quiz grades within a week after the due date; others may take longer. Assignments may take longer to grade during certain weeks when I travel to conferences. However, you are welcome to email me and request a quicker grading for a particular submission.

Exams

There will be two comprehensive exams: mid-term and final. Most exam questions will be related to lectures, classroom activities, and assignments. I will provide sample exam questions. The final exam may be replaced with a poster presentation.

Final exam: 8 May, 5:30 - 7:30 PM.

Attendance, Due dates, Late policy, and Discussion Board Assignments

Submitting Assignments

Please adhere to the guidelines below when submitting your assignments via Canvas. Non-compliance may lead to a deduction of up to 100% in your grade.

Complete Submissions Required

Merely providing links (e.g., to Google Docs or Google Colab) is insufficient. You must submit your work in a universally accessible format, such as PDF, DOCX, or HTML. Links may be included as additional, supporting material.

Human-Readable Formats

For submissions that include multiple files, if you are compressing them (e.g., in a ZIP file), ensure to also upload key documents (such as PDFs) separately for easier access.

Consolidate Images

When submitting multiple images, consolidate them into a single document, either as a PDF or in a Word document. This helps streamline the review process.

Zoom Meetings

If we ever need to Zoom (for class meetings or office hours), say due to severe weather, you are required to keep your video on.

Grade Composition (tentative)

Scoring aspect Total points (%)
Weekly quizzes 10
Exams 20
Assignments 20
Projects 50

Note: You are required to submit the course evaluation survey at the end of the semester to receive your final grade.

Grading Scheme

Points (%) Grade
94 to 100 A
90 to 94 A-
87 to 90 B+
84 to 87 B
80 to 84 B-
77 to 80 C+
74 to 77 C
70 to 74 C-
67 to 70 D+
64 to 67 D
61 to 64 D-
0 to 61 F

Additional Policies and Resources

This is an active and intensive course; please expect a minimum of 10 hours per week of work in this course. In addition to the time required to attend lectures, the course requires you to read the book chapters, watch several videos, and complete the assignments and projects. Every week, you should plan on reading the book chapters as soon as they are assigned. The best day to finish the reading assignments is the day after the class. Please connect with other students in the class and form study groups to discuss the assignment questions and solution strategies. For assignment deadlines, keep an eye on Canvas. To share your findings and explore what others have shared, please use the classroom discussion board. To help you, most weeks, I will send weekly announcements to remind you of important deadlines and announce upcoming topics.


Note: This syllabus will be subject to change at the instructor’s discretion. Important changes will be announced to the class.

Student Projects and Poster Presentation