MEEN 357 Engineering Analysis For Mechanical Engineering
MEEN 357 Engineering Analysis For Mechanical Engineering
MEEN 357 Engineering Analysis For Mechanical Engineering
Python is the programming language that we will use in this class. It is the fastest growing programming
language in the World today, and as of this year, is being taught in freshman engineering. Spyder is the
IDE that will be used, and it is installed on the computers in the MEEN Computer Lab. No previous
knowledge of programming, in general, or of Python, in particular, is required. Nevertheless, students are
expected to become proficient in the use of this tool by the end of the semester. This typically requires a
great deal of self-learning on the student's part, which is why self-help tutorials are so important.
3. Learning Outcomes
1. Gain programming confidence. Computers are the most widely used tool in engineering.
a. Basic programming (data structures, conditionals, loops, input checks)
b. Reporting (generating plots, tables)
c. Use of integrated development environments (IDE) like Spyder and advanced libraries
d. Overcome threshold of Python’s learning curve (preparation for future courses)
2. Develop a foundational understanding and experience in numerical analysis
a. Solving linear algebraic systems of equations
b. Curve fitting and roots of equations
c. Integration and differentiation
d. First- and second-order differential equations
e. Eigenvalues and optimization
3. Design programs and select appropriate method(s) to solve a given physical or
engineering problem while considering:
a. Finite precision (numerical error)
b. Finite memory (accuracy, convergence)
c. Finite processing speed (number of operations)
4. Practice proper programming techniques. You will seldom if ever be a ‘Lone-Ranger’ (sole-
developer, sole-user). To work in this collaborative arena you will need to become knowledgeable in
the areas of:
a. Design of programs, algorithms and their interfaces
b. Construction of structures (data, subroutines, functions, testing routines)
c. Commenting, useful variable naming
5. Gain experience applying numerical techniques to solve engineering design problems.
Ultimately, our motivation for this entire course is to help you solve engineering problems by using
Assessments: Your progress toward achieving the learning outcomes will be assessed in the following ways.
These pertain to ABET objectives (see below):
Regular homework assignments (approximately weekly) involving hand calculations, programming
and running code, and writing reports. Individual efforts
A mid-term exam assessing your grasp of the fundamentals of the methods taught. Individual
effort, closed book, but with one note sheet and a calculator
Comprehensive final examination for the course, aimed primarily at assessing the student’s
understanding of the fundamentals. Individual effort, closed book, but with two note sheets and a
calculator
4. General Expectations
What you can expect from me:
• To make sure that the homework and exams will be graded within two weeks
• To come prepared to class
• To treat you with respect
• To begin and end the class on time
• To admit to not knowing something, but to search for an answer promptly
• To make myself available to you for both course and career advice
• To maintain confidentiality concerning your performance
• To assign a grade that will reflect the quality of your work and nothing else
• To be honest with you
• To enforce the Aggie Honor Code
Grade Allocation
Homework 500 points Programming assignments to be coded in Python, except for HW 1 which is a
get-to-know-you assignment. A grading script will be used to run programs
you will write for these homework assignments. Each assignment will be worth
50 points
Midterm 250 points There will be one midterm exam scheduled for week 8, covering weeks 1
Exam through the 1st lecture in week 8, including programming. It will be closed
book, but you will be permitted to use a calculator and bring in a note sheet
(one 8½ by 11 sheet of paper). No devices will be allowed that can connect to
the Internet—which includes some calculators
Final 250 points Comprehensive closed book exam. Note sheets (two 8½ by 11 sheets of paper)
Exam and a calculator are permitted. No devices will be allowed that can connect to
Naming conventions for your script file, including the functions they import and export, are all strictly
enforced in each homework assignment, i.e., the interface must be strictly adhered to.
If your code does not run according to the assigned specifications, it is wrong! This could be for something as
insidious as a single character typo.
Do to the sheer numbers of students enrolled, it is virtually impossible for us to provide you with individual
feedback regarding what was done wrong in any particular assignment. Rather, it is the instructor's
intention to provide the students with the grading rubric used for each assignment after the grades have
been issued (ideally one week after the due date). This feedback tool will allow students to ferret out what
they did wrong, and to aid them in determining why they received the points they did. Students can
request from the grader (via an email) their line taken from the grader’s spreadsheet, which specifies what
points were assigned to each task, thereby allowing to student to hone in on the tasks in question.
Part of each homework grade will focus on the student’s programming style, etc. Again, it is not possible
for use to examine all the code that you submit; instead, a dice will be rolled to determine which task is to
be inspected by the grader(s).
• 100% of value if: the grader’s script executes, the output is correct, the figures are correctly
labeled, etc., i.e., the output is in accordance to the assignment
• 75% of value if: the grader’s script executes and the results are correct, but these results are not
displayed, as specified by the assignment
• 50% of value if: the grader’s script executes, but the output is partially wrong
• 25% of value if: the grader’s script executes, but the output is completely wrong
• 0% of value if: the grader’s script does not run (i.e., it crashes) when calling the student’s
functions, etc., as specified by the assignment
Consequently, tasks will tend to have point values that are in multiples of 4.
Grade Disputes
Under rare circumstances, your professor and his grader(s) will make mistakes in the performance of their
duties. We are, after all, human. It is also possible in programming that a very small mistake will cause a
very large error in your results. If you believe that the grade you received is an inaccurate reflection of the
credit you deserve, you may submit your assignment for reevaluation. (Effort does not equate with grade
expectation!) However, you must do this within ONE WEEK of when the assignments were returned to
the class (whether or not you were in attendance that day). Keep in mind, if the submitted code did not
run on the grader's/instructor's machine, you loose 100% of its value—this is not negotiable. The additional
points lost, as established by the rubric, can be disputed, if warranted. The full grade dispute procedure is
outlined below.
Exceptions:
1. If you lost, say, 5 points for something and you feel that you should have only lost, say, 2 points for,
this cannot be disputed. Sure, assigning point values to specific aspects is subjective, but this
'subjectivity' was applied uniformly to all students in your class, not just to you.
University-Approved Absences
Work missed due to absences will only be excused for University-approved activities in accordance with
Texas A&M University Student Rules (see http://student-rules.tamu.edu/rule07). Specific arrangements for
make-up work in such instances will be handled on a case-by-case basis. Please be aware that in this class
any “injury or illness that is too severe or contagious for the student to attend class” will require “a medical
confirmation note from his or her medical provider” even if the absence is for less than 3 days (see 7.1.6.2
Injury or illness less than three days).
If you do become sick, please do not share your bug with your classmates and instructor!
Rather than trying to stifle this interaction, we want to encourage it. From our perspective, a student will
learn far more if they receive a small tip that enables them to complete an assignment than they would by
leaving the assignment incomplete. Since our primary concern is learning, we see this type of collaborative
Naturally, there must be limits to how much you are permitted to help one another. The general rule of
thumb for this course is that the work you submit must be your own, but it is acceptable for you to
receive tips from others on how to complete the work. Examples of permissible collaboration include:
Examples of behavior that is not permissible (and possibly to be considered as academic misconduct):
If collaboration took place, you must submit a statement listing the students with whom you collaborated,
and what you learned from them or helped them with. This will help avoid confusion and protect you
against incorrect accusations of academic misconduct.
Academic misconduct will be dealt with according to University regulations. Any incidence of academic
misconduct will result in a reduction of one letter grade, and your name will be reported to
the Aggie Honor System Office. A second occurrence will result in your receiving an F in the
course and an “Honor Violation Probation”.
a.) An ability to select and apply the knowledge, techniques, skills, and modern tools of the discipline to
broadly-defined engineering technology activities;
b.) An ability to select and apply a knowledge of mathematics, science, engineering, and technology to
engineering technology problems that require the application of principles and applied procedures or
methodologies;
c.) An ability to conduct standard tests and measurements; to conduct, analyze, and interpret experiments;
and to apply experimental results to improve processes;
d.) An ability to design systems, components, or processes for broadly-defined engineering technology
problems appropriate to program educational objectives;
f.) An ability to identify, analyze, and solve broadly-defined engineering technology problems;
g.) An ability to apply written, oral, and graphical communication in both technical and non-technical
environments; and an ability to identify and use appropriate technical literature;
h.) An understanding of the need for and an ability to engage in self-directed continuing professional
development;
i.) An understanding of and a commitment to address professional and ethical responsibilities including a
respect for diversity;
j.) A knowledge of the impact of engineering technology solutions in a societal and global context; and