MASSEY UNIVERSITY COLLEGE OF SCIENCES Paper Outline 2009 Paper Number and Title: 159.234 Object Oriented Programming Credits value: 15 Semester: 1 Mode: Internal Campus: AL Calendar Prescription: Introduction to Object-Oriented programming; classes, objects, templates, inheritance, polymorphism, iterators, object libraries. Pre-requisites: 159.101 (Programming Fundamentals) Restrictions: 159.211 E-Learning Category: None Paper Coordinator: Dr Napoleon Reyes, IIMS, QA2.56, x9512, N.H.Reyes@massey.ac.nz Other Contributing Staff: None Aim: To enhance programming skills and explore the object-oriented programming methodology. Learning Outcomes: On successful completion a student will be able to: 1. Understand the concepts of objects, inheritance and polymorphism 2. Understand the contents of and be able to use features of the STL(Standard Template Library). 3. Be able to write programs in the C++ Programming language. 4. Have some familiarity with the Java Programming language Assessment: Two assignments and a final examination. Alignment of Assessment to Learning outcomes Assessment Description Learning Outcomes Assessed Assessment Assignment #1 Assignment #2 Assignment #3 Final Exam Deadlines and Penalties: Assessment Assignment #1, #2, #3 1. x x x x 2. x x x 3. Contribution to Paper Mark 4. x x x x x Due Date / Deadline Each assignment will clearly state the deadline for handing it in. 10 % 10 % 10 % 70% 100% Penalty 1 mark per hour or fraction of hour it is late. Programs that do not compile or run in Massey laboratories – 0 marks. It is each student’s responsibility to check their assignment marks and notify in writing any errors they might find no later than 10 days after the day the marks were made available. After that period all marking problems will be solved after the lectures end. Any complaints about the marking of any assignment must be addressed in writing (email may be 1 used) and an appointment must be made with the tutor/lecturer to discuss what was put in writing. The assignments may be completed in groups of up to three students. If the assignment is the product of group-work, then all members of the group should be named in the source/output file of each assignment they contributed. Each group member must work on every piece of the assignment. The group should stay the same for the whole semester. All group members are jointly responsible for the entire assignment. Generally, each group member will receive the same grade. However, in some cases, additional credit may go to those who make an exceptional contribution to an assignment solution and reduced credit to those who contribute little to a project. Students in a team have the authority (in consultation with the lecturer) to "expel" any member that does not meet obligations or contribute to the overall group effort and that student will be required to proceed alone. The collaboration is limited only to members within each group. Similar solutions submitted by two or more different groups will be considered plagiarism and all parties involved will be awarded a mark of zero. Disciplinary action will normally be taken. Deadlines must be adhered to as a solution to assignments will be reviewed in lectures usually two weeks after its deadline. Requirements to Successfully Complete the Paper: To pass the paper with a C grade, an aggregate of 50% of the total assessment is required including at least 30% in the final examination. Learning Programme and Schedule: Assessment Assignment #1 – a simple object-oriented game will be developed that will require a good understanding of objects, inheritance and polymorphism; lectures, tutorials and code snippets will be provided to help the students develop the game Assignment #2 – requires re-architecturing of assignment #1 to incorporate STLs, allowing for more sophisticated functionalities of objects; Tank with bullets and bomb Assignment #3 – Jumping Tank Approximate Due Deadline Mar. 30, 2009 Date / April 27, 2009 May 25, 2009 Student Time Budget: Lectures Assignments Self study Exam preparation Total 36 hours 36 hours 78 hours 37.5 hours 187.5 hours Timetable: Lectures: Mon, 14:00-15:00, AT3 Tue, 14:00-15:00, AT5 Wed, 09:00-10:00, AT3 Tutorials: Fri, 09:00-10:00, Computer Lab QB4 Proposed Feedback and Support for Student Learning: The turnaround time for assignments will be no more than three weeks from the due date. It is important to note that the specified timeframe applies only to those assignments submitted by the due date, and does not necessarily apply to those submitted late. 2 Textbook and Other Recommended Reading: "C++ for C Programmers" Ira Pohl (this textbook is not required, but serves as a reference only) Software: GCC/G++ C++ compiler for Windows; the GCC C++ compiler and editor is available on the IIMS CD and it can be installed on PCs at home. Mac users can obtain the GCC C++ compiler for System OSX from the Apple Developer CD, available from Apple. Java material will be made available on the Web. Additional Costs: None Conditions for Aegrotat Pass and Impaired Performance: If you are prevented by illness, injury or serious crisis from attending an examination (or completing an element of assessment by the due date), or if you consider that your performance has been seriously impaired by such circumstances, you may apply for aegrotat or impaired performance consideration. You must apply on the form available from the Examinations Office, the Student Health Service or the Student Counseling Service. To qualify for an aegrotat pass on the final examination, you must have attempted at least 40% of the total formal assessment and your performance must be well above the minimum pass standard, so that the examiners can be confident that you would have passed the paper if you had completed the final examination. You may also apply for aegrotat consideration for other compulsory assessment elements (such as Semester Tests) that occur at a fixed time and place if you are prevented by illness, injury or a serious crisis from attending. Plagiarism: Massey University, College of Sciences, has taken a firm stance on plagiarism and any form of cheating. Plagiarism is the copying or paraphrasing of another person’s work, whether published or unpublished, without clearly acknowledging it. It includes copying the work of other students. Plagiarism will be penalized; it is likely to lead to loss of marks for that item of assessment and may lead to an automatic failing grade for the paper and/or exclusion from reenrollment at the University. Grievance Procedures: A student who claims that he/she has sustained academic disadvantage as a result of the actions of a University staff member should use the University Grievance Procedures. Students, whenever practicable, should in the first instance approach the University staff member concerned. If the grievance is unresolved with the staff member concerned, the student should then contact the College of Sciences office on his/her campus for further information on the procedures, or read the procedures in the University Calendar. Paper Outline submitted by Dr Napoleon Reyes Date Appendix One: LECTURE OUTLINE: 3 19/12/2009 Week No. Topics 1 Introduction, review of C, memory allocation 2 Intro to C++, I/O, new types. 3 Functions. Overloading. Reference parameters 4 Namespace. Scoping rules 5 Classes. Objects. Scope. Member functions. 6 Constructors. Initialiser Lists. Destructors. 7 Friends. Operator Overloading. 8 Templates. Exceptions. 9 Inheritance. I/O. Const. 10 STL. 11 Java Introduction 12 Java compared to C++. Review of Course. 13 Study Break/Final Examination. 4