High School Credit: 0.5
This is the second course of a two-semester introductory sequence for students without prior programming experience. Topics include major concepts of computer science and computer programming processes, including object-oriented programming, procedural and data abstraction and program modularity. Moving on from functions and basic object-orientation, we will more thoroughly examine pointer mechanics and recursion before transitioning into advanced object-orientation concepts such as polymorphism. We will also examine software engineering principles – the science of efficiently managing the efforts and energy of coders within a software development team.
Note that this course is designed as a follow-up to COP 3502. While the first part of this course will be oriented toward transitioning from the Java programming language to C++, this course is not designed to reteach material covered in the prerequisite. COP 3502 is like algebra, while COP 3503 is like calculus. You cannot perform well in “calculus” if your foundations in “algebra” are poor. Mistakes will constantly arise from your “algebraic” mistakes, confounding your efforts to learn the “calculus” that is taught in this course.
Pre-requisites: COP 3502 - Programming Fundamentals I
At the end of the semester, successful students should be able to:
Satisfied High School Graduation Requirement Subject: Elective