Course Syllabus
Syllabus
ME EN 1010 Computer-based problem solving for engineering systems
Course Description
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)
|
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
- Sign in or create an account at learn.zybooks.com
Links to an external site.
- 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.
- Laptop computer
- Mechanical Engineering Laptop Computer Policy Links to an external site.
- If your laptop does not have a USB-A port, you will also need a USB-A to USB-C adapter (e.g., this product Links to an external site.).
- MATLAB
- The University of Utah has a campus-wide software agreement that makes MathWorks MATLAB available to students at no cost.
- Follow these instructions
Links to an external site. to install MATLAB on your computer.
- Create your MathWorks account using your u0000000@utah.edu email address.
- Your address in the form u0000000@umail.utah.edu may also work.
- Do NOT use your u0000000@gcloud.utah.edu address!
- This web page Links to an external site. sometimes has a live chat option to get help from somebody at MathWorks.
- If you have trouble installing MATLAB, you can access MATLAB via remote desktop access to a computer in one of the College of Engineering labs (not a good long-term solution):
- Remote Desktop Access instructions Links to an external site.
- Create a CoE/CADE computer lab account Links to an external site. (if you don't already have one)
- You should NOT use MATLAB Online.
- 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.
- University of Utah Google Workspace account
- Go to https://gcloud.utah.edu/ Links to an external site. to log in
- You will need to be logged in to your Google Workspace account to access Google form surveys
- The associated Google Drive (cloud storage) is a great place to save your files in case something happens to your computer and is a great way for you to share code with your project partner (later in the semester).
- Sharing a folder:
- How to Create and Share a Google Drive Folder (by Dr. Mascaro)
- Other resources: (Links to an external site.)
- Share folders in Google Drive (Links to an external site.)
- Share the folder with your partner using their u#######@utah.edu or u#######@gcloud.utah.edu email address
- Make them an editor
- Share folders in Google Drive (Links to an external site.)
- Syncing:
- Webcam & microphone (recommended)
- Some class resources (such as office hours) may be accessible via Zoom or Gather.town, in which case you would need a webcam and microphone.
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
Preferred Contact Methods
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.
Office Hours
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)
Virtual MeetingS
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
- Homework assignments
- 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
Course Policies
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
- Homework: zyBook "labs"
- 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
- Lab assignments
- 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.
- zyBook readings/activities
-
- 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
- Lecture participation activities (activities that accompany the posted lecture videos) (these will mostly be extra credit)
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
Grading for this course
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%) |
University of Utah grading scale
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% |
Additional Requirements
In addition to achieving a passing cumulative score, to receive a passing grade in this course, you are required to:
- Pass the Fundamental Programming Objectives category with a score of 70% or higher.
- Pass the Participation category with a score of 70% or higher.
- 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
Disclaimer
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.
Extreme personal circumstances
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.
Religious Practice
To request an accommodation for religious practices, contact your instructor at the beginning of the semester.
Active Duty Military
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.
Disability Access
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.
University Policies
Americans with Disabilities Act (ADA)
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
Safety at the U
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
Addressing Sexual Misconduct
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
Academic Misconduct
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.
The syllabus page shows a table-oriented view of the course schedule, and the basics of course grading. You can add any other comments, notes, or thoughts you have about the course structure, course policies or anything else.
To add some comments, click the "Edit" link at the top.