How To Programlate Objects By Deitel And D

Textbookc How To Programlate Objects Version By Deitel And Deitel

Textbook: C++ How To Program (Late Objects Version) by Deitel and Deitel, 7th Edition, Prentice Hall, ISBN. Additional Resources: Optional acquisition: A Microsoft Visual C++ .NET compiler for home use. See the ICS web site for a link to the MSDN Academic Alliance site. Course Description: This course continues the development of the programming and problem solving skills introduced in CS 219. Programming concepts will be put into practice by using C++ for programming projects. Since C++ is so similar to Java and since students should already know Java from their prerequisite courses, this course will cover C++ basics (control constructs, operators, data types, functions) quickly. More time will be spent on those features of C++ that differ from Java. For example, more time will be spent on pointers, object-oriented programming techniques, and operator overloading. Prerequisite: a grade of 'C' or better in CS 219. 3:0:3 Educational Philosophy: The facilitator's educational philosophy is one of interactiveness based on lectures, readings, quizzes, dialogues, examinations, internet, videos, web sites and writings. The facilitator will engage each learner in what is referred to as "disputatious learning" to encourage the lively exploration of ideas, issues and contradictions. Learning Outcomes: Core Learning Outcomes 1. Explain basic C++ constructs and basic object-oriented programming concepts (they should be covered quickly since they are similar to basic Java constructs, which are covered in CS 151 and CS 219). 2. Explain these programming concepts: Pointers Parameter passing - call-by-value vs. call-by-reference Operator overloading Inheritance - public, protected, and private access specifiers 3. Demonstrate creativity and problem-solving skills. 4. Use the Visual C++ integrated development environment to enter, run, and debug C++ programs. 5. Appraise C++ programs to ensure that they use proper coding conventions and documentation. 6. Demonstrate proper use of the object-oriented principle of inheritance. Given a problem description, the student should be able to decide on appropriate classes in a class hierarchy tree. 7. Demonstrate proper use of the object-oriented principle of composition. Given a description that involves two classes, the student should be able to decide on whether composition or inheritance is more appropriate. 8. Formulate C++ programs that use: Preprocessor directives Functions - call-by-value vs. call-by-reference parameters, inline functions, default arguments Arrays - one-dimensional and two-dimensional Pointers Strings Operator overloading Inheritance - public, protected, and private access specifiers 9. Optional - upon completion of this course the student should be able to formulate C++ programs that use: UML, polymorphism, virtual functions, templates, exception handling, file I/O Core Assessment: For this course, the core assessment tool is a final exam. Teachers must create their own final exam and pattern it after the CS225 example exam found in the password. In the final exam, there are two broad categories of questions that we evaluate separately – concepts and problem solving: Concepts (terminology and concepts that should be memorized): relevant learning outcomes – 1, 2, 6, 7 Multiple-choice and true/false questions that ask the student about CS 225 concepts. Short answer questions that ask the student to explain various concepts and trace and debug code fragments and/or programs. For example questions, teachers should refer to the CS225 example exam, questions 1-13. Problem solving (technical skills, critical thinking, and communication): relevant learning outcomes – 3, 5, 8 Given a problem description, produce a solution in the form of a short program or a method(s). Exam questions: 14-15 For example questions, teachers should refer to the CS225 example exam, questions 14-15. Recommended guideline for evaluating the core assessment final exam: Exceeds expectations Meets expectations Does not meet expectations No evidence Concepts ≥ 85% 65% to 84%

Paper For Above instruction

The course outlined here is focused on advancing students' programming and problem-solving skills through a comprehensive exploration of C++ programming language, emphasizing its object-oriented features. This academic program leverages the Deitel & Deitel text, "C++ How To Program (Late Objects Version)," along with supplementary resources and tools such as Microsoft Visual C++ .NET for hands-on learning.

The curriculum begins with a quick review of basic C++ constructs, assuming prior knowledge from Java, to focus on features that differentiate C++, such as pointers, operator overloading, inheritance, and particularly object-oriented techniques like composition and inheritance. The course aims to develop students' ability to analyze programming problems critically, decide on suitable class hierarchies, and implement solutions effectively. Practical skills such as entering, debugging, and running C++ programs within the Visual C++ environment are emphasized alongside proper coding conventions and documentation.

Educational strategies employ an interactive methodology, including lectures, readings, quizzes, dialogues, videos, websites, and peer discussions, which foster "disputatious learning." This approach encourages lively debate and exploration of ideas, issues, and contradictions, thereby deepening understanding. Students are expected to demonstrate mastery of core concepts, such as control constructs, data types, function parameters, arrays, pointers, strings, and advanced topics like polymorphism, templates, exception handling, and file I/O by the course's culmination.

Assessments include a series of programming assignments, quizzes, participation grades, and ultimately a final exam that evaluates both conceptual understanding and problem-solving capabilities. The final exam consists of multiple-choice and short-answer questions testing terminology, concepts, and code debugging, alongside practical problems requiring programmatic solutions. Grading procedures prioritize both the correctness and quality of coding style, code execution, and design, with specific weightings assigned to each component. Late submissions are not accepted, emphasizing the importance of timely work submission.

Through this course, students will also learn to assess and critique C++ programs for proper documentation and adherence to coding standards. They will be guided to use UML diagrams, understand principles of inheritance and composition, and utilize the Visual C++ integrated development environment efficiently. The culmination of these efforts prepares students to undertake complex object-oriented programming projects, demonstrating creativity, technical skill, and analytical rigor.

References

  • Deitel, P. J., & Deitel, H. M. (2014). C++ How to Program (Late Objects Version) (7th ed.). Prentice Hall.
  • Stroustrup, B. (2013). The C++ Programming Language (4th ed.). Addison-Wesley.
  • ISO/IEC. (2017). C++ ISO Standard (ISO/IEC 14882:2017). International Organization for Standardization.
  • Sutter, H. (2005). Exceptional C++: 50 Addison-Wesley.
  • Josuttis, N. M. (2012). The C++ Standard Library: A Tutorial and Reference. Addison-Wesley.
  • Lippman, S. B., Lajoie, J., & Moo, B. E. (2012). Programming: Principles and Practice Using C++ (2nd ed.). Addison-Wesley.
  • McConnell, S. (2004). Code Complete: A Practical Handbook of Software Construction. Microsoft Press.
  • Gaddis, T. (2014). Starting Out with C++ Early Objects (8th ed.). Pearson.
  • Heintz, J., & Pugh, W. (2004). The Standard C++ Library: A Tutorial and Reference. Addison-Wesley.
  • Yassine, M. & Murphy, T. (2018). Object-Oriented Programming in C++. CRC Press.