Department of Electrical & Computer Engineering Concordia University PROGRAMMING METHODS II COEN 244: Winter 2012/13 Course Outline Instructor Name: Nawwaf N. KHARMA, Ph.D., PEng Office: EV 005.171 Office Hours: TBA Phone: 848 2424 x3117 (urgent matters only) E-mail: kharma@ece.concordia.ca Objectives A. Enable you to provide complete working programs in C++ for non-trivial problems. B. Enhance your general knowledge of C++. C. Get you to adopt a modern approach to C++ coding, involving development of classes and class hierarchies and the use of the STL. D. Encourage you to adopt a professional attitude towards programming, in general. E. Encourage independent learning by students. Organization The course is a 3-credit course with two (2) lectures scheduled every week. There are also two (2) labbased tutorials every week. You are expected to use most of the time of the lab to submit all your assignments to the marker. A qualified tutor will be in the lab during tutorials to provide you with help should you require it, as you are solving your assignments. It is ultimately your responsibly to ensure that you fully understand the topics of the lectures (in fact, I may ask you to study some topics on your own, to enhance your independent learning ability). You need to figure out how to make use of the material provided by your instructor, textbook, Internet resources, your team mate, friends, and the like, to (a) achieve the course objectives; and (b) get the grade you want in the course. My job, as instructor, is, among other things, to (a) explain the topics correctly and clearly, and respond to your questions fully (in lectures); (b) ensure that you receive useful feedback; (c) increase your interest in programming, as a topic and a tool, to study hard and do well. Textbook Recommended textbook: “Accelerated C++; practical programming by example”, by A. Koening & B. Moo; published by Addison Wesley. The on-line resources I refer to should be sufficient, even without the book. Lecture Topics T01. T02. T03. T03. T04. T05. T06. T07. T08. T09. T10. T11. T12. Intro. to OO Programming Constructors & Destructors Static Members & Friend Functions Operator Overloading Object Composition & Aggregation Class Inheritance Virtual Functions Stream & File I/O Template Functions & Classes Exception Handling Standard Template Library Cohesion & Coupling Advanced Topics Assessments There are four (4) assignments, one (1) midterm exam and one (1) final exam. Note that at least ½ of midterm and final exam questions will be similar to assignment questions. The TAs are there to support all assignments and project, as you attempt to solve them in tutorials, so make full use of tutorial time and always do your assignments yourselves & fully. Grades Assignments Midterm Exam Final Exam Possible Bonus (A) (M) (F) (B) 32 28 40 05 marks (4 x 8%) marks (F > M F) marks marks Please submit your assignment solutions directly to your marker. Your submissions will be graded using the scale: bad (1/4); less-than-good (2/4); good (3/4); excellent (4/4). Any late or un-compliable submission will receive a grade of 0, without exception. If you do better on your final than on your midterm then your final will count for both. A bonus of 5 marks will be awarded to any student who completes the optional requirement for the assignments. The final test covers the whole material of the course. Web-Site A course web directory is up and running. It will, among other materials, contain this Outline, Assignments, Tests (after you take them) and Marks. The course web directory is at: http://www.ece.concordia.ca/~kharma/COEN244/ . Also, make sure that your Moodle account is active.