- Define the three steps in program development
- Explain the characteristics of a good algorithm to your mother
- Determine the object names, input, output and sample problems for a programming problem
- Develop an algorithm using the Input/Process/Output algorithmic pattern
|
- Define an object and list its three components
- Distinguish between objects and classes
- List and briefly describe the three pillars of object oriented programming.
- Contrast the object-oriented and process-oriented approaches
|
- Include existing C# classes into your program
- Declare, initialize and assign values to identifiers
- Declare and initialize constant objects
- Evaluate and create arithmetic expressions using mathematical operators
- Evaluate an expression according to C# precedence and automatic typecasting.
- Use the Prompt then Input algorithmic pattern to obtain data from the user
- Display information to the user
- Identify the basic identifiers of a object -- its name, type, address and contents
|
- Use existing and user-defined functions in your programs
- Declare a function by writing a function prototype
- Define (implement) a function
- Define and identify function prototype
- Define and identify function signature
- Define and identify function header
- Define and identify function body
- Define and identify parameter-list
- Define and identify argument
- Define and identify return value
- Explain to your sibling how data is passed into and out of functions
- Call a function using pass-by-value and pass-by-reference arguments
- Assign default values to function parameters
- Explain, to your sibling, how a variable's scope is determined and what impact that has
|
- Send messages to objects
- Read and understand class definitions well enough to use the class
- Define and identify member variable
- Define and identify member function
- Define and identify constructor
- Define and identify destructor
- Define and identify accessor functions
- Define and identify modifier functions
- Define and identify utility functions
- Implement class member functions
- Explain, to your parent, the use of the scope resolution operator.
- Explain, to your parent, the difference between a class and an object, and the difference between a class's interface and its implementation.
- Given a description, be able to draw an Object Structure Diagram to describe an object.
- Design and declare a class
- Implement a class
- Declare an object
- Use a public member function of an object
|
- Recognize when to use the Guarded Action, Alternative Action, Multiple Selection, Determinate Loop and Indeterminate Loop algorithmic patterns
- Implement the Guarded Action, Alternative Action and Multiple Selection patterns using the if statement
- Use relational operators
- Implement the Multiple Selection pattern using the if..else and switch statements
- Implement the Determinate Loop pattern using the for statement
- Implement the Indeterminate Loop pattern using the while and do while statemetns
- Use continue and break in if, switch, while, do-while and for statements
|
- Open a file for reading
- Read from a file stream
- Open a file for writing
- Write to a file stream
- Check for successful file operations
- Check for end-of-file condition
- Close a file
|
- Implement object composition
- Use initializers to pass constructor parameters from the host object to a contained object
- Create Component/Responsibility/Helper cards to aid analysis and design
- Identify classes that model a solution to a program
- Assign responsibilities to classes
- Define an object reference
- Use an object reference to access the members of an object
|
- Use the collections classes
- Use iterators to refer to all items in a container object in a sequential manner
- Access the individual elements of a collection
- Implement algorithms to traverse and process collections
- Sort collection elements into ascending or descending order
- Add elements to a collection
- Retrieve properties of a collection
|
- Overload the relational operators for any class
- Overload the unary operators, !, ++, and --
- Distinguish the left hand side from the right hand side when using overloading binary operators
- Use friend functions to overload << and >> so you can output or input any class
- Explain, to your classmate, when to use member functions and when to use friend functions
|
- Explain to your sibling how inheritance works
- Derive new classes from old ones
- List what isn't inherited
- Define protected access and how it affects access to class data members
- Show the calling order of constructors and destructors in derived classes
- Use initializer lists to pass constructor parameters from the derived class to the base class
- Override member functions and add new features to derived classes
- Explain to your sibling how methods in the derived class override base class methods
- Define polymorphism
|