Russ College of Engineering and Technology

Mechanical Engineering Department

ET181:Computer Methods in Engineering - 1 - Fall 2011 Calendar
<http://www.ohio.edu/mechanical/programming>

Class 11496, (ET581N: Class 18742), Urieli, ARC 106, 4:10 - 5:00 p.m., Mon, Wed, Friday.
Lab - Stocker 190 - Tuesday - Class 11500: 1:10 - 3:00 p.m, Class 17121: 3:10 - 5:00 p.m

Purpose: A first course in procedural / object-oriented engineering computer programming and problem solving using the ANSI C++ language on a networked workstation environment. We use a computer server in Room 298 Stocker Center named "condor".

Prerequisite: Math 163A, Math 263A, or equivalent. For those of you who do not have previous computer programming experience, during the first two weeks you will probably feel overwhelmed and rather lost. This is normal. Try to spend as much time as possible in the lab going over the examples and getting help from your colleages, lab tutor, and instructor.

Web Resource: This course is associated with Blackboard 9 currently used in OU, however has an independent website. Blackboard will be used mainly for posting announcements, grades and email communication.

Course Textbook: "Problem Solving, Abstraction, and Design Using C++", by Frank L. Friedman and Elliot B. Koffman, Addison Wealey, (either Third Edition 2000, Fourth Edition 2004, Fifth Edition 2007 or Sixth Edition 2009). We will cover most of the first ten chapters of the book. The various relevant examples in the book have been uploaded onto "condor" and augmented with examples and labs developed by your instructor.

Course Outcomes (including ABET Outcomes)
  • An ability to apply knowledge of Engineering Sciences including fundamental skills in computer methods [Competence]
    • An abilty to write program code in a basic procedural/object-oriented language including
      • 1. Storage of floating point and integer variables, limits of storage, magnitude, precision
      • 2. Structured programming methods including library and user defined functions
      • 3. Control statements including if, if else, and while and for loops
      • 4. Use of arrays, strings, reading from and writing to external data files
      • 5. Two dimensional plotting af data.
    • An ability to write procedural/object-oriented computer programs to solve basic engineeing problems, including
      • 1. classes and objects to define engineering systems (methods, private and public variables).
      • 2. functions to perform engineering calculations.
      • 3. functions to simulate the performance of engineering systems.
      • 4. functions to apply basic numerical methods such as root finding or numerical integration.

Attendance policy: Attendance at the lectures is not compulsory, however if you do attend classes you should remain for the entire class period or not at all. If you need to leave a class early then let the instructor know beforehand. Please do not come late for class, and please turn off all cellphones before entering the classroom.

Computor Laboratory: Stocker Center rooms 190, 192, 194 and 195. The two formal 2-hour lab sessions are scheduled in room 190 every Tuesday at 1:00 pm and 3:00 pm. There are no scheduled lab sessions for programming assignments and you will be expected to do your assignments in your own time. Note that the condor computer can also be accessed through the internet, as is described in Lab 1

Programming Exercises: There are six programming exercises scheduled for this quarter, each worth 80 points. They are all based on a common engineering theme which is intuitively obvious, however is nonlinear and requires a numerical computer approach to solution. This quarter the theme will be on Human Powered Vehicles

Programs are due at 10am on the posted due date. Shortly thereafter a master program automatically compiles and executes your program exercise, and printouts are automatically generated. You do not need to hand in listings of your programs. Some of the lab sessions are directly related to the current programming exercise, hence it is important to attend all the lab sessions. For a list of the assignments type hw on condor. Note: If your program did not compile or could not be graded you will be allowed to resubmit it up to two days later (and suffer a reduction in grade). During the quarter you are only be allowed three resubmissions.

Quizzes: There are eight quizzes scheduled for this quarter. These normally take up the last 15 to 20 minutes of the Friday class period and in all cases require the actual writing of C++ program code. Typically a partially complete program would be presented and you would be requested to complete the program. Following the completion of the in-class portion of the quiz you will have the weekend to complete the computer solution of that quiz on condor. Each quiz is graded out of 25 points, of which 10 points are assigned to the computer solution of the quiz. There is no makeup allowed for the quizzes - if you have a valid reason to miss a quiz then please let the instructor know beforehand.

Final Exam: The 2 hour Final exam includes the in-class writing of C++ program code only, and is worth 200 points. Since the Final exam is comprehensive, it's grade replaces the eight quiz (test plus program) grades if it is higher. This is explained in the (partial) computer program class definition shown below.

Labs: Eight of the nine labs count for 15 points each. The lab grade can only be received for work done during the specific lab session and demonstrated or handed in to your lab tutor. In previous quarters the lab tutor has given bonus points to those students who (during at least 5 labs) remain and help their colleagues after completing their own labs.

Academic Dishonesty: In all assignments and examinations the work you submit must be your own. Plagiarism in any form will result in penalties ranging from zero on an assignment to submission to the Judiciary for possible suspension.

Anonymous Feedback: Please use this form often to give us feedback on how the course is progressing or any problems that you are having. Your identity is protected when you use this form - your instructor receives your comments in an email message from an anonymous sender.

Instructor:
Israel Urieli -- Room 265 Stocker Center, phone 593-1560, email: urieli@ohio.edu
Office Hours: 3:00 - 4:00 p.m. Monday, Wednesday, Friday, and 11:00 - 12:00 p.m. Tuesday and Thursday. Otherwise email the instructor to make an appointment.

Grading method: From the above description we notice that there are four components to the complete grade, being the quiz, endterm, program and eight of the nine labs, Together these amount to 1000 points. of which we find that 680 points are due to actual programming on condor, and 320 points are due to in-class writing of C++ code.
Try to understand how the grade is determined from the following C++
partial class definition. In particular the method finalmark() determines the total points, and the method finalgrade() determines the final letter grade. The complete program file is named grade.cpp and can be found in directory /home/condor/et181/week4, and will be discussed during the fourth week of class.

class Grade{ // (partial) - evaluate the student's final letter grade
private:
   int quiz, // the total of all 8 quizes        (max 200 points) 
       endterm, // the endterm test mark         (max 200 points)
       program, // the total of all 6 programs   (max 480 points)
       lab; // the total of 8 selected labs      (max 120 points)
public:
   int finalmark() // evaluate the student's final mark
   {
      int test, total;
      if(quiz > endterm)
         test = quiz + endterm;
      else
         test = 2 * endterm;
      total = test + program + lab;
      return (total); // maximum 1000 points
   }
   //=============================================================
   void finalgrade(int total) // display the student's final grade
   {
      if(total >= 930)
         cout << "total: " << total << ", grade: A. Jolly good show!\n";
      else if(total >= 900)
         cout << "total: " << total << ", grade: A-\n";
      else if(total >= 870)
         cout << "total: " << total << ", grade: B+\n";
      else if(total >= 830)
         cout << "total: " << total << ", grade: B\n";
      else if(total >= 800)
         cout << "total: " << total << ", grade: B-\n";
      else if(total >= 770)
         cout << "total: " << total << ", grade: C+\n";
      else if(total >= 730)
         cout << "total: " << total << ", grade: C\n";
      else if(total >= 700)
         cout << "total: " << total << ", grade: C-\n";
      else if(total >= 670)
         cout << "total: " << total << ", grade: D+\n";
      else if(total >= 630)
         cout << "total: " << total << ", grade: D\n";
      else if(total >= 600)
         cout << "total: " << total << ", grade: D-\n";
      else
         cout << "total: " << total << ", grade: F. Hard cheese old chap\n";
   }
};

 Ohio University
Athens, OH 45701
(740) 593-1553
mechanical@ohio.edu

 Copyright © 2010 Ohio University

All Rights Reserved.