Course Information
The course syllabus is posted on Howdy.
Course Description
Extension of prior programming knowledge and creation of computer programs that solve problems; use of the C++ language; application of computational thinking to enhance problem solving; analysis of, design of and implementation of computer programs; use of basic and aggregate data types to develop functional and object oriented solutions; development of classes that use dynamic memory and avoid memory leaks; study of error handling strategies to develop more secure and robust programs.
Credits: 3 (3 Lecture Hours, 1 Lab Hour)
Prerequisites: Grade of C or better in ENGR 102, CSCE 110, CSCE 111, CSCE 206 or PHYS 150.
Learning Outcomes
Upon completion of the course, you will be able to:
- Develop and apply algorithmic reasoning to solve complex problems.
- Explain
- common programming concepts including abstraction, information hiding, object-oriented decomposition, and recursion,
- control structures including sequence, selection, iteration, and function invocation, and
- data types including arrays, vectors, linked lists, structs, and classes.
- Analyze a computing problem, evaluate different programming design choices, and develop a program to solve the problem.
- Write documented code that follows common code readability practices and uses strategies to reduce and address errors.
- Analyze code with debugging tools to find and fix errors.
- Contrast different approaches to handling memory and write programs that avoid memory leaks and unintended memory side effects.
- Honors sections: Create materials that explore course content for other learners
Required Textbook
Learn C++ (Online Textbook)
Recommended Textbooks and Resources
Programming Principles and Practice Using C++, Third Edition, Bjarne Stroustrup, Pearson, 2024.
