Course Syllabus
CompE510: Machine Learning for Engineers [Fall 2025]
|
Instructor |
Dr. Junfei Xie |
|
Office Hours (In-person or Zoom) |
Tuesdays: 1-2pm Thursdays: 9:30pm-10:30pm Zoom link: https://SDSU.zoom.us/j/89748210825 Office: E403B |
|
Contact Info. |
Email: jxie4@sdsu.edu |
|
Prerequisites |
CompE361, EE300, EE200 |
|
When/Where |
TTh: 8:00 - 9:15 at GMCS 324 |
|
TA Info |
Nilesh Singh (Email: nsingh2341@sdsu.edu) |
|
TA's Office Hours |
Wednesdays: 1pm-2pm (Zoom only) Zoom link: https://SDSU.zoom.us/j/82691575410 |
* For any questions related to programming assignments, contact the TA. For other questions, contact the instructor.
**The syllabus can also be downloaded here.
Course Description:
Machine learning, a discipline that deals with the automatic design of models from data, has been successfully used in the past few decades for data analysis, process automation, function approximation, model building, and many others. These techniques have been explored in a diversity of fields such as robotics, self-driving cars, big data, control of autonomous systems, image analysis, object recognition, data mining, business, and financial forecasting, transportation systems, antenna design, medical care systems, and many others. It is believed by many researchers that machine learning is the best way to enable human-level artificial intelligence.
This course provides a broad introduction on the key machine learning techniques that are frequently used in the Engineering field. The main topics to be covered include linear regression, logistic regression, neural networks, support vector machine, decision trees, clustering, dimension reduction, Naïve Bayes, and ensemble learning. Concrete examples will be presented to illustrate their value to engineers. Students will also gain practice implementing them for solving specific engineering problems using programming tools such as Matlab.
Course Learning Objectives:
Following this course, students will be able to:
1. Construct and train linear regression, logistic regression, and neural network models from a real-life engineering application dataset programmatically, identify the model structure with the best performance, estimate model parameters using different parametric estimation methods, and use the resulting models to perform predictions. Identify model underfitting and overfitting issues and use proper approaches to resolve these practical issues.
2. Construct support vector machines and Naïve Bayes classifiers to solve classification problems.
3. Construct decision trees using different methods for different types of data.
4. Identify suitable clustering techniques for different data types, use these techniques to perform clustering, and validate the clustering results using different methods.
5. Explain different dimension reduction methods and implement principal component analysis to reduce the dimension of dataset.
6. Explain the use of different ensemble learning methods to attain higher prediction accuracy.
Recommended Materials
- Lecture handouts/slides (provided)
- Bontempi, G., & Taieb, S. B. (2017), Statistical foundations of machine learning. Universite Libre de Bruxelles.
- Tan, P. N., & Steinbach, M., & Kumar, V., Introduction to Data Mining, Pearson Education, Inc (1st or 2nd edition).
- Mitchell, T. (1997), Machine Learning. McGraw Hill.
- Murphy, K. P. (2012). Machine learning: a probabilistic perspective. MIT Press.
- Tipping, Michael E. "Bayesian inference: An introduction to principles and practice in machine learning." Summer School on Machine Learning. Springer, Berlin, Heidelberg, 2003.
Optional Materials
- Montgomery, D. C., & Runger. G. C. (2010), Applied statistics and probability for engineers. John Wiley & Sons.
- Bishop, Christopher (2006). Pattern Recognition and Machine Learning. Springer-Verlag New York.
- Alpaydin, Ethem. (2014). Introduction to machine learning. MIT press (3rd edition).
Online resources
- Matlab tutorial: https://www.mathworks.com/help/matlab/getting-started-with-matlab.html
- Matlab tutorial: https://www.mathworks.com/support/learn-with-matlab-tutorials.html
- Python tutorial: https://www.python.org/doc/
Exams:
There will be two mid-term exams during the course of the semester.
Quizzes, Assignments & Term Project:
This course requires the students to complete one quiz after completing each module. Each quiz allows 3 attempts.
This course also requires the students to complete 1 written assignment and 6 programming assignments, which require the use of Matlab. Both quizzes and assignments are due on Sundays.
Additionally, students will be required to complete a term project. Students will form teams to identify an engineering problem along with an appropriate dataset, and apply relevant machine learning techniques. For assessment, each team is required to deliver two presentations: a proposal presentation and a final presentation. In addition, each team must submit a final report. More detailed instructions about the term project can be found here.
AI Use Policy:
To help build both data literacy and AI literacy, this course acknowledges the presence of generative AI tools (e.g., ChatGPT, Copilot, Gemini) and their evolving role in technical education. Used appropriately, these tools can support your learning, but they are not a substitute for critical thinking, independent problem-solving, and original work.
You can use AI (with disclosure) to:
- Deepen your understanding of machine learning concepts and theories.
- Explore MATLAB/Python syntax or understand how specific functions or libraries work.
- Improve grammar and language clarity in written explanations or reports.
You must clearly disclose any permitted AI use in your submission.
Example: “I used ChatGPT to clarify the use of the ‘randn()’ function in MATLAB. All code and answers are my own.”
You are NOT allowed to use AI to:
- Generate code or solutions for programming assignments and the term project.
- Solve or answer the written assignment questions.
- Complete any part of the quizzes or exams.
- Generate or interpret reports, experimental analysis, or results.
Any use of generative AI outside these instructor-approved guidelines constitutes misuse and a violation of the course policy on academic honesty and will be reported to the Center for Student Rights and Responsibilities.
Be aware that using public AI tools may make your content non-private. Use SDSU’s ChatGPT EDU (via your SDSU email) if privacy is a concern.
IT has developed a micro-credential for students: Academic Applications of Artificial Intelligence (AAAI). I strongly encourage you to enroll in and earn the microcredential!
If you’re unsure whether AI use is allowed, ask the instructor first.
[NOTE: This policy statement was prepared with assistance from ChatGPT to draft initial wording, refine tone, and improve clarity. The final content was reviewed and edited by the instructor.]
Grade Distribution and General Comments:
-
- 2 exams: 23% + 23% = 46%
- Quizzes: 5%
- Assignments: 2% + 5% + 5% + 8% + 5% + 4% + 5%= 34%
- Term Project: 15%
Grade Scale:
This course requires a LOT of reading and will require some research on your own for the term project.
Late Assignment & Makeup Exams Policy
Assignments are considered late if they are submitted after the due date and time. I will NOT accept late assignments so please make sure you turn in your assignments on time.
Makeup exams will not be given under normal circumstances. If you notify me immediately that serious, unavoidable, documentable (e.g., with a letter from your doctor) circumstances have arisen, I will discuss options for replacing the missing grade.
Pacing Guide:
Tentative Lecture Schedule for August
|
8/26 |
T |
Discuss syllabus, Introduction |
|
8/28 |
Th |
Invited Talk by Prof. Paweł Śniatała from Poznan University of Technology |
Tentative Lecture Schedule for September
|
9/2 |
T |
Probability Theory Review |
|
9/3 |
Th |
Probability Theory Review Quiz 1 due |
|
9/9 |
T |
Point Estimation 9/8 is the last day to drop class! |
|
9/11 |
Th |
Point Estimation Quiz 2, Assignment 1 (Probability) due; Form teams for term project by 9/12 |
|
9/16 |
T |
Linear regression |
|
9/18 |
Th |
Linear regression Quiz 3 due |
|
9/23 |
T |
Linear regression |
|
9/25 |
Th |
Logistic regression Quiz 4, Assignment 2 (Linear Regression) due |
|
9/30 |
T |
Term Project Proposal Presentation |
Tentative Lecture Schedule for October
|
10/2 |
Th |
Neural Networks Assignment 3 (Logistic Regression) due |
|
10/7 |
T |
Neural Networks |
|
10/9 |
Th |
Exam 1 (Cover everything before Neural Networks) |
|
10/14 |
T |
Neural Networks |
|
10/16 |
Th |
Neural Networks Quiz 5 due |
|
10/21 |
T |
Dimension Reduction |
|
10/23 |
Th |
Dimension Reduction Quiz 6, Assignment 4 (Neural Networks) due |
|
10/28 |
T |
Decision Trees |
|
10/30 |
Th |
Decision Trees Assignment 5 (PCA) due |
Tentative Lecture Schedule for November
|
11/4 |
T |
Decision Trees |
|
11/6 |
Th |
Clustering Quiz 7, Assignment 6 (Decision Trees) due |
|
11/11 |
T |
Veterans Day. No Class! |
|
11/13 |
Th |
Clustering |
|
11/18 |
T |
SVM |
|
11/20 |
Th |
Bayesian Inference, Naïve Bayes Quiz 8, Assignment 7 (Clustering) due |
|
11/25 |
T |
Bayesian Inference, Naïve Bayes |
|
11/27 |
Th |
Thanksgiving Holiday, No class! Quiz 9 due |
Tentative Lecture Schedule for December
|
12/2 |
T |
Ensemble Learning Quiz 10 due |
|
12/4 |
Th |
Exam 2 (Cover everything after Logistic Regression) |
|
12/9 |
T | Term Project Presentation |
|
12/11 |
Th | Term Project Presentation Term Project Report due |
---
This course will use the Canvas Learning Management System instead of Blackboard. To access your course log in at canvas.sdsu.edu, and sign in using your SDSUid.
Note: You are responsible for adjusting your notification settings in such a way that you receive ALL announcements regarding this class. All Canvas email notifications will be delivered to your SDSU email address. You can add additional email addresses and sign up for text/mobile app notifications via the settings in your Canvas Profile, and then adjust your notifications in the Notifications Tab. Canvas notifications are system wide and cannot be adjusted by course. Click here to view a step-by-step guide to add additional notification and contact methods.
If you have technical issues with Canvas, please contact the SDSU Canvas 24/7 support line at 619.483.0632.
---
Course Summary:
| Date | Details | Due |
|---|---|---|