ENG H192 – Wi 2003 Syllabus and Daily Schedule Page 1 Engineering H192 Engineering Fundamentals & Laboratory II (4 Credits) Classrooms: HI 206 or HI 346 Hands-on Laboratory: HI 208 Instructors: Paul Clingan Joanne DeGroat John Demel Rick Freuler Mike Miller Clingan.3@osu.edu; DeGroat.1@osu.edu; Demel.1@osu.edu; Freuler.1@osu.edu; Miller.94@osu.edu; HI 223 DL 656 HI 244E HI 244H HI 305 292-8565, 431-1167 (h) 292-2439 292-2427, 901-2996 (h) 688-0499, 436-2202 (h) 292-2080, 854-0675 (h) Lab TAs: James Copus Aaron Lambert Ted Pavlic Jeff Radigan Rajat Taneja Copus.2@osu.edu; Lambert.139@osu.edu; Pavlic.3@osu.edu; Radigan.4@osu.edu; Taneja.5@osu.edu; HI 209 HI 209 HI 209 HI 209 HI 209 688-0436 688-0436 688-0436 688-0436 688-0436 UTAs: Matt Bielozer David Bradway Lori Engelhardt Mike P Johnson Katie Moffitt Jen Nappier Ted Pavlic Matt Reeder Zak Schank Kristen Six Liza Toher Tim Yoder Bielozer.1@osu.edu; Peggy Blake Blake.116@osu.edu; Bradway.3@osu.edu; Shelley Buchholz Buchholz.17@osu.edu; Engelhardt.18@osu.edu; David Hawn Hawn.4@osu.edu; Johnson.2255@osu.edu; Matt Kreager Kreager.14@osu.edu; Moffitt.20@osu.edu; Craig Morin Morin.20@osu.edu; Nappier.6@osu.edu; John Neyer Neyer.3@osu.edu; Pavlic.3@osu.edu; Jeff Radigan Radigan.4@osu.edu; Reeder.54@osu.edu; Joe F Ryan Ryan.311@osu.edu; Schank.1@osu.edu; Eric Schmidt Schmidt.298@osu.edu; Six.17@osu.edu; Sean Smith Smith.3700@osu.edu; Toher.1@osu.edu; Dan Trares Trares.3@osu.edu; Yoder.138@osu.edu; Introduction and Course Organization: Engineering H192 is your second course in engineering problem solving and includes Engineering Problem Solving, Computer Programming, and Engineering Laboratory. This course is the second in a three-course sequence of Engineering Fundamentals and Laboratory and is coordinated with either Math 162G or Math 152A and with Physics 132E/G/J courses. This course meets four times each week for a 108-minute class period Monday through Thursday. For most of the class periods, the class will meet in the scheduled classroom (either HI 206 or HI 346) for a 108-minute session which will have a lecture component followed by a daily exercise or programming/computer lab component. During these scheduled computer lab times, the students are expected to work on the daily assignments related to the lecture topic or on their current Engineering Laboratory project. Students may need some additional unscheduled computer lab time (available in HI 324) to complete their assignments. For one class period in seven out of the ten weeks, the class will go to lab (in HI 208) for a scheduled hands-on laboratory exercise on either Wednesday or Thursday. There will be no hands-on laboratory exercise in the first, eighth, or tenth week of the quarter. ENG H192 – Wi 2003 Syllabus and Daily Schedule Page 2 Course Objectives: Engineering H192 provides the engineering student with a fundamental understanding of problem solving, engineering graphics and communication, computer programming, and laboratory experimentation. Engineering H192 presents concepts of computer programming in an engineering problem solving environment. The emphasis is on problem solving techniques and writing engineering reports. Algorithms are developed for repetitive operations, decision making, and evaluation of alternative courses of action. Various techniques are presented for problem decomposition into manageable modules. Included in ENG H192 are a number of “hands-on” team-oriented engineering laboratory experiments with an introduction to data acquisition and data analysis. A team design project is also included. Programming constructs for implementation of repetitive operations and decision making/branching are developed and presented in a generic as well as programming-language-specific format. Computation/numerical programming is emphasized. Programming concepts are presented in a language-independent manner and implemented in C/ C++. An introduction to MATLAB will also be presented, and there will be some exposure to LabView. Upon completing this course the students will have developed effective techniques for analyzing engineering problems, developing algorithms for their solution, and writing an engineering report on their solution. They will have received a solid grounding in computer programming with C/ C++ and an introduction to MATLAB, and they will have seen examples of alternative languages. They will have programmed and used two major types of computer systems in the College of Engineering: personal computers and Unix-based workstations. Upon successful completion of the course the student should be able to: 1. Understand problem solving methods and procedures in order to solve elementary engineering problems. 2. Develop computer algorithms; construct logic diagrams; prepare, run, and report on computer programs to solve assigned problems using the REGION ONE Computer Laboratory UNIX Workstation computing systems, C/ C++, and MATLAB. 3. Demonstrate a working knowledge of: (1) Terminal or workstation operation; (2) UNIX Command Language; (3) vi and/or other UNIX editor; (4) C/C++ programming language; (5) Interactive programming techniques; (6) Program testing and debugging; (7) Graphic and alphanumeric screen output; (8) An interactive environment for numerical computation, data analysis, and graphics – MATLAB; (9) Data validation techniques; (10) Laboratory procedures and data acquisition fundamentals; (11) Proper documentation and reporting methods. ENG H192 – Wi 2003 Syllabus and Daily Schedule Page 3 4. Set up computer systems to monitor and interact with the physical world, including experiments with data acquisition, real time data analysis, and programmed logic control. Assignments and Grading: Daily assignments will be due at the beginning of the lecture periods. Seven hands-on laboratory problems will be submitted with either formal or memo-style reports. Examinations will include six scheduled 10-minute quizzes, several unannounced hands-on lab quizzes, two 108-minute midterms, and one two-hour final exam. A small design project will be completed during the tenth week. The course letter grade will be based on the sum of the products of average grade received and percent assigned for each of the following areas: Component of Course Grade Daily Assignments (26) Engineering Hands-on Lab Reports (7) Midterm Examinations (2) Quizzes (6) Journal Entries (10) Design Project w/ Documentation (1) Final Exam (1) Percent 26.0% 17.5% 22.0% 12.0% 3.0% 5.5% 14.0% Each student enrolled in the course will receive a letter grade after completion of all parts of the assigned work in a manner that is satisfactory to the course instructor. A minimum grade of 50% is required in every component to receive a passing grade in the course. Daily Assignments, Engineering Laboratory Problems, and Journals: Daily assignments are to be submitted by including a copy of the computer program source code and computer-produced output stapled together with the assignment handout sheet. Due dates are indicated for all daily assignments. A penalty will be assessed for late work. If a daily assignment is turned in late, but within one class period of the time due, its grade may be reduced by 30%. Assignments submitted after one class period past the time due may be given 0 points; however, they will be graded for accuracy. It is suggested that you keep your graded assignments in a 3-ring binder for future reference. A formal report or a memorandum report is to be submitted for each of the Engineering Laboratory problems. Due dates are indicated on the schedule. Late reports will be penalized. All lab reports from the hands-on labs must be submitted whether they are late or not. Journal entries must be submitted electronically to http://feh.eng.ohio-state.edu/journals.html or as otherwise instructed by no later than 11:59 PM each Sunday. In certain special situations, the deadline may be extended (3-day weekends, network or server failure, etc.). Late journal entries will not be accepted. The solution to an assignment or a laboratory problem must represent each student's own work except for work done by students assigned to teams. It is considered unlikely that students working independently will arrive at identical solutions, that is, exactly the same computer programs and results. A UNIX system account is established for each student enrolled in Engineering H192. ENG H192 – Wi 2003 Syllabus and Daily Schedule Page 4 Students are expected to follow all the rules of the computer labs at all times. Each student must use his or her account only. The sharing of files and account information, such as a password, is strictly prohibited. Note also that smoking is prohibited inside any of the buildings on campus and that no food or drink are allowed in the classrooms or labs. Course Materials: (All required, except as noted) ENG H192 Winter 2003 Course Packet Materials (available at COPEZ) consisting of: "Class Notes" "Lecture Notes" "Daily Assignments" Required Text – C How to Program, by Deitel & Deitel, 3rd Edition Required Text – MATLAB – An Introduction with Applications, by Amos Gilat Access-required Text – The New Way Things Work, by Macauly, 1998 Edition (or 1988) Reference Text – Tools and Tactics for Design Teams, by Dominick, et al. Reference Text – A Guide to Writing as an Engineer, by Beer 3.5 inch floppy disks (at least 2) or a 100MB Zip disk Engineering Problem Paper Some Useful On-line Resources The Fundamentals of Engineering for Honors (FEH) Program website: http://feh.eng.oho-state.edu How Things Work references: http://www.howstuffworks.com http://howthingswork.virginia.edu C/C++ Programming resources by others: http://oscinfo.osc.edu/training/C/html http://www.howstuffworks.com/c.htm http://devcentral.iftech.com/articles/C++/default.php http://www.eskimo.com/~scs/cclass/notes/top.html On-line Guides and Tutorials for MATLAB by others: http://www.mathworks.com/products/education/basics.shtml On-line help for working with Excel and Word (and other MS Office applications) by others: http://www.uwec.edu/help The MIT Handy Board: http://handyboard.com ENG H192 – Wi 2003 CLASS DAY PRB. NO. 01-06 Syllabus and Daily Schedule TOPIC Page 5 READING ASSIGNMENT Class organization. Course introduction. (L01) Syllabus Introduction to engineering problem solving techniques and algorithms. Problem identification, requirements for solution, developing and executing plans for solving problems, reporting results. (L02) Structured approach to engineering problem solving: organizing tasks, top-down design techniques, logic diagrams, purpose and types of logic diagrams, flow charts, action diagrams, pseudo code. (L03) The UNIX computing environment. Workstations, UNIX, X windows, networked environment, data & program files, login, vi editor. C program structure. Executable, assignment statements. (L04) Data types in C/C++. int, long, float, double, char. Math operators. Math library: math.h header file. Increment, decrement operators. Shortcuts. (L05) CN Sec. 1, 2, 3, DD Chap. 1 DUE 01-07 E1 01-08 E2 01-09 E3 01-13 E4 01-14 E5 01-15 or 01-16 01-16 or 01-15 01-20 E6 Lab 1 01-21 E7 QUIZ #2. Logical and relational operators. Control statements – branching: if, if-else, if-else if-else. (L08) DD Sec. 3.4-3.6, 4.10-4.11 E6 01-22 or 01-23 01-23 or 01-22 E8 Control statements – branching: switch-case. The break statement. (L09) DD Sec. 4.7, 4.9 E7 Engineering Laboratory – Digital Circuits. Write-up on FEH website, TWTW 340-341 Lab 1 DD Sec. 3.1-3.10, CN Sec. 9 E1 CN Sec. 4, 5, 7, 8 E2 DD Sec. 2.5, 2.6, 3.11, 3.12 E3 QUIZ #1. Writing algorithms in computer language. Input and output functions in C: scanf, printf, getc, putc, getchar, putchar. stdio.h and stdlib.h header files. (L06) Data files in C. Opening, closing: fopen, fclose. Reading, writing: fscanf, fprintf. (L07) DD Chap. 9 E4 DD Sec. 11.111.5 E5 Engineering Laboratory – Data Acquisition Principles. Write-up on FEH website, TWTW 310-315, 320-321 No Classes – Martin Luther King Holiday. Lab 2 Key to abbreviations: CN = Class Notes; DD = Deitel & Deitel; MAT = MATLAB – An Introduction with Applications; TWTW = The New Way Things Work ENG H192 – Wi 2003 CLASS PRB. DAY NO. Syllabus and Daily Schedule TOPIC Page 6 READING ASSIGNMENT DUE 01-27 E9 Control structures – Repetition: indefinite iteration, while, do-while loops; definite iteration, for loops. (L10) DD Sec. 3.7-3.9, Chap. 4 E8 01-28 E10 DD Chap. 6 E9 01-29 or 01-30 E11 QUIZ # 3. Arrays – Assigning values to array elements, character strings, processing array data. (L11) User-written function sub-programs. Function prototypes, the return statement, returning one value. (L12) Scope of variables. (L13) DD Sec. 5.1-5.12 E10 01-30 or 01-29 Lab 3 Engineering Laboratory – Product Dissection and Analysis. Write-up on FEH website, TWTW 14-15, 36-39, 274-275, 280-281 Lab 2 02-03 MIDTERM EXAM #1. 02-04 E12 Pointers. Functions returning more than one value, referencing and de-referencing variables. (L14) DD Chap. 7 E11 02-05 or 02-06 02-06 or 02-05 02-10 E13 Pointers. Use of pointers in array processing. Using a C program to analyze experimental data. (L15) DD Sec. 7.8, 7.10 E12 Lab 4 02-11 Engineering Laboratory – Analog Electronics: A DC Write-up on FEH Power Supply. website, TWTW 106-119, 160-163 Characters and strings. ctype.h, stdlib.h, stdio.h, DD Chap. 8 and string.h library functions. (L16) Lab 3 E16 QUIZ #4. Preprocessor directives, macros, user libraries, user header files. (L17) E15 02-12 or 02-13 E14 Introduction to MATLAB. Syntax, operators, useful MAT Sec. 1.1commands, vectors and matrices, simple plotting. 1.8, 2.1-2.9, 3.13.2, 5.1, 5.4 (L18) E16 02-13 or 02-12 Lab 5 Engineering Laboratory – Stress and Strain. Lab 4 E15 DD Sec. 13.113.5, 13.7 Write-up on FEH website Key to abbreviations: CN = Class Notes; DD = Deitel & Deitel; MAT = MATLAB – An Introduction with Applications; TWTW = The New Way Things Work E13 ENG H192 – Wi 2003 CLASS DAY PRB. NO. 02-17 E22 02-18 02-19 or 02-20 02-20 or 02-19 02-24 Lab 6 Syllabus and Daily Schedule Page 7 READING ASSIGNMENT DUE MATLAB script M-files. Simple keyboard input and screen output. (L19) MAT Sec. 4.1-4.7 E14 E23 MATLAB function M-files. Use of MATLAB for data analysis. (L20) File transfer techniques. (L20A) MAT Sec. 6.16.10 E22 E24 MATLAB logical and relational operators, MATLAB selection and repetition structures. (L21) MAT Sec. 7.17.7, 3.5-3.6 E23 Engineering Laboratory – Aerodynamics and Propulsion. Write-up on FEH website Lab 5 E25 More MATLAB plotting. Element-by-element operations. Solving simultaneous equations with MATLAB. (L22) MAT Sec. 5.15.10, 3.3-3.4 E24 02-25 E17 QUIZ #5. Data structures: struct, union. Defining, initializing, accessing, using data structures. Enumerated data types: enum. (L23) DD Chap. 10 E25 02-26 E18 C++ enhancements to C. (L24) DD Chap. 15 02-27 E19, Hand Out 1 C++ classes and data abstraction. (L25) Programming the Handy Board. (L26) DD Chap. 16 E17, Lab 6 E18, Lab 6 03-03 TOPIC MIDTERM EXAM #2. 03-04 E20 C++ stream input/output. Screen and file I/O, iostream.h and fstream.h header files. (L27) DD Sec. 21.121.5 E19 03-05 or 03-06 E21 C++ stream input/output. Stream manipulators, format states, error states. User defined types. (L27) DD Sec. 21.621.8 E20 03-06 or 03-05 Lab 7 Engineering Laboratory – The Stoplight. (Computer Write-up on FEH control of a physical device.) website Key to abbreviations: CN = Class Notes; DD = Deitel & Deitel; MAT = MATLAB – An Introduction with Applications; TWTW = The New Way Things Work Hand Out 1 ENG H192 – Wi 2003 CLASS DAY PRB. NO. Syllabus and Daily Schedule TOPIC Page 8 READING ASSIGNMENT DUE 03-10 Hand QUIZ #6. C++ inheritance and overloading. (L28) Out 2 Software Design Project (SDP). Introduction & preliminary design. (L29) Handout 2 E21 03-11 Software Design Project. Documentation and code. (L30) Handout 2 03-12 Software Design Project. Test and debug. Lab 7 03-13 Summary and review for final exam. Course evaluation and assessment. (LFX) SDP Key to abbreviations: CN = Class Notes; DD = Deitel & Deitel; MAT = MATLAB – An Introduction with Applications; TWTW = The New Way Things Work Final Exam will be: For 07:30 am Section – Tuesday, March 18, 07:30 am to 09:18 am. ( in your regular For 09:30 am Section – Tuesday, March 18, 09:30 am to 11:18 am. classroom ) For 11:30 am Section – Tuesday, March 18, 11:30 am to 01:18 pm. For 01:30 pm Section – Tuesday, March 18, 01:30 pm to 03:18 pm. For 03:30 pm Section – Tuesday, March 18, 03:30 pm to 05:18 pm. Accrediting Board for Engineering and Technology - Program Criteria Engineering programs must demonstrate that their graduates have: (a) an ability to apply knowledge of mathematics, science, and engineering (b) and ability to design and conduct experiments, as well as to analyze and interpret data (c) an ability to design a system, component, or process to meet desired needs (d) ability to function on multi-disciplinary teams (e) an ability to identify, formulate, and solve engineering problems (f) an understanding of professional and ethical responsibility (g) an ability to communicate effectively (h) the broad education necessary to understand the impact of engineering solutions in a global and societal context (i) a recognition of the need for, and an ability to engage in life-long learning (j) a knowledge of contemporary issues (k) an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice Introduced in this course: Yes Yes Yes Yes Yes Yes Yes No No No Yes