University of Ontario Institute of Technology Faculty of Engineering and Applied Science ENGR1200U: Introduction to Programming for Engineers COURSE OUTLINE Dr. Shahryar Rahnamayan Office: Building U5, room: 27 Email: Via WebCT Office hours: Fridays 10:00AM - 1:00PM Teaching Assistants 1) Mr. John Khalil 2) Mr. Ali Esmailzadeh 3) Ms. Kimia Kazemi 4) Mr. Musharaf Rabbani 5) Mr. Fahim Javid Office: 4th floor of the Library Email: Via WebCT Office Hours: TBA Course Objectives This course introduces students to general computer programming principles. Topics include personal computer hardware: CPU, memory; input and output devices; data representation; programming languages; structured programming principles; algorithm design; use of loops, functions, arrays, vectors, pointers, and streams; programming in ‘C++’: data declaration, arithmetic and logic operations, input and output. Course Outcomes At the end of the course the students should be able to Explain the main hardware components of personal computers Describe how the various hardware devices and software programs interact to perform the basic functions of a personal computer Explain how application programs manipulate data to produce the desired results Formulate problems for solution by a computer, such as flowcharts, and selection of application programs Describe the main characteristics and benefits of structured programming Write, debug and test programs in C++ to achieve specified outcomes. Prerequisites None Course Organization Three lecture hours and two tutorial hours per week for one semester. Required Course Texts and Other Materials Textbook: C++ for Everyone, 1st edition, Cay Horstmann 1 ISBN 978-0-470- 43720-9 Note: This ISBN version of the book includes the WileyPlus electronic supplements that are required for the course. Students can choose to purchase an online version of the textbook instead of a paper version from Wiley. All students that purchase the paper copy of this particular ISBN version of the text will also receive an access code inside the text book to be able to register to the online portion of the text book material. Software: Microsoft Visual Studio IDE Reference Books and Information Sources WileyPlus C++ for Everyone online exercises Policies and Expectations for the Learning Environment Course content will be delivered through a combination of lectures, in-class activities and assignments. Assigned activities will include Web-Centric e-Learning components. Some of these will be performed in class, whereas others are to be performed outside of class. Some in- and outside activities might be graded, others serve to self assess your acquired knowledge. It is expected that to be successful, students will attend and participate in class & tutorial and perform all required online and homework assignments. There is a WebCT-based web page for the course, which include a constantly updating calendar of course milestones, assignment, test dates and further information. Students are expected to inform themselves regularly about course requirements. Communication with the professor through electronic means will be through WebCT only. EMail to other accounts to the professor might not be answered in a timely fashion. The professor will attempt to answer to E-Mails/Discussion Postings through WebCT in a timely fashion (<= 2 week days). Provocative or demeaning contributions to electronic media might be removed or ignored. Contributions to discussion forums/chat rooms and e-mails that indicate academic misconduct might be used to prove such cases. 2 Data communication on the UOIT computer network during exam/quiz/assignment times might be monitored to detect and prevent inappropriate communication. Suitable computerized means might be used to restrict the functionality of the student laptop in in-class situations to the required software tools of the course. Assignments: Assignments will be available on WebCT. Paper copies of outlines and assignments will not be handed out. Changes to assignments will be announced either in class or via WebCT, but will not be posted on any newsgroup (including WebCT's). We will be using electronic submission of assignments via the WebCT submission system; no other means of submission (e.g., email, hard copies, etc.) will be accepted. Assignment criteria are specified in the detailed assignment descriptions. Read them carefully to be sure that you have fulfilled all aspects of the requirements. Assignments are DUE ON THE DAY AND TIME indicated. Late assignments will be handled as follows: Non-negotiated Late Assignment: An assignment that has been handed in late without prior agreement between the student and the professor to extend the time for the assignment to be handed in will be considered a nonnegotiated late assignment and will be assigned a penalty of 20%, if it is submitted within 24h of the original due date, otherwise a grade of zero will be assigned. Negotiated Late Assignment: An assignment that has been handed in late in accordance with a mutually agreed deadline and penalty (if applicable) will be considered a negotiated late assignment and will be marked in accordance with the mutually agreed terms. Extenuating Circumstances: The professor will consider individually, rare extenuating circumstances, which may cause an assignment to be late. Examples of extenuating circumstances include hospitalization, death of a loved one, traffic accidents, etc. The student must provide documentation to validate the extenuating circumstance. It will be at the professor’s discretion to work out the extension in this situation. 3 Course Evaluation Course Component Percent Mark Quizzes 8% Turingscraft 5% ssignments 20% Midterm 25% Final exam 42% Total 100% of Final Remarks There are 8 pre-tutorial (1% each) quizzes that correspond to the weekly lecture topics. These are questions related to reading assignments for each week in order to prepare for up and coming lectures. The results of these mini-quizzes serve to direct the emphasis in the following weekly lectures. These questions will come primarily from WileyPlus. Turingscraft is a web-based learning tool that allows learning and improving Java coding skills in an interactive fashion. The tool provides feedback about syntactical as well as logical correctness of student submissions. The Turingscraft exercises are allocated and aligned to the chapters in the textbook. Students are expected to perform Turingscraft exercises regularly on a weekly basis. Students must successfully complete ALL exercises in order to receive full marks. There are a total of 4 assignments (5% each). The TAs will discuss the grading policies for the assignments. The midterm will be a closed book, closed laptop test. The final exam will be a closed book, closed laptop test. Assignments are posted on the WebCT course page. Refer for more details such as due dates and times. Note: you MUST pass the final exam to pass the course. 4 Missed Tests and Final Exam - Should a student fail to write a test or the final exam, the instructor must be informed ASAP (via WebCT) and a medical certificate must be sent directly from the Doctor’s Office or Hospital within 5 days by mail or preferably by fax (905-721-3370) to the Academic Advisor of FEAS (and not to the instructor). A medical certificate, obtained from the university Website or WebCT or from the Academic Advisor must clearly state the date, and the names of the student and the doctor/hospital, and the doctor’s/hospital’s phone number and address. - In case of absence from the test, there will be no make-up test. Should the absence (for medical reasons or otherwise) prove to be absolutely legitimate (i.e., backed by strong bone fide evidence), pending instructor’s approval, the weight of the missed test is shifted to the final exam, otherwise the student will get a zero on his or her missed test. - Should the absence from the final exam (for medical reasons or otherwise) prove to be absolutely legitimate (i.e., backed by strong bone fide evidence), the student will write a deferred exam which may be written or oral at the discretion of the instructor. The students who write a deferred exam have additional time to study and a less crowded exam schedule compared to their colleagues who write the final exam during the tight exam period. As such, it is only fair to expect better performance from these students on the deferred exam than on the final exam. Sequence of Instructions This is a planning guide. Your professor may alter the sequence of instructions, the depth of coverage of material, as well as the precise test dates. Students will be given advanced notice, via the WebCT course web sites announcement tool and the WebCT calendar of specific assignment and test dates that apply. In-class labs and tests may be assigned without notice during any scheduled class time. Assigned tasks and tests will have to be completed during the period. The midterm is scheduled for the end of week 7 on Saturday February 27th 2010. You need to make sure that you don’t make arrangements for travel or other leisure activities during this time. Refer to WebCT for more details regarding exact location, and time. 5 Lectures It is highly recommended that all students attend all classes. Week Topic 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Introduction Fundamental Data Types Review exercises Decisions Loops Reading week Review exercises Functions Arrays and Vectors Review exercises Pointers Streams Review exercises Review exercises Textbook Chapter 1 2 1-2 3 4 3-4 5 6 5-6 7 8 7-8 1-8 Laboratories Not Applicable Tutorials Most tutorials, except for the first three, will leverage the online questions from WileyPlus to emphasize the following topics: 1. 2. 3. 4. 5. 6. 7. 8. Learning to use Visual Studio for C/C++ Programming Creating a simple C++ Program Fundamental Data Types Decisions and Loops Functions Arrays and Vectors Pointers Streams - There are weekly tutorials. - A variety of examples will be solved and students’ questions are answered by your TA. Computer Experience and Usage Computers are used heavily for programming and teaching. The standard laptop leased to all students in the program is used in this course. It is required that the laptop is brought to each of the classes. 6 Course Content Breakdown (following categories defined by the Canadian Engineering Accreditation Board’s Accreditation Criteria and Procedures report, available at http://ccpe.ca/e/files/report_ceab.pdf) Mathematics: Basic Science: Engineering Science: Engineering Design: Complementary Studies: Total: ~0% ~0% ~100% ~0% ~0% 100% Notes to Remember - If you must send an e-mail to the instructor, then send it via WebCT. It is highly recommended that if the students have any questions or concerns whatsoever, they should discuss them with the instructor during his office hours, rather than sending him e-mails. Understanding a situation or solving problem or providing advice can always be more effective in person. Should you have a general question about the course or need to discuss a problem via WebCT, students must send emails to the TAs. - It is advised that students print the lecture notes from WebCT before they come to the class, and then add their own understanding to the notes during the lectures. - All assignments must be written very legibly, if something cannot be read, then that cannot be marked. - Missing a tutorial equals to missing a quiz (1% of the final mark). - Any student who gets 90%+ (A+) in this course can ask for and expect a very good letter of recommendation/reference when he or she is looking for a job or applying to a graduate program or applying for a scholarship. Other Information SOME IMPORTANT GENERAL INFORMATION OF RELEVANCE TO THE COURSE Academic Integrity and Conduct UOIT is committed to the fundamental values of preserving academic integrity as defined in UOIT policies and contained in the UOIT Calendar. Students should familiarize themselves with UOIT’s policies and statements in this area. Acts of academic dishonesty, including plagiarism, cheating, aiding others in cheating, and examination impersonation, will be dealt with severely as they threaten the integrity of the academic system and are not acceptable. UOIT and faculty members reserve the right to use electronic means to detect and help prevent plagiarism. Students agree that by taking this course all assignments are subject to submission for textual similarity review to Turnitin.com. Assignments submitted to Turnitin.com will be 7 included as source documents in Turnitin.com's restricted access database solely for the purpose of detecting plagiarism in such documents for five academic years. The faculty member may require students to submit their assignments electronically to Turnitin.com or the faculty member may submit questionable text on behalf of a student. The terms that apply to UOIT's use of the Turnitin.com service are described on the Turnitin.com website. (To read the entire policy, please go to: http://www.uoit.ca/EN/main2/11246/13525/14057/14152/turnitin_policy.html.) Accessibility To insure that disability-related concerns are properly addressed during this course, students with documented disabilities and who may require assistance to participate in this class are encouraged to speak with their instructor as soon as possible. Students who suspect they may have a disability that may affect their participation in this course are advised to go to the Centre for Students with Disabilities (room B297) as soon as possible. Approved by (indicating approval of Faculty’s Curriculum Committee): Program Director’s Name Date: 8