Western University Canada Faculty of Engineering Department of Electrical and Computer Engineering ES1036b PROGRAMMING FUNDAMENTALS FOR ENGINEERS Course Outline for Fall 2012 (September 6, 2012 December 5, 2012) Objectives: This course is intended to establish a foundation for Computer Programming with specific emphasis on Engineering problems and applications. The course will cover the introductory aspects of Object-Oriented Analysis, Design, and Implementation (using C++ programming language) techniques, along with Testing according to the specified requirements of the program. Computer Programming will be treated as part of the Engineering Process, and as such will be contextualized through the course according to the Engineering Profession. General Learning Objectives: Knowledge Base X Individual Work X Ethics and Equity Problem Analysis X Team Work Economics and Project Management Investigation Communication X Life Long Learning Design Engineering Tools X Professionalism X Impact on Society Specific Learning Objectives: Be familiar with the introductory aspects of programming language along with Object-Oriented Analysis, Design, and Implementation (using C++) techniques according to the specified requirements of the program. CEAB Units: ES: 100% Contact Hours per week: 3 lecture hours and 2 laboratory hours Restrictions: Antirequisites: Computer Science 1025A/B, 1026A/B, the former Computer Science 036a/b Prerequisites: Corequisites: Unless you have either the requisites for this course or written special permission from your Dean to enrol in it, you will be removed from this course and it will be deleted from your record. This decision may not be appealed. You will receive no adjustment to your fees in the event that you are dropped from the course for failing to have the necessary prerequisites. 1
Topics: 1. Introduction to Computer Programming. (2 hours) a) Computing system b) Hardware c) Software d) Simple program 2. The software development process. (1 hour) a) Algorithm b) Pseudocode c) Flowchart d) The software development cycle 3. C++ Programming basics (4 hours) a) Constants and variable b) Data types c) C++ operators d) Standard input output operations 4. Statements, Syntax, and Control Structures (5 hours) a) Conditional statements b) Selection statements 5. Modular programming with functions (6 hours) a) Programmer defined functions b) Parameter passing 6. 1D, 2D arrays, and Matrices (4 hours) a) Array implementation b) Arrays and functions 7. An introduction to address variables and pointers (6 hours) a) Address and pointer variables b) Dynamic Memory Allocation c) Pointers and Arrays d) Functions and Pointers e) Functions and address variables f) Functions, pointers and arrays 8. An introduction to Struct, Classes and Objects (6 hours) a) Introduce Struct and object b) Implementation of Struct c) Introduce Class and object d) Implementation of Classes Course Materials: Reference book: Introduction to Programming with C++, 2/E, Y. Daniel Liang, ISBN-10: 0136097200, ISBN-13: 9780136097204 Prentice Hall, 2009. One can use the older version too: Introduction to Programming with C++ (Brief Version), Y. Daniel Liang, ISBN: 0132320495, Prentice Hall, 2007. 2
Evaluation: Maximum Penalties (*) Course Component Weight English Presentation Class Attendance 5% N/A N/A Lab Quizzes 10% (everyone needs to write a QUIZ at the beginning of each lab) N/A N/A Laboratory Assignments 15% 5% 5% (Maximum 10) Midterm examination 20% 5% 5% (closed book, two hours) Final examination (closed book, three hours)) 50% 5% 5% To obtain a passing grade in the course a mark of at least 50% must be achieved on the lab assignment as well as on the final examination. A lab average marks or final examination mark of <50% will result in a final course grade of 48% or less. All work will be marked first for content after which a penalty not to exceed the maximum shown may be applied for lack of proficiency in English and/or presentation. *Use of English Policy: In accordance with the policy of the University, the grade assigned to all written and oral work presented in English shall take into account syntax, diction, grammar and spelling. In the professional life of an engineer, the manner in which oral and written communications are presented is extremely important. An engineering student must develop these skills as an integral part of the undergraduate program. To encourage the student to do so, the grades assigned to all written and oral work will take into account all aspects of presentation including conciseness, organization, neatness, use of headings and the preparation and use of tables and figures. Important Information and date: 1. Attendance to all labs is mandatory 2. Labs are due on the day of your lab 3. Lab Assignment 0: Week of 24/September/2012 4. Lab Assignment 1: Week of 1/October/2012 Note: In each of the following weeks, a new lab exercise will be available 5. Midterm: TBA 6. Final: TBA by the registrar s office Where to find help Help is available during lab hours in the SEB lab. You are free to discuss your course related concern with any of the teaching assistants during the lab period. Help is also available on the discussion board on the course website in Owl. Moreover, you can email your question to the instructor and any of the TAs to get an answer. Note: The discussion board question and email responses will be available within 24hours during the weekdays. 3
Attendance Policy: All classes, laboratories, and tutorials are mandatory, unless otherwise stated. Any student who, in the opinion of the instructor is absent too frequently from class or laboratory periods in any course, will be reported to the Dean (after due warning has been given). On the recommendation of the department concerned, and with the permission of the Dean, the student will be debarred from taking the regular examination in the course. Cheating and Plagiarism Policy: Students must write their essays and assignments in their own words. Whenever students take an idea, or a passage from another author, they must acknowledge their debt both by using quotation marks where appropriate and by proper referencing such as footnotes or citations. University policy states that cheating, including plagiarism, is a scholastic offence. The commission of a scholastic offence is attended by academic penalties which might include expulsion from the program. If you are caught cheating, there will be no second warning. All required papers may be subject to submission for textual similarity review to commercial plagiarism detection software under license to the University for the detection of plagiarism. All papers submitted will be included as source documents on the reference database for the purpose of detecting plagiarism of papers subsequently submitted to the system. Use of the service is subject to the licensing agreement, currently between the University of Western Ontario and Turnitin.com (http://www.turnitin.com) Missed Midterm Policy: If a student misses a midterm test, the test will not be rescheduled. The student must follow the Instructions for Students unable to Write Tests and provide documentation to their Department within 24 hours of the missed test. The Department will decide whether to allow the reweighting of the test; the reweighting means the marks normally allotted for the test will be added to the final exam. If no reasonable justification for missing the test can be found, then the student will receive a mark of zero on the test. If a student is going to miss the midterm examination for religious reasons, they must inform the instructor in writing within 48 hours of the announcement of the exam date or they will be required to write the exam. Faculty of Engineering Policy on Repeating All Components of the Course: Students who are required to repeat an Engineering course must repeat all components of the course. No special permissions will be granted enabling a student to retain laboratory, assignment, or test marks from previous years. Previously completed assignments and laboratories cannot be resubmitted for grading by the student in subsequent years. Internet/Bulletin Board Policy: It is the student s responsibility to read the course website and/or bulletin board and be aware of any information that is posted about the course. If the student fails to act on information that has been posted on these sites and does so without a legitimate explanation (i.e., those covered under the illness/compassionate form), then there will be NO ground for an appeal. Use of Electronic Devices Policy: Students may use laptops only to access the course Owl (powered by Sakai) site during lectures and tutorials. Calculator use is NOT permitted during quizzes and examinations. No other electronic devices (e.g., cell phones, MP3 players) may be used during lectures, tutorials, quizzes, or examinations. 4
Important messages: Please contact the course instructor if you require material in an alternate format or if any other arrangements can make this course more accessible to you. You may also wish to contact Services for Students with Disabilities (SSD) at 661-2111 x 82147 for any specific question regarding an accommodation. Students that are in emotional/mental distress should refer to Mental Health@Western, http://www.uwo.ca/uwocom/mentalhealth/, for a complete list of options about how to obtain help. Course Instructor: Dr. Quazi Mehbubar Rahman, Ph.D, P.Eng., SMIEEE Email: Qrahman@eng.uwo.ca Office Location: TEB361 Consultation Hours: Mondays, Wednesdays and Fridays: 2pm 3.30pm. You can drop by at any other time; in this case, making an appointment (QRAHMAN@eng.uwo.ca) will ensure instructor s availability. Also, you can make an appointment with your TA over email (addresses will be available on the course website on Owl) for consultation. Course Website: login to Owl (powered by Sakai) Please go to https://owl.uwo.ca and click on the "Documentation" link. Follow the steps to join the OWL Documentation site. It is important to "join" this site to have access to all the documentation you need to use the new OWL. Course Schedule: Note: The labs will also be held in SEB-1004 5