Toggle Menu EF 230 - Computer Solutions of Engineering Problems Syllabus

## Course Description EF 230 - Computer Solutions of Engineering Problems (2 credit hours) Primary focus is on development of computer programs in a modern programming language to solve engineering problems. Prereq: EF 105 or COSC 102. Coreq: EF 152 or 158 or PHYS 136 or 138 ## Course Objectives (more details below) - Build programs to solve engineering-related problems. - Apply common MATLAB approaches and conventions and understand common programming practices when creating and evaluating programs. - Manipulate data and present solutions in programming design projects. ## Instructor and Contact Information Dr. Amy Biegalski, Zeanah 363D (biegalski@utk.edu). Josh Fagan (jfagan2@utk.edu), Grayson Northern (gnorther@utk.edu), Caleb Weatherly (cweath12@utk.edu), Matthew Whisenant (mwhisena@utk.edu) **EF Office:** Zeanah 260a, 974-9810 **EF230 Classrooms:** All sections will meet in Zeanah 170/178 ## Website: http://efcms.engr.utk.edu/ef230 - you must have consistent and reliable access to the website. The website contains all learning and assessment material. ## Communication Communication for this course will primarily occur through the course website. Use the course website to check course announcements every class day. Help is available through the Discussion Board, help sessions, and during and after class. Please post questions about the course and assignments to the Discussion Board so the entire class can benefit from the responses. For personal matters, please use email. The help session schedule is posted on the announcements. Dr Biegalski is available via appointment to go over your questions. When emailing, please include your full name, EF230, and your section in your email. ## Grading
  1. (35%) Exams - 4 quizzes (5% each) and a final (15%)
    • Diligent Worker Incentive: If your average quiz score is 80% or higher, you’ll have the option to waive the final.
    • Improvement Incentive: If you score higher on the final than any quiz, that quiz weighting will decrease by 1% and your final weighting will increase by 1%. This applies to each quiz
  2. (30%) Projects - programming projects
  3. (30%) Assignments - prelabs, practice and in-class assignments
  4. (5%) Participation

The course grading is A (>=92),A- (>=89), B+ (>=86), B (>=82), B- (>=79), C+ (>=76), C (>=72), C- (>=69), D+ (>=66), D (>=62), and F (<62).

If you have a final average of xx.5% it will be rounded up to the next percent. Contact Dr Biegalski for grading inquiries. Deadlines including partial credit deadlines are clearly communicated for each assignment. Projects and dropbox assignments display a "Due date for full credit" and an "uploads disabled" date on the dropbox page. A late penalty is imposed after the "Due Date for Full Credit". Projects/Assignments will not be accepted after the "uploads disabled" date and the grade will be entered as a 0. EF Homework system assignment partial credit due dates are shown using the "All due dates" button. No credit will be given beyond the final due date. ## Team Projects In today's engineering workplace, collaboration and teaming are more important than ever. "An ability to effectively function on a team ..." is one of the ABET student outcomes required for accreditation of your degree program. Projects offer an interactive approach to programming and an opportunity for exploration and creativity. You will be evaluated on team activities and lack of participation will result in a penalty or zero on the related grade(s). Because foundational skills are necessary to contribute effectively to team projects, demonstrated proficiency on Module 1 assignments is required for project team members. ## Absence Policy We expect you to attend and participate in class to ensure you have the resources you need to understand the material, complete the assignments, and be successful in the course. You are welcome to attend another section (space permitting). You should not attend class if you are sick, COVID positive, or have respiratory symptoms or a fever. If you miss a class for any reason, complete a [missed class form](https://efcms.engr.utk.edu/ef230/gen/labmiss.php) and indicate a plan for reviewing the learning material and completing the required assignments. For consideration of attendance credit for missed days up to two class days, missed-class forms must be submitted no later than 24 hours after a missed class. For more than two absences submit an [absence notification to the Dean of Students](https://dos.utk.edu/absence-notifications/) (isolating students should fill out [UT's COVID support form](https://www.utk.edu/coronavirus/guides/when-to-self-isolate)) and contact Dr Biegalski to determine a mutually agreed-upon arrangement. Under extraordinary circumstances, missed class forms may be accepted after the deadline. Extensions on assignments will be considered for extenuating circumstances if an extension request is submitted and approved via email to Dr Biegalski (biegalski@utk.edu) before the assignment or project deadline. Notify and work with Dr Biegalski to develop a plan to complete the work. You will not receive an extension if your extension request is submitted after the assignment or project deadline. After being approved for an extension, you MUST email Dr Biegalski when you complete the assignment (by the agreed upon date) so she can grade the assignment and remove the late penalty if applicable. Unless you request and are approved for an extension via email before the posted due date, all missed lab work is due by the posted due date. Attendance is mandatory on class days designated as Team Project Days on the Learning Calendar. If you will miss a team day, in addition to the missed class form, you are responsible for composing an email to all teammates (listed on your control panel) and Dr Biegalski (biegalski@utk.edu) notifying them of your planned absence and your plan to contribute to make up the time missed and how you will update your teammates on the work you completed. Should you have an emergency the morning of the team day, notify your instructor and your teammates as soon as possible. Failure to notify your instructor and teammates and makeup the work will result in a zero for the team assignment(s). Repeated unexcused absences will result in removal from your team and a zero for the team project. ## Quiz and Exam Absence Policy When possible, switch to another timeslot using the posted link on the announcements page prior to the start of your scheduled slot, instead of requesting a makeup quiz. Makeup Quizzes/Exams will be given only for extenuating circumstances: medical emergencies, COVID19 related circumstances, emergency travel, family emergencies, and planned university sanctioned absences. - To schedule a makeup quiz/exam you must complete the **Quiz/Exam absence form** 24 hours prior to the quiz/exam. - Should you have an emergency or COVID related issue the morning of the quiz/exam, complete the missed exam notification form as soon as possible. Makeup requests received after the exam day has concluded will not be considered. - **Valid Documentation** may be required for missed quizzes/exams. Examples of Valid Documentation: Physicians note, documented notification of absence forwarded from the Dean of Students, obituary notice, automobile accident reports, airline/bus ticket/receipt for emergency travel, [UT's COVID support form for isolating students](https://www.utk.edu/coronavirus/guides/when-to-self-isolate) - You **must have permission** to take a makeup quiz/exam. If approved, you will receive a reply with instructions on how to make up the quiz/exam. If you do not receive instructions within 24 hours of the end of the scheduled exam, contact Dr Biegalski. The format and date of the makeup quiz/exam is at our discretion. ## Academic Integrity Each student is responsible for his/her personal integrity in academic life and for adhering to UT’s Honor Statement. The Honor Statement reads: “An essential feature of the University of Tennessee, Knoxville is a commitment to maintaining an atmosphere of intellectual integrity and academic honesty. As a student of the university, I pledge that I will neither knowingly give nor receive any inappropriate assistance in academic work, thus affirming my own personal commitment to honor and integrity.” We encourage students to work collaboratively to learn in our course. Appropriate means of collaboration may include meeting collectively to work on assignments. During collective meetings, all members are expected to participate in discussion and contribute to collective understand and dialogue. The following actions are specifically identified as inappropriate: - Direct copy (in part or in whole) of another class member's assignment or work to turn in as one's own work. - Direct copy (in part or in whole) of a solution provided by anyone outside of our class. This may include (but is not limited to) previous students, tutors, or solutions gathered from websites like Chegg. - Posting on a website, like Chegg, to ask for a solution to an assignment or exam in order to copy the solution (in part or in whole) for submission. - Viewing solutions on a website, like Chegg, in order to submit solutions (in part or in whole) as one's own work for assignments or course exams. - Posting solutions or exam questions to social media, group chat, a website (like Chegg) or other communication means to provide the questions or solutions for others in the course. - Collaboration in ANY WAY during a course quiz or final. - Copying code and submitting it as one's own work (in part or in whole) for dropbox assignments, without recognizing the original code developer. We take inappropriate or unethical work in this course VERY seriously. Inappropriate or unethical work is unfair to those students in the course who follow academic integrity guidelines. It also shows a lack of character in regards to future practice in the engineering profession. EF faculty and staff are dedicated to ensuring integrity of all work conducted throughout our courses and will pursue all means necessary, in partnership with the Tickle College of Engineering, the Dean of Students, and the Office of Student Conduct and Community Standards to ensure an equitable learning environment. Documentation - When you copy code from an external source, either a snippet or an entire module, you must credit the source. For this course, cite the URL and date of retrieval. If you adapted the code, you should indicate “Adapted from:” or “Based on” so it is understood that you modified code that you did not develop. For team projects you are encouraged to view examples from other sources (MATHWORKS File Exchange, help center, etc) but you MUST document the author/source of parts of the code that are not your own and understand what each line is doing. Code will be checked for uniqueness. Examples of uniqueness include commands utilized, sequences of commands, variable names, and comments. When working alone or collectively on an individual assignment, the expectation is that your code is unique. Submitted code will be checked against code from this and previous semesters. Submitted code that does not appear to be original, does not have a properly documented source, or is not functional will be scrutinized via websearch for plagiarism. Any violations of the above guidelines will be considered a violation of the University's honor code and will be dealt with accordingly. ## Digital Learning Policy Technology needs to be utilized in an appropriate manner. The following guidelines should be followed: - Be Respectful and Professional. You cannot use technology in a way that is distracting or harmful to others. This includes viewing content that does not pertain to that day's work as well as any type of behavior that is inappropriate or harmful to others in the class. There is a zero tolerance policy in our course as well as at UTK for any behavior that can be interpreted as harassment or bullying. Respect the diverse backgrounds of your classmates. Personal attacks, offensive language, and hateful comments, including those based on based on disability, language, race, age, religion, gender, sexual orientation, and national origin, will not be tolerated. - Follow device use regulations during quizzes and exams. During quizzes and exams you cannot use a device to communicate with others except instructors. Allowable computer tools are specified during quizzes and exams. Calculators and non-sanctioned software and tools that circumvent the required solution method are prohibited. ## Course Material Copyright The instructors of this class own the copyright to the syllabus, handouts, assignments, quizzes, and exams associated with the class. All presentations developed by the instructors, as well as the instructors' lectures, are also protected by copyright, whether these presentations are delivered live in-class, shared through Zoom or other videoconference platforms, or uploaded to a web site. Sharing any of this material without the written permission of the instructor is a violation of copyright law, and is therefore also a violation of the University’s policy on acceptable use of information technology resources (UT policy number IT0110). That policy states that students will not commit copyright infringement, “including file sharing of video, audio, or data without permission from the copyright owner” and that file sharing is a violation of the university’s student code of conduct. All such violations will be reported to the Office of Student Conduct and Community Standards. ## University Civility Statement Civility is genuine respect and regard for others: politeness, consideration, tact, good manners, graciousness, cordiality, affability, amiability and courteousness. Civility enhances academic freedom and integrity, and is a prerequisite to the free exchange of ideas and knowledge in the learning community. Our community consists of students, faculty, staff, alumni, and campus visitors. Community members affect each other’s well-being and have a shared interest in creating and sustaining an environment where all community members and their points of view are valued and respected. Affirming the value of each member of the university community, the campus asks that all its members adhere to the principles of civility and community adopted by the campus: http://civility.utk.edu/. ## Students with Disabilities Any student who feels they may need an accommodation based on the impact of a disability should contact Student Disability Services (SDS) in Dunford Hall, at 865-974-6087, or by video relay at, 865-622-6566, to coordinate reasonable academic accommodations. ## Emergency Alert System The University of Tennessee is committed to providing a safe environment to learn and work. When you are alerted to an emergency, please take appropriate action. Learn more about what to do in an emergency and sign up for UT Alerts. Check the emergency posters near exits and elevators for building specific information. In the event of an emergency, the course schedule and assignments may be subject to change. If changes to graded activities are required, reasonable adjustments will be made, and you will be responsible for meeting revised deadlines. ## Wellness The Student Counseling Center is the university’s primary facility for personal counseling, psychotherapy, and psychological outreach and consultation services. The Center for Health Education and Wellness manages 974- HELP, the distressed student protocol, case management, the Sexual Assault Response Team, and the Threat Assessment Task Force. ## COVID-19 Guidelines ### Masking With the spread of the Omicron variant of COVID-19, students, faculty, and staff are strongly encouraged to wear masks in classrooms, labs, and for indoor academic events. According to public health authorities, in areas where there is substantial or high COVID transmission, wearing masks in indoor spaces can help reduce transmission of the virus and keep communities healthy. Any individual can choose to wear a mask anywhere on campus, even when it is not required. The university expects everyone to protect others from the spread of COVID-19 and strongly recommends wearing masks in academic and administrative spaces. ### Vaccines The university recommends that all members of the campus community be vaccinated for their own protection, to prevent disruption to the semester, and to prevent the spread of COVID-19. [Vaccination information and appointment signups](https://tiny.utk.edu/vaccine). The Student Health Center medical staff is available to students to answer questions or discuss concerns about vaccines, and the center provides vaccines free of charge for anyone 18 years or older who would like one. ### Sickness or Exposure If students think they are sick or have been exposed to COVID-19, they should contact the Student Health Center or their preferred health care provider. Students can also contact the university’s COVID-19 support team for guidance by filling out the [COVID-19 self-isolation and support form](https://covidform.utk.edu/). Students are advised not to attend class in-person if they have tested positive for COVID-19 and are in the isolation period, if they have COVID-19 symptoms and have not been cleared by a medical provider, or if they are an unvaccinated close contact in the quarantine period. The university recommends that students and employees stay home anytime they do not feel well. If you need to miss class for illness, please contact the instructor (see the absence policy above). You can find more information and updates on the [UTK Covid-19 Information and Support](https://www.utk.edu/coronavirus/) page. ## Campus Syllabus Campus-Syllabus-Spring-2022.pdf ## Additional Resources for students Smokey's Pantry is a food pantry located in Tyson House available for UTK students and staff who need help securing enough food: smokeyspantry.wordpress.com/ ## Course Objectives

We will practice the following skills this semester. Exposing you to the many techniques and capabilities in MATLAB will enhance your ability to use computing tools and languages to solve engineering problems you encounter in your future academic and professional career.

  1. Build programs to solve engineering-related problems
    Use programming operations to calculate solutions
    Determine better and more accurate solutions
    Perform and evaluate algebraic and trigonometric operations using built-in functions
    Assign and manage variables
    Manipulate arrays, implement indexing, understand dimensions
    Generate linearly spaced vectors
    Create and execute a script
    Create and evaluate x-y plots suitable for technical presentation
    Create, test, and execute user-defined functions and local functions
    Apply input validation to functions
    Distinguish between the different MATLAB ‘data types’
    Create and manipulate Structures and Character arrays
    Perform and evaluate relational and logical operations
    Load, analyze, and manipulate images
    Obtain and utilize user input
    Manage and format text output
    Import and export numeric data using other filetypes (e.g. .csv, .xls, and .txt)
    Perform curve fits and interpolation
    Perform numeric and symbolic differentiation and integration
    Solve non-linear systems of equations
    Solve numeric ODE’s
    Build a block diagram in Simulink to perform an operation
    Perform numerical optimization
    Analyze Signals

  2. Apply common MATLAB approaches and conventions and understand common programming practices when creating and evaluating programs
    Note: To meet this objective, you are required to submit WORKING programs on your exams.
    Achieve competency and familiarity with common MATLAB features and methods
    Recognize common programming elements across multiple computer languages
    Utilize debugging techniques: isolate and test sections of a program, suppress or display intermediate operations, write debuggable code, and trace variables to locate errors
    Utilize proper techniques and conventions to manipulate data and name files and variables
    Employ effective and consistent commenting and logical organization to communicate your objective, method, and results
    Implement basic techniques to increase code efficiency: reuse components where possible, remove redundancy (DIE: duplication is evil), and anticipate errors to minimize risk for error

  3. Manipulate data and present solutions in programming design projects
    Demonstrate initiative to self-learn how to use computer based tools/devices
    Demonstrate innovation and creativity in your approach to solve complex problems
    Implement your coding skills to acquire sensor data and program an autonomous response
    Deliver a successful product
    Demonstrate successful teamwork
    Demonstrate effective technical communication to present project data and solutions
## Why learn programming? Engineering problem solving requires a methodical, detail oriented, tenacious approach using available resources and limited by constraints to determinate the best solution. This is a process you'll need to repeat many times as a successful practicing engineer, with or without the use of computer programs. Further, the ability to write, understand, and manipulate code is a skill required by employers that hire engineers. ## Why learn MATLAB?
  • Because of its many strengths, this university and most top engineering schools have selected MATLAB as the computer language to be taught to engineering students.
  • You may find you will need MATLAB in many of your engineering courses at UT.
  • MATLAB can be used to solve a wide range of problems, with the ability to rapidly prototype and visualize data. We will attempt to cover several specific capabilities of MATLAB (robotics, data analysis and acquisition, solving differential equations, optimization, image processing, machine learning databases, etc.).
  • MATLAB includes an extensive amount of built-in toolboxes and functions, without the need to install extra packages
  • MATLAB is easy to learn as a beginner as a gateway to other languages with its robust IDE and live help as you type
  • Even if MATLAB is not your favorite, this course will help you:
    1. Practice problem solving and thinking in a logical, methodical, and detailed manner
    2. Practice using computing tools to solve complex and constrained engineering problems more efficiently.
    3. Gain coding experience to facilitate your ability to learn and apply other coding languages more readily.