Jan 15, 2021  
2016-2017 Catalog 
    
2016-2017 Catalog [PAST CATALOG]

CTP 115H - Introductory Object-Oriented Program Analysis and Design - Honors

4 credit hours - Four hours of lecture and directed laboratory weekly; one term.
This is an honors course.

Learn analysis and design problem-solving techniques to prepare for programming in any language. Learn about object-oriented design, development and related security techniques. Analyze specifications, use design tools such as pseudocode and Unified Modeling language (UML) diagrams to develop classes and objects, consider examples of common program designs, and implement object-oriented designs in a high-level language. Lab fee $25.

Prerequisite(s): Eligibility for Honors courses.

Crosslisted: Also offered as CTP 115 . Credit is not given for both CTP 115  and CTP 115H.

Note: It is highly recommended that students who do not have a working knowledge of computers complete CTA 103  before enrolling in CTP 115H. Students with UML and Object Oriented Programming experience should contact the Computer Science department chair before selecting this course.

Course Outcomes
Upon successful completion of this course, students will be able to:
  • Analyze a problem for implementation on a computer.
    • Create an IPO chart.
    • Specify input variables, output variables, and major processing steps.
    • Define the various data types used.
  • Design software using object-oriented design methods.
    • Discuss the properties of good software design.
    • Capture the functional requirements of a software product using Use Case Modeling.
    • Determine the classes and objects to be used to fulfill the requirements of a software product requiring at least 5 classes.
    • Specify attributes (data members) and their visibility for each class.
    • Specify methods (behaviors) for each class, including parameters and the visibility for each method.
    • Create class diagrams using a UML tool to model the relationship between classes in a software design.
    • Evaluate a software design for adherence to principles of high cohesion and loose coupling.
  • Describe the control structures used in designing computer programs.
    • Describe the sequence control structure.
    • Describe the selection control structure.
    • Describe the repetition control structure.
  • Design algorithms using the three basic control structures.
    • Design algorithms using sequence.
    • Design algorithms using selection.
    • Design algorithms using repetition.
    • Design algorithms that combine all three control structures in various ways.
    • Develop flowcharts and pseudo-code to communicate the design.
  • Explain concepts associated with object-oriented design.
    • Define object-oriented, class, object, instance, attribute, and method.
    • Define overloading, polymorphism, inheritance, superclass, subclass.
    • Describe the software development process.
    • Explain the benefits of object-oriented analysis and design.
    • Describe the steps in object oriented development.
  • Test algorithms using desk checking.
    • Determine good test data values.
    • Develop a trace table.
  • Work as a member of a team to design computer programs.
    • Analyze a problem as a member of a team.
    • Design a solution as a member of a team.
    • Test a solution as a member of a team.
  • Implement an algorithm using an object-oriented high-level programming language.
    • Use an editor to enter a computer program.
    • Use a compiler to create an executable program.
    • Test the program to make sure it is working properly.
    • Use predefined classes and methods in a computer program.
  • Demonstrate computing and information technology competency.
    • Use a word processor, e-mail, and the Internet.
    • Use a compiler and a graphical drawing program.
Core Competencies
Core 1 Communication Core 2 Technology Fluency Core 5 Self Management Core 10 Innovative and Critical Thinking