Course Assessment Report College of Engineering, The University of Iowa (Revised 26 October 2009) Course # and Name: 059:006 Engineering Problem Solving II Semester and Instructor: Spring 2009, Geb Thomas, Xiaodong Wu, Terry Braun Coordinator: Geb Thomas, IE Department Student Head Count: 382 Teaching Assistants Head Count and FTE: 8 (4 FTEs) Catalog Description: Engineering problem solving using computers; introduction to digital computations, problem formulation using a procedural high-level language; structured, top-down program design methodology; debugging and testing; introduction to use of software libraries; examples from numerical analysis and contemporary applications in engineering. Corerequisite: 22M:031. I. Course Goals and Program Outcomes Indicate the Program Outcomes associated with each Course Learning Goal along with the extent (moderate or substantial) of these associations Course Learning Goal 1. Students will have a thorough understanding of the for, while and do-while looping structures using the C programming language. 2. Students will have a thorough understanding of logical operators (AND, OR) and selection statements using the C programming language. 3. Students will understand how to design, implement and test an algorithm to solve an engineering problem using the C programming language. 4. Students will understand how to use functions to divide an algorithm into component pieces using the C programming language. 5. Students will be able to demonstrate goals 1-5 using MATLAB. Program Outcome a(●), e(●), k(●) a(●), e(●), k(●) a(●), e(●), k(●) a(●), e(●), k(●) a(●), e(●), k(●) Notes: ○ denotes moderate contribution to the outcome ● denotes substantial contribution to the outcome II. Program Outcomes (provided for reference). New graduates from the College of Engineering Undergraduate Programs will have: (a) an ability to apply knowledge of mathematics, science, and engineering (b) an 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 within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability (d) an 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, economic, environmental, 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. III. Assessment Part A. Log of Recent Improvements, Recommendations and Comments. Append a brief, dated, summary of improvements and recommendations made during the current offering along with motivations and significant comments. If the course is meeting its objectives and no comments are needed, say this. Six year and older entries may be deleted. SUMMARY OF PRIOR REMEDIATION ACTIONS: (and their estimated effect) In 2006, the staff felt that the discussions sections should be held in classrooms with computers. In 2007, the discussion sections were rearranged so that every discussion section occurred in a computer lab. In 2007 the staff addressed students’ complaints that the homework was taking too much time by carefully reviewing each homework assignment to ensure that the problem were not too difficult or time consuming. In addition, practice exams were provided online so that the students could drill themselves on the relevant concepts to ensure that they were properly prepared for the exam. This year students did not complain about the amount of time consumed in solving homework problems. In 2007 we also discussed developing an online tool so that students could assess their basic skills before attempting the homework problem. We developed such a tool, then abandoned it because pilot testing suggested that it did not significantly improve the student experience, primarily because the tool was too complex. In 2007 we discussed moving all discussion sections to a classroom in which each student will have their own laptop. This was achieved and the discussion sections went quite well and the students enjoyed the programming experience. In 2007 we changed the syllabus to eliminate the concentration on pointers and structures in order to increase the course’s emphasis on design and the study of MATLAB. Student comments and the experience of the professors suggests that this approach leaves holes in the exposition. We plan to modify the course substantially next year and continue to avoid pointers, in the hope that the revisions may satisfactorily cover the holes in the exposition. In 2008 we substantially changed the structure of the course by eliminating lectures, dividing the course into six sections and holding these sections in the laptop classroom in 2, 1:15-length sections each week. In addition, the course learning goals recommended in the previous Course Assessment Report were adopted. RECOMMENDED CHANGES TO COURSE LEARNING GOALS: Last year we recommended that the course goals be changed to the following. Students will have a thorough understanding of logical operators (AND, OR) and selection statements using the C programming language. Students will understand how to design, implement and test an algorithm to solve an engineering problem using the C programming language. Students will understand how to use functions to divide an algorithm into component pieces using the C programming language. Students will be able to demonstrate goals 1-5 using MATLAB. Part B. Quantitative Assessment Results. Enter in the table below an assessment of the percentage of passing students achieving mastery (B+ to A+ level achievement), competency (C- to B level achievement) or exposure (D- to D+ level achievement) for each course learning goal. To make room for the rightmost “new” entry, delete the leftmost “old” entry. SP 2009 Course Learning Goal And Assessment Basis 1. Students will have a thorough understanding of the for, while and do-while looping structures using the C programming language. 2. Students will have a thorough understanding of logical operators (AND, OR) and selection statements using the C programming language. 3. Students will understand how to design, implement and test an algorithm to solve an engineering problem using the C programming language. 4. Students will understand how to use functions to divide an algorithm into component pieces using the C programming language. 5. Students will be able to demonstrate goals 1-5 using MATLAB. M C E M C E M C E M C E M C E The arrangement above is new and we didn’t organize the grading system to collect this data. However, we had already planned to compare questions from past exams with the questions on the second midterm and final exam from this year to see what impact, if any, the new teaching style had on student performance. Overall the students did 7% better on the repeated question in 2009 than they did in 2008. 2009 Exam Comparison 2nd Midterm Final Final 2008 2008 2008 2nd Midterm 2006 2nd Midterm Final 2008 2008 2nd Midterm 2006 Question Topic C Arrays C I/O (fopen) Matlab Matrices C Strings (strncat) C 2D arrays C array passby-ref/ passby-value C array Part C. Please attach a current syllabus. Previous Correct Rate 45 23 95 2009 Correct Rate 77 60 81 Difference 72 56 -16 80 89 93 83 13 -6 92 94 2 32 37 -14 59:006 Engineering Problem Solving II, Spring 2009 Course Policies and Procedures Instructors: Your instructors are Geb Thomas (8:05-9:20, 9:30-10:45), Xiaodong Wu (10:55-12:10, 1:052:20), and Terry Braun (2:30-3:45, 3:55-5:10). Geb Thomas: Geb-Thomas@uiowa.edu Xiaodong Wu: xiaodong-wu@uiowa.edu Terry Braun: tabraun@eng.uiowa.edu 5318 SC Office hours: TBD Course Description: An introduction to programming using the C programming language and MATLAB. Students learn how to plan, execute, diagnose failures, and iterate through a logical design. The C language programming introduces low-level concepts of data types, logic flow, and compiling programs, while the MATLAB portion emphasizes interactive manipulation of complex data to solve engineering problems. Learning Objectives: 1. Students will have a thorough understanding of the for, while and do-while looping structures using the C programming language. 2. Students will have a thorough understanding of logical operators (AND, OR) and selection statements using the C programming language. 3. Students will understand how to design, implement and test an algorithm to solve an engineering problem using the C programming language. 4. Students will understand how to use functions to divide an algorithm into component pieces using the C programming language. 5. Students will be able to demonstrate goals 1-5 using MATLAB. Background: This course is being redesigned. The new design will have six sections with two meetings per week. Rather than having hourlong lectures, the course will meet in a computer lab. Each day students will prepare by 1) completing a reading assignment and 2) completing on-line quiz. The class will begin with a discussion led by the professor, followed by an in-class programming exercise. At the end of the class, students will complete another on-line quiz to demonstrate that they mastered the material in the daily assignment. During the summer, the schedule is compressed so the class meets four times a week rather than twice a week. Textbooks: This course will use two textbooks: C How to Program, by Deitle and Deitle, 5th Edition, Prentice Hall Publishers, ISBN: 978-0132404167; and an Introduction to Matlab 7 by Etter ISBN: 0-13-1474792-8. Both are available in the University Book Store in the Student Union. Getting Help: The in-class assignments are designed to create opportunities to ask the professor and TA's your programming questions. The at home assignments are designed to be completed by yourself. If you need extra help, please visit the TA or professor during office hours or send an email. Computer Accounts: You will need an account on the college's Computer Support Systems (CSS) infrastructure. If you do not already have an account, see http://www.icaen.uiowa.edu for instructions. Assignments: You will normally have 1 reading assignment, one on-line reading quiz, and one on-line inclass quiz for each class meeting. Approximately every 2 weeks (this may very depending on difficulty) you will also have one homework assignment. Homework assignments are to be worked on individually, unless explicitly stated otherwise. While you may discuss possible solution approaches with other students, the work you turn in for grading must be your own. Specifically, you must type every character of every program yourself. Unless otherwise stated, all homework should be turned in to ICON by the time specified on ICON. If you complete your in class assignment early, you are encouraged to help other students. Don't expect to hurry through your work and leave class early. Honors: You can receive honors for this course if you complete 6 "challenge" problems, in addition to assigned bi-weekly homework problems. The form is on ISIS and students will find the form under Student Records -> Reports and Documentation -> Honors Designation for Course Work You need to print this form out and follow the instructions -- including having it signed by the instructor at the beginning of class, and after you complete the "challenge" problems. Exams: There will be two (2) exams and a final exam. These will be scheduled outside of class. Makeup Exams: For those having verified conflicts with the exam schedule, makeup exams will be arranged on an individual basis. In order to arrange a makeup, you must contact your instructor or TA by email at least one week prior to the scheduled test date. Serious illness, of course, is an exception to this policy. All cases of sudden illness must be verified with a Doctor's note through the Dean's office to arrange an "after the fact" makeup exam. Approval of verified conflicts will be at the discretion of the instructor. Retrieval of Graded Materials: All exams will be individually returned in your class. Please allow a minimum of one week for grading of exams and homework assignments. Final Course Grading: The breakdown of the parts that contribute to the final grade are as follows: Homework (outside of class) Reading quizzes In-class programming submissions Programming quizzes 15% 10% 10% 10% Midterm 1 15% Midterm 2 15% Final 25% Incompletes: A grade of "I" will be given only for cases in which there are documented circumstances beyond the student's control; it is not a substitute for "F". Academic Honesty (Cheating): You should already know the College of Engineering policy on cheating. It applies to this class. Also note that if two assignments are similar enough to represent the same piece of work, both assignments will receive a grade of zero. We will not distinguish between the original and the copy. DO NOT COPY someone else's homework and turn it in with your name on it. If we determine that you have collaborated with anyone else (past or present), you will receive a zero for the homework and possibly more serious penalties. Because this has been a problem in the past, we have been specifically requested to be strict about this policy and actively identify unethical students. Remote Access: A client is available for download from http://www.nomachine.com This client, called "NXClient" (Windows, Mac, or Linux) allows you to access the development environment that is used on the laptops in 2229 SC. For server, use: desktop.engineering.uiowa.edu Persons With Disabilities: We would like to hear from anyone who has a disability which may require some modification of seating, testing or other class requirements so that appropriate arrangements may be made. Please see the professor or teaching assistant after class or during office hours. Privacy: Grades and other class data will be posted on ICON. Your grade information will be only available to you, although statistical information about all the students' grades will be available to all students. If the grades are not yet posted on ICON, you can assume that they are not yet available. Class Participation: Please feel free to ask questions when you don't understand something that is presented in the lecture or in the Discussion Section. Further, more material will be covered in lecture than is simply "in the book." You are responsible for all reading and all material presented in lecture. Reading Assignments: Take them seriously and always attempt to complete reading before class each day. Recommendations for Success Do master material. Try to work out examples from the book, even if we didn't get to cover them in class. Do the reading diligently. Do outline notes and reading. Review the text, your homeworks, and lecture notes to prepare for exams. Don't get behind! Don't simply cram for exams -- keep up all the way along. Don't just study problems. The concepts in this course can be tested through asking you to solve original problems on exams. Be prepared to think. Do take advantage of office hours to get extra help. Communicate with your instructor or discussion section leader if you are getting into trouble. Don't wait until the last minute to do this. Do keep backup copies of your computer files. Don't wait until the last minute to submit your assignment electronically. Finally, a note of warning. This is a demanding, difficult course -- if you work hard. If you do not work hard, or get behind, it is not hard -- it is impossible. Do not get behind. Start work on assignments as soon as they are given. Do not underestimate the demanding nature of this course. Expect the system to crash the night before your program is due. Aim to have a homework assignment done the day before it is due. This practice will be important when you get a job. After you graduate, your boss will not be impressed by claims that you lost your files because the system went down. He or she will simply expect you to deal with it, or better yet, to have planned ahead to overcome unforeseen problems.