Provide non-programming students with a broad understanding of computer science and equip them with the skills to use C++ with McMullen/Matthews/Parsons' PROGRAMMING WITH C++. This accessible, relatable, straightforward approach to programming emphasizes fundamental computer concepts using a language-agnostic approach and clear presentation with little technical jargon. Brief modules introduce procedural programming, computer science concepts and object-oriented programming in manageable segments. Relevant real-world examples help bridge the gap between non-programmers and today's computing concepts. You can organize these comprehensive learning modules in any order to fit the needs of your course. Intersperse conceptual modules with hands-on programming modules. Use object-oriented modules before, after or intermixed with modules that introduce procedural programming. Students gain confidence as they strengthen critical-thinking and problem-solving skills.