190 likes | 348 Views
159.234. Dr. Napoleon H. Reyes, Ph.D. Computer Science. Object-Oriented Programming. Institute of Information and Mathematical Sciences. Rm. 2.56 QA, IIMS, Albany Campus. Email: n.h.reyes@massey.ac.nz Tel. No.: 64 9 4140800 x 9512 Fax No.: 64 9 441 8181
E N D
159.234 Dr. Napoleon H. Reyes, Ph.D. Computer Science Object-Oriented Programming Institute of Information and Mathematical Sciences Rm. 2.56 QA, IIMS, Albany Campus Email: n.h.reyes@massey.ac.nz Tel. No.: 64 9 4140800 x 9512 Fax No.: 64 9 441 8181 Consultation Hours: After every lecture for 1 hr Tutorials: Fridays, 9am at (Computer Lab QB4) Lectures: Mon, 2pm (AT3); Tue, 2pm at (AT5); Wed., 9am (AT3)
159.234 For the first week: Monday, Wednesday, Friday – all lectures, no tutorial tomorrow! Schedule Computer Lab tutorial starts next week – It will be every Friday Tutor: Alwyn Husselmann
159.234 Pre-requisites Course Overview Topics for Discussion Learning Outcomes Texts and Course Material Assessment Course Schedule Demo
159.234 Students are expected to: Have taken up Programming Fundamentals (159.101 ) Pre-requisites
159.234 Calendar Prescription Introduction to OOP Course Overview Classes, Objects, Templates, Inheritance, Polymorphism Object Libraries Problem-based learning A Graphics Engine will be provided to make learning OOP more fun
159.234 On successful completion of the course, the students should be able to: Learning Outcomes Understand concepts of objects, inheritance & polymorphism Understand contents of and be able to use features of the STL (Standard Template Library) Be able to write programs in the C++ Programming Language Accomplishing the assignments covers all these objectives! Have some familiarity with JAVA
159.234 Note: Student Responsibility If a student cannot attend lectures/tutorials it is the student’s responsibility to find out what was discussed in lectures / tutorials (possible changes to assignments, questions & answers).
159.234 http://www.massey.ac.nz/~nhreyes/Massey/159234.html References (optional, for further information) C++ for C Programmers by Ira Pohl Texts and Course Material Creating Turbo C++ Games by Clayton Walnum http://www.cs.colorado.edu/~main/bgi/doc/index.html http://csci.biola.edu/csci105/using_winbgi.html Chapter 6 from Physics for Game Developers Book: Projectile Deitel & Deitel, C++ How to program, 3rd Ed., Prentice Hall, 2000 Bruce Eckel, Thinking in C++, 2nd Ed. http://www.mindview.net/Books/DownloadSites
159.234 Other References (optional, for further information) Bruce Eckel, Thinking in JAVA, 3rd Ed. http://www.mindview.net/Books/DownloadSites Texts and Course Material
159.234 3 assignments: 30% Assessment Final Exam (3 hours): 70% • In order to pass the course you must have (both of them). • The exam mark at least 45% from max. • The final mark greater than or equal to 50%. • All assignments will be submitted electronically.
159.234 Program solutions that do not compile or do not run in our laboratories get 0 marks. Late assignments will be penalized Assessment Assignments may be completed in groups all members of the group should be named in the source file of each assignment they contributed.
159.234 Each group member will receive the same grade. Assessment Students in a team have the authority (in consultation with the lecturer) to "expel" any member that does not meet obligations . The collaboration is limited only to members within each group. It is a student 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.
159.234 1. Introduction Review of C, Memory Allocation Course Schedule 2. Intro to C++ I/O, new types
159.234 3. Functions Overloading, Reference parameters Course Schedule 4. Namespace Scoping rules 5. Classes Objects, Scope, Member functions
159.234 6. Constructors, InitialiserLists,Destructors Course Schedule 7. Friends, Operator Overloading 8. Templates, Exceptions 9. Inheritance, I/O, Constructs 10. STL
159.234 11. JAVA Introduction Course Schedule 12. JAVA compared to C++ Review of the Course 13. Study break/Final Examination
159.734 Tasks • Send your email address to n.h.reyes@massey.ac.nz to receive announcements, tips, etc. during the duration of the semester • Download gcc • Check out OOP lecture notes at www.massey.ac.nz/~nhreyes • Download JAVA • (e.g. NetBeans 6.1, http://www.netbeans.org/downloads/) • Try to get hold of some of the references for the paper Course Schedule
159.234 C++ Tank Game • Integration of Physics formulas, transformation equations for device independence & graphics; implemented in an object-oriented fashion Demo JAVA Tank - Graphics in JAVA implementing the tank class Robot Navigation (AI) - Fuzzy Logic for target pursuit & obstacle avoidance, auto speed control Shooting & Tank with AI - Physics, Fuzzy Logic, Zoom / UnZoom 3-D Tank with AI - Fuzzy Logic + A* algorithm
END