CIT Department Logo CIT 262
Problem Solving and Programming

Prerequisites
CIT 115
CIT 140
Offered
Spring, Fall
Software
Microsoft Visual Studio .NET
Credit By Exam
Yes
Coordinator
Tim Price
Course Instructional Objectives

Analysis and Design of Programs
  • 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
OOP Concepts
  • 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
C# Basics
  • 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
Functions
  • 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
Classes and Objects
  • 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
Control Structures
  • 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
File Streams
  • 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
Composition and Object Oriented Analysis
  • 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
Collections
  • 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
Overloading
  • 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
Inheritance and Polymorphism
  • 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

Bobby Approved Logo Bobby 508 Approved Logo All contents copyright 2003, CIT Department, IUPUI
Last Updated: