This course focuses on the object-oriented programming paradigm, emphasizing the definition and use of classes along with fundamentals of object-oriented design. The course includes basic analysis of algorithms, searching and sorting techniques, and an introduction to software engineering processes. Students will apply techniques for testing and debugging software. This course is included in the Field of Study Curriculum for Computer Science. 48 lecture hours + 32 laboratory hours

Upon completion, students will be able to:

  • Identify and explain a programming development lifecycle, including planning, analysis, design, development, and maintenance
  • Demonstrate a basic understanding of object-oriented programming by using structs and classes in software projects
  • Use object-oriented programming techniques to develop executable programs that include elements such as inheritance and polymorphism
  • Document and format code in a consistent manner
  • Apply basic searching and sorting algorithms in software design
  • Apply single- and multi-dimensional arrays in software
  • Use a symbolic debugger to find and fix runtime and logical errors in software
  • Demonstrate a basic understanding of programming methodologies, including object-oriented, structured, and procedural programming
  • Describe the phases of program translation from source code

Grade Basis: L
Credit Hours: 4