Course Logistics & Policies

Course Information

Course: Introduction to Machine Learning
Course Numbers: MECH534, EECE490, MECH678, EECE690
Semester: Fall 2026
Credits: 3 credit hours
Prerequisites: Linear algebra, calculus, statistics and probability, programming
Lectures: Tuesday and Thursday, 11:00AM-12:15PM
Location: IOEC 224C

Instructor: Joseph Bakarji

Teaching Assistants

Ghina Daoud

Email: gad08@mail.aub.edu

Office Hours: TBA

Office: TBA

Shafik Houeidi

Email: sah89@mail.aub.edu

Office Hours: TBA

Office: TBA

Summary of Learning Objectives

By the end of this course, successful students will be able to:

  1. Understand the mathematical foundations underlying machine learning algorithms
  2. Implement core ML algorithms from scratch using Python and NumPy
  3. Apply appropriate machine learning techniques to solve real-world problems
  4. Evaluate model performance and diagnose common machine learning issues
  5. Communicate results effectively through visualizations and technical reports

Grading & Assessment

Setting Up Python

You need a working Python environment for the whole course. Anaconda is the simplest route and gives you the scientific stack in one install.

  1. Install Miniconda from docs.conda.io. Miniconda is the small version; full Anaconda works too and is heavier.
  2. Make an environment for this course, so nothing you install here breaks anything else on your machine:

    conda create -n intro2ml python=3.11
    conda activate intro2ml
    
  3. Install what we use:

    conda install numpy scipy matplotlib pandas scikit-learn jupyter
    
  4. Check it works. jupyter notebook should open in your browser, and import numpy should run without complaint.

Activate the environment (conda activate intro2ml) every time you work on the course. If a command is not found, that is usually what you forgot.

If you are new to Python or NumPy, work through the CS231n Python and NumPy tutorial before the second week. It is the fastest way in, and it covers exactly the subset we use: arrays, indexing, broadcasting, and plotting.

Google Colab works if your machine will not cooperate, but a local environment is worth the hour it costs.

Late Policy

Assignment Policies

Submission Requirements

Collaboration Policy

Communication

Preferred Communication Methods

For general inquiries, you should use the course Slack channel to ask questions to your classmates and teaching assistants (you get participation points if you ask or answer questions on Slack). If you don’t get an answer, go to the TA office hours when available; if not, come to my office hours. If all fails, email me. In code:

def help_route(slack_answered: bool, ta_office_hours_possible: bool, prof_office_hours_possible: bool) -> str:
    if slack_answered:
        return "Resolved on Slack"
    if ta_office_hours_possible:
        return "Go to TA office hours"
    if prof_office_hours_possible:
        return "Go to instructor office hours"
    return "Email the instructor"

Announcements

Course Success Tips

For assignments, start early - they take longer than expected. Don’t procrastinate on reading and practice problems. Practice Python regularly, even for short periods. When you use LLMs, always write down how you used it and what you got from it. Use debugging tools and read error messages carefully. Don’t rely too much on LLMs. Comment your code thoroughly for later review. Back up your work frequently!

Choose projects aligned with your interests, demonstrate your understanding of the course material, and show your creativity. Start with simple approaches before attempting complex methods. Document everything as you go. Test your code frequently with small examples.

To get the most from the class, come prepared with questions from readings and videos assigned in the schedule for class preparation. Participate actively in discussions and exercises. Review material regularly, don’t cram.

University Policies

This course adheres to all American University of Beirut policies regarding:

For complete policy details, consult the AUB Student Handbook and academic regulations.


These policies are designed to create a fair, supportive, and productive learning environment. Questions about any policy should be directed to the instructor.

Last Updated: August 29, 2025