Course Syllabus

Overview

Course ME EN 1010
Department Mechanical Engineering
Prerequisites MATH 1210/1310 or equivalent
Co-requisite PHYS 2210
Credit Hours 4.0
Fee: $120 (for your Arduino and lab supplies; does NOT include the online textbook)
Semester Spring 2025
Lectures Posted online (viewing required!)
Homework Sessions (In-Person)

Section 001 (Dr. Mascaro): T/H 10:45 AM-12:05 PM

Section 011 (Dr. Azadeh): T/H 12:25 PM-1:45 PM

in MEK 3550 (attendance required)

Labs (In-Person)

3 hours per week in MEK 0560 (attendance required)

  • For students enrolled in ME EN 1010-001 (Dr. Mascaro)
    • Section 002: Tu/05:30PM-08:30PM
    • Section 003: We/08:35AM-11:35AM
    • Section 004: We/03:00PM-06:00PM
    • Section 005: Th/07:30AM-10:30AM
    • Section 006: Fr/10:45AM-01:45PM
  • For students enrolled in ME EN 1010-011 (Dr. Azadah)
    • Section 012: Tu/02:00PM-05:00PM
    • Section 013: We/11:50AM-02:50PM
    • Section 014: Th/07:30AM-10:30AM
    • Section 015: Th/05:30PM-08:30PM
    • Section 016: Fr/02:00PM-05:00PM
Description This course introduces computer programming with applications to the analysis, modeling and control of engineering systems. MATLAB is used to introduce basic concepts of programming including data types, operations, loops, conditionals, functions, plotting, input/output, and advanced tools including image processing, serial communication, and graphical user interfaces. The basic components of mechatronic systems are also introduced, including actuators, sensors, microcontrollers, and mechanisms. C programming for microcontrollers is introduced. Students work in teams on a final project, in which they apply programming techniques on a microcontroller to interface with a real mechatronic system. Laboratory exercises include programming in MATLAB, programming on microcontrollers, and constructing, characterizing, and controlling simple mechatronic components and systems.

Goals & Objectives

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

FPOs

Fundamental Programming Objectives:

FPO01 Create and execute a script/sketch
FPO02 Organize and comment code to be understood by others
FPO03 Test blocks of code and functions using simplified test cases
FPO04 Assign and manage variables
FPO05 Perform algebraic and trigonometric operations
FPO06 Create user-defined functions
FPO07 Utilize user-defined functions
FPO08 Manage text output
FPO09 Implement user-friendly programming strategies
FPO10 Create and troubleshoot selection structures that utilize relational and logical operators (if/else)
FPO11 Create and troubleshoot indefinite repetition structures that utilize relational and logical operators (while loops)
FPO12 Create, manipulate, and determine the properties of vectors
FPO13 Create x-y plots suitable for technical presentation
FPO14 Import/export data from/to other file formats
FPO15 Identify array elements that meet certain conditions
FPO16 Create and troubleshoot definite repetition structures (for loops)
FPO17 Create, manipulate, and determine the properties of 2D and 3D arrays
FPO18 Create and troubleshoot nested repetition structures
FPO19 Utilize optimization functions to solve problems and fit experimental data

MPOS

Microcontroller Programming Objectives:

MPO01 Set up serial communication with an Arduino
MPO02 Execute serial communication with an Arduino
MPO03 Utilize built-in Arduino functions (delay, map, constrain)
MPO04 Set up digital input with an Arduino
MPO05 Execute digital input with an Arduino
MPO06 Set up digital output with an Arduino
MPO07 Execute digital output with an Arduino
MPO08 Set up analog input with an Arduino
MPO09 Execute analog input with an Arduino
MPO10 Set up analog output with an Arduino
MPO11 Execute analog output with an Arduino
MPO12 Control an actuator (DC motor or solenoid) via a motor driver
MPO13 Set up servo motor control with an Arduino
MPO14 Control a servo motor
MPO15 Create and execute an Arduino sketch
MPO16 Organize and comment code to be understood by others
MPO17 Assign and manage variables
MPO18 Create and utilize user-defined functions
MPO19 Implement selection structures (if/else and switch)
MPO20 Implement indefinite repetition structures (while loops) and definite repetition structures (for loops)

Teaching Team

Instructor: Dr. Debra Mascaro (Section 001) and  Dr. Vahid Azadeh (Section 011)

Graduate Teaching Assistants (TAs): 

  • Jared Anklam
  • Mary Clancy
  • Derek Colon
  • Kerrigan Denham
  • Jono Jenkins
  • Kimia Khoshnami
  • Adam Reinsch
  • Alex Venezie
  • Thomas Wright

Required Materials

Materials required for this course are:

  • ME EN 1010: Computer-Based Problem Solving for Engineering Systems
    • This is an online interactive textbook. The cost is $109. (This cost is NOT covered by course fees.)
    • Follow these instructions to purchase the book:
      • Sign in or create an account at learn.zybooks.com Links to an external site.
        • If you are asked for an email address, you must use your u0000000@utah.edu address if you want to get credit for your work.
        • If you are asked for a uNID, you must enter it as u0000000 if you want to get credit for your work.
      • Enter zyBook code: UTAHMEEN1010Spring2025
      • Subscribe
    • The Participation and Challenge activities in this book will count towards your Participation grade.
    • The "labs" in this book will count towards your Homework Grade.
    • If you are repeating ME EN 1010, you may not have to pay for the zyBook again this semester.  See https://tinyurl.com/ME1010-retake-zyBook Links to an external site. for more information.
  • Arduino
    • You will want to download Links to an external site. the Arduino Integrated Development Environment (IDE) version 2.3.2
    • You should NOT use the Arduino web editor as it will not interface with MATLAB.

Please be sure to obtain all of these materials quickly as they will be required to complete assignments and activities throughout the course (starting the first week!). Message your instructor via Canvas with questions or issues.

Communication

Please contact your instructor and the TAs via Canvas. Click on the Inbox icon in the left-hand toolbar (under the block U) to compose a new message.

Assignments are typically downloaded from Canvas for grading, so the TAs are unlikely to see a message posted as a comment in an assignment. If you have something you really need your grader to know about your assignment, send them a message via the Canvas Inbox instead.

As necessary, class-wide announcements and reminders will be sent via the Canvas Announcements tool. Please set up "right away" or "daily summary" notifications from Canvas so that you do not miss important announcements.

You are strongly encouraged to get help from the instructor or the TAs if you have questions about homework, lab, or project assignments. 

Office Hours Schedule (link will be provided once the schedule has been finalized)

Any virtual meetings will be held using Zoom or Gather.town. Additional information will be provided as necessary.

Evaluation

You will be evaluated on:

  • Your mastery of the Fundamental Programming Objectives through
    • Homework assignments
      • zyBook "labs"
      • Problems submitted to Canvas
    • Midterm exam
    • Final exam
  • Your mastery of the Microcontroller Programming Objectives through
    • Lab assignments
  • Your completion of the Project Objectives through
    • Homework assignments
    • Project demos and code
  • Your level of participation in course activities through
    • zyBook readings/activities, lecture participation activities, homework session attendance and participation, lab attendance and participation, competition participation, etc.

Schedule

Submitting Assignments

This section will describe how various assignments should be submitted and when they are due. See the Schedule section above for more details. Assignments should never be submitted via email.

  • Fundamental Programming Objectives Assignments
    • Homework: zyBook "labs"
      • Submission: Complete in zyBook
      • Due: Tuesday/Thursday by 11:59 pm
      • Grades: Cumulative points posted to the Cumulative zyLabs score Canvas assignment, details in your feedback spreadsheet (gcloud.utah.edu)
      • Additional explanation:
        • Homework #a zyLabs are due on Tuesdays
        • Homework #b zyLabs are due on Thursdays
        • You will get the greatest benefit from the homework sessions if you attempt the homework problems before coming.
        • You should come to the homework sessions with some code written and questions like:
          • "I'm having trouble with this line of code"
          • "I don't understand the syntax for this specific thing"
        • If you start the homework during the homework session, you are less likely to run into trouble while the TAs are available to help.
        • The TAs will NOT have time (and will not) walk you through entire problems during the homework session. 
    • Homework: Problems submitted to Canvas
      • Submission: Submit to Canvas
      • Due: Tuesday/Thursday by 11:59 pm
      • Grades: Posted to Canvas
      • Additional explanation:
        • Homework #a Canvas submissions are due on Tuesdays
        • Homework #b Canvas submissions are due on Thursdays
        • You will get the greatest benefit from the homework sessions if you attempt the homework problems before coming.
        • You should come to the homework sessions with some code written and questions like:
          • "I'm having trouble with this line of code"
          • "I don't understand the syntax for this specific thing"
        • If you start the homework during the homework session, you are less likely to run into trouble while the TAs are available to help.
        • The TAs will NOT have time (and will not) walk you through entire problems during the homework session. 
    • Midterm exam
      • Submission: Submit to Canvas
      • Proctoring: The midterm exam will be administered during scheduled class time on Tuesday, February 25 in MEK 3550. Each student will be expected to have a personal laptop computer with MATLAB and Arduino installed.
      • Due: At end of scheduled exam time
    • Final exam
      • Submission: Submit to Canvas
      • Proctoring: The final exam will be administered during the scheduled final exam time for your lecture section. Each student will be expected to have a personal laptop computer with MATLAB and Arduino installed.
        • Section 001 (Dr. Mascaro): Thursday, 4/24 from 10:30 am-12:30 pm
        • Section 011 (Dr. Azadeh): Friday, 4/25 from 10:30 am-12:30 pm
      • Due: At end of scheduled exam time
  • Microcontroller Programming Objectives Assignments
    • Lab assignments
      • Submission: Demonstrate functionality for TA during lab, submit files to Canvas if applicable (not all labs require code submission)
      • Due: End of lab session
      • Grades: Posted to Canvas
  • Project Assignments
    • Submission: Demonstrate functionality for TA during lab, submit files to Canvas
    • Due: End of lab session on specified due date
    • Grades: Posted to Canvas
  • Participation Assignments
    • zyBook readings/activities
      • Submission: Complete in the zyBook
      • Due: Mondays (Topic 1) and Wednesdays (Topic 2) by 11:59 pm
      • Grades: Cumulative score posted to the Cumulative zyBook score Canvas assignment, details in your feedback spreadsheet (gcloud.utah.edu)
      • Additional:
        • Participation and Challenge activities should be completed while doing the reading. If you need help with the Challenge activities, please come to office hours.
    • Lecture participation activities (activities that accompany the posted lecture videos) (these will mostly be extra credit)
      • Submission: Canvas assignment or "quiz"
      • Due: As indicated in Canvas
    • Tuesday/Thursday homework session participation
      • Submission: Complete Google Form quiz/survey
      • Due: At start and/or middle and/or end of session
      • Grades: Cumulative points posted to the Homework Session Participation Canvas assignment, details in your feedback spreadsheet (gcloud.utah.edu)
    • Lab attendance and participation
      • Submission: NA (TAs will take attendance and you will demonstrate your lab/project code for the TAs)
      • Due: You are expected to come on time to lab and attend your entire lab session (or until all work for the lab is completed)
      • Grades: Posted to Canvas

Late Assignments

The ME EN 1010 lectures, labs, and assignments (homework + lab + project) are intentionally project-oriented/project-driven, and so are very integrated and build on one another.  You really cannot afford to get behind!

Unless you are experiencing extreme personal circumstances or have other accommodations (see the Accommodations section below):

  • Late work cannot be accepted
  • The Midterm and Final Exams cannot be rescheduled
  • Participation and attendance points earned during the Tuesday/Thursday homework sessions and the weekly labs cannot be made up

On the flip side, extensions may be granted to the entire class if that is deemed essential or highly beneficial.

Grading

Fundamental Programming Objectives 65%
Homework assignments (15%)
Midterm exam (20%)
Final exam (30%)
Microcontroller Programming Objectives 10%
Lab assignments and quizzes
Project Objectives 10%
Project demos/code (10%)
Participation 15%
zyBook activities (5%)
Lecture video and T/H homework session participation (5%)
Lab/project demos and participation (5%)
Letter Scoring
A 100% - 94%
A- 93.9% - 90%
B+ 89.9%–87%
B 86.9%–84%
B- 83.9% - 80%
C+ 79.9%–77%
C 76.9%–74%
C- 73.9% - 70%
D+ 69.9%–67%
D 66.9%–64%
D- 63.9% - 60%
E 59.9%–0%

In addition to achieving a passing cumulative score, to receive a passing grade in this course, you are required to:

  1. Pass the Fundamental Programming Objectives category with a score of 70% or higher.
  2. Pass the Participation category with a score of 70% or higher.
  3. Complete all four project demos to achieve a fully functional device and participate in the end-of-semester competition.

Academic Integrity

Engineering is a profession demanding a high level of personal honesty, integrity and
responsibility. Therefore, it is essential that engineering students, in fulfillment of their
academic requirements and in preparation to enter the engineering profession, adhere to the Department of Mechanical Engineering Policy for Academic Misconduct. This policy is based upon the University of Utah’s Policy 6-410: Student Academic Performance, Academic Conduct, and Professional and Ethical Conduct Links to an external site. where academic misconduct “...includes, but is not limited to, cheating, misrepresenting one's work, inappropriately collaborating, plagiarism, and fabrication or falsification of information. It also includes facilitating academic misconduct by intentionally helping or attempting to help another to commit an act of academic misconduct.”'

As part of the ME policy, students must review and acknowledge the “ME Academic
Misconduct Policy” and the “ME EN 1010 Definition of Academic Misconduct" via the Mechanical Engineering Academic Integrity Module. Students who do not complete the Canvas acknowledgement quiz before the end of the second week of class will be asked to drop the course and will otherwise receive an EU grade.

College of Engineering Guidelines

Accommodations

Accommodations will be considered on an individual basis and may require documentation.

Please contact your instructor and/or teaching assistant as soon as possible (preferably shortly before the semester begins) to request accommodations of any kind.

Please contact your instructor as soon as possible if an extreme personal circumstance
(hospitalization, death of a close relative, natural disaster, etc.) is interfering with your ability to complete your work.

To request an accommodation for religious practices, contact your instructor at the beginning of the semester.

If you are a student on active duty with the military and experience issues that prevent you from participating in the course because of deployment or service responsibilities, contact your instructor as soon as possible to discuss appropriate accommodations.

All written information in this course can be made available in an alternative format with prior notification to the Center for Disability Services (CDS). CDS will work with you and the instructor to make arrangements for accommodations. Prior notice is appreciated. To read the full accommodations policy for the University of Utah, please see Section Q of the Instruction & Evaluation regulations Links to an external site..

If you will need accommodations in this class, contact:

Center for Disability Services
801-581-5020
disability.utah.edu Links to an external site.
162 Union Building
    200 S. Central Campus Dr.
     Salt Lake City, UT 84112

Changes to the Syllabus

This syllabus is not a contract. It is meant to serve as an outline and guide for this course. The syllabus may be modified during the semester to accommodate the needs of the course.

You will be notified of any changes to the Syllabus.

The University of Utah seeks to provide equal access to its programs, services, and activities for people with disabilities.

All written information in this course can be made available in an alternative format with prior notification to the Center for Disability & Access Links to an external site. (CDA). CDA will work with you and the instructor to make arrangements for accommodations. Prior notice is appreciated. To read the full accommodations policy for the University of Utah, please see Section Q of the Instruction & Evaluation regulations.

In compliance with ADA requirements, some students may need to record course content. Any recordings of course content are for personal use only, should not be shared, and should never be made publicly available. In addition, recordings must be destroyed at the conclusion of the course.

If you will need accommodations in this class, or for more information about what support they provide, contact:

Center for Disability & Access

  801-581-5020
  disability.utah.eduLinks to an external site.
 Third Floor, Room 350
 Student Services Building
 201 S 1460 E
 Salt Lake City, UT 84112

The University of Utah values the safety of all campus community members. You will receive important emergency alerts and safety messages regarding campus safety via text message. For more safety information and to view available training resources, including helpful videos, visit safeu.utah.edu.

To report suspicious activity or to request a courtesy escort, contact:

Campus Police & Department of Public Safety

  801-585-COPS (801-585-2677)
  dps.utah.edu
  1735 E. S. Campus Dr.
  Salt Lake City, UT 84112

Title IX makes it clear that violence and harassment based on sex and gender (which includes sexual orientation and gender identity/expression) is a civil rights offense subject to the same kinds of accountability and the same kinds of support applied to offenses against other protected categories such as race, national origin, color, religion, age, status as a person with a disability, veteran’s status, or genetic information.

If you or someone you know has been harassed or assaulted, you are encouraged to report it to university officials: 

Title IX Coordinator & Office of Equal Opportunity and Affirmative Action

  801-581-8365
  oeo.utah.edu
  135 Park Building
  201 Presidents' Cir.
  Salt Lake City, UT 84112

Office of the Dean of Students

  801-581-7066
  deanofstudents.utah.edu
  270 Union Building
  200 S. Central Campus Dr.
  Salt Lake City, UT 84112

To file a police report, contact:

Campus Police & Department of Public Safety

  801-585-COPS (801-585-2677)
  dps.utah.edu
  1735 E. S. Campus Dr.
  Salt Lake City, UT 84112

If you do not feel comfortable reporting to authorities, the U's Victim-Survivor Advocates provide free, confidential, and trauma-informed support services to students, faculty, and staff who have experienced interpersonal violence.

To privately explore options and resources available to you with an advocate, contact:

Center for Student Wellness

  801-581-7776
  wellness.utah.edu
 350 Student Services Building
 201 S. 1460 E.
 Salt Lake City, UT 84112

It is expected that students comply with University of Utah policies regarding academic honesty, including but not limited to refraining from cheating, plagiarizing, misrepresenting one’s work, and/or inappropriately collaborating. This includes the use of generative artificial intelligence (AI) tools without citation, documentation, or authorization. Students are expected to adhere to the prescribed professional and ethical standards of the profession/discipline for which they are preparing. Any student who engages in academic dishonesty or who violates the professional and ethical standards for their profession/discipline may be subject to academic sanctions as per the University of Utah’s Student Code: Policy 6-410: Student Academic Performance, Academic Conduct, and Professional and Ethical Conduct.

Plagiarism and cheating are serious offenses and may be punished by failure on an individual assignment, and/or failure in the course. Academic misconduct, according to the University of Utah Student Code:

“...Includes, but is not limited to, cheating, misrepresenting one’s work, inappropriately collaborating, plagiarism, and fabrication or falsification of information…It also includes facilitating academic misconduct by intentionally helping or attempting to help another to commit an act of academic misconduct.”

For details on plagiarism and other important course conduct issues, see the U's Code of Student Rights and Responsibilities.