BCS 230: Foundations of Computer Programming II

This course expands the knowledge and skills of Foundations of Computer Programming I.  Among the topics covered are: arrays, pointers, strings, classes, data abstraction, inheritance, composition and overloading. Credits: 3.00


BCS 120 with a grade of C or better.

Course Objectives

At the completion of this course, students will be able to use problem-solving skills to:

  1. Determine and apply the appropriate array structure in program development.
  2. Distinguish between the C-style strings and the C++ strings.
  3. Use structs to store heterogeneous data.
  4. Design and build classes to implement abstract data types.
  5. Develop programs using class inheritance.
  6. Develop programs using class composition.
  7. Determine the appropriate use of pointers and dynamic memory allocation.
  8. Apply pointers and dynamic memory allocation in programs.
  9. Implement operator overloading.
  10. Explain how to use templates.
  11. Distinguish between the sequential and binary search algorithms and their applications.
  12. Explain one of the N2 sorting algorithms.


  • Tony Gaddis, Judy Walters, Godfrey Muganda, Starting Out with C++: Early Objects, 9th Edition, ISBN13: 9780134400242

Capstone Project

At the conclusion of this course, students should be able to read and write programs of considerably greater length than those considered in BCS 120 (100-200 lines of code). In addition, they should be able to develop programs, using classes, that utilize a combination of many of the constructs learned in this course.

Farmingdale State College

Monday-Friday 8:30am-4:30pm