COP 3503 – Programming Fundamentals II

High School Credit: 0.5

Course Instructor: Jeremiah Blanchard
Jeremiah Blanchard
Meet Your Instructor

About The Course

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

Course Goals

At the end of the semester, successful students should be able to:

  1. understand and utilize the underlying paradigm of object-oriented programming
  2. make full and constant use of procedural and data abstraction
  3. write modular programs
  4. and analyze and perform testing on programs, both prewritten and self-made.

Satisfied High School Graduation Requirement Subject: Elective