Cis 199 final review
This presentation is the property of its rightful owner.
Sponsored Links
1 / 63

CIS 199 Final Review PowerPoint PPT Presentation


  • 73 Views
  • Uploaded on
  • Presentation posted in: General

CIS 199 Final Review. New Material. Classes. Reference type NOT a value type! Can only inherit from ONE base class. Properties. Class member Holds a piece of data, information within an object Accessors: get, set Can use auto-implemented when validation is not required

Download Presentation

CIS 199 Final Review

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


CIS 199 Final Review


New Material


Classes

  • Reference type

    • NOT a value type!

  • Can only inherit from ONE base class


Properties

  • Class member

  • Holds a piece of data, information within an object

  • Accessors: get, set

    • Can use auto-implemented when validation is not required

    • If need validation, must create own backing field (instance variable) and write own get and set accessors

    • Read-only property – only has get, no set (no public set, at least)

  • Controllable scope


readonly

  • Can make an instance variable readonly

  • Initial value will be established in constructor

  • After value is set, it may not change again


Inheritance

  • Extend, Expand an existing class

  • Specialization

  • Generalization

  • “All students are a person, but not all persons are a student”

  • Derived class “IS-A” base class

    • Student IS-A Person

  • Even if no base class is specified, one will be provided

    • Object

      • This is where method ToString was originally defined


Protected vs Private

What is the difference between Protected vs Private?


Protected vs Private

  • Private-The type or member can be accessed only by code in the same class

  • Protected -The type or member can be accessed only by code in the same class, or in a class that is derived from that class.


Polymorphism

  • Complicated Concept

  • An object’s ability to take on, become different forms

    • Child classes take on properties of parent

  • Objects may be treated as base class

    • Students can be treated as a person

  • Keywords of note:

    • “override” – New implementation of a member in a child class that is inherited from base class

    • “virtual” – Class member that may be overridden in a child class

    • “abstract” – Missing or incomplete member implementation. MUST be implemented by child classes // More a 200 concept


Abstract Classes

  • Generic class

  • Provides some members, some information

  • CAN NOT be created directly

    • Meaning direct instantiation is illegal

  • Serves as a common “base” for related objects


Test 01 Material


Computer Hardware

  • Central Processing Unit (CPU)

    • Brains

    • Operations performed here

  • Main Memory (RAM)

    • Scratchpad

    • Work area for programs, process, temporary data

  • Secondary Storage

    • Hard drive

    • Flash drive

    • CD, DVD


Input, Output Devices

  • Input

    • Takes data IN

    • Keyboard, Mouse, Game Controller, Microphone

  • Output

    • Pushes, places data OUT

    • Display, Speakers, Printers


Programs and Digital Data

  • Programs

    • Operating Systems. Microsoft Office, Web browsers

    • Instructions read by CPU and processed

  • Digital Data

    • 1’s

    • 0’s

    • …forms binary (base 2)


Built-In Types


Formatted Output

  • Placeholders

  • Letter codes – C, D, F, P

  • Precision

  • Field width

    Console.WriteLine(“x = {0,-10:F2}”, x);


Operators

  • ++, --

    • Postfix vs Prefix

      int x = 5;

      int y;

      y = x++; vs y = ++x;

  • Shorthand operators

    • +=, -=

  • Integer division

    1/2 == 0

    1.0 / 2.0 == 0.5

    10 / 3 == 3, 10 % 3 == 1

  • = vs ==


Properties

  • Exposed “Variables” or accessible values of an object

  • Can have access controlled via scope modifiers

  • When thinking of properties: Values and definitions

  • “get” – Code to run before returning a value

  • “set” – Code to run before updating a value

    • Can be used for validation and other processing actions

    • “value” is a keyword in “set”


Methods

  • Actions, code to be executed

  • May return a value, may take value (not required)

  • Can be controlled via scope keywords

  • Can be static

  • // Different example


Scope

  • “private” – Can only be accessed by the class, object itself

  • “protected” – Can only be accessed by the class, object, or any child classes, objects

  • “public” – Available access for all


Named Constants

  • AVOID MAGIC NUMBERS!

  • Allows for reference across similar scope

  • Change once, changes everywhere

  • // ALL CAPS


Conditional Logic

  • if(expression)

    • If ‘expression’ is true

    • If not true, skipped

  • else if(expression)

    • Can be used to ‘chain’ conditions

    • Code runs if ‘expression’ is true

  • else

    • Code to execute if ‘expression’ false

  • Statements can be nested


Relational Operators

  • >Greater than

  • <Less than

  • >=Greater than OR equal to

  • <=Less than OR equal to

  • ==Equal to

  • !=NOT equal to

  • X > Y

  • X >= Y

  • X < Y

  • X <= Y

  • X == Y

  • X != Y


Operator Precedence

  • (Highest)

  • ++, --, !

  • * / %

  • + -

  • < > <= >=

  • == !=

  • &&

  • ||

  • = *= /= %= += -=

  • (Lowest)


Comparing Strings, Chars

  • You can use

    • ==, !=

  • You cannot use

    • >, >=, <, <=

  • You SHOULD use:

  • String.Compare(s1, s2)

    • s1 > s2

      • Returns positive Number

    • s1 = s2

      • Returns zero

    • s1 < s2

      • Returns negative number

  • Compares the unicode value of EACH character


Test 02 Material


Basic GUI Example

  • Textboxes, labels, buttons, checkboxes, radiobuttons, panels, groupbox

  • Event handler


Loops

  • for

    • “For a given value X, while X is true, modify X…”

  • while

    • “While X is true…”

  • do – while

    • “Do these tasks, while X is true…”

  • foreach

    • “For every X in this set of Y do the following…”


for Example


while Example


do while Example


foreach Example


Key Loop Details

  • Loops are NOT guaranteed to execute at least once!

    • …only exception is ‘do while’

    • Pretest vs posttest, or entry vs exit test

  • ‘for’ loops require a variable, condition, and ‘step’ instruction

  • ‘while’, ‘do while’ loops require a boolean expression

  • ‘foreach’ loops require a collection of items

    • Arrays

  • Indefinite repetition – sequential search, sentinel control, validation loop


Nested loops

Output


Methods

  • Actions, code to be executed

  • May return a value, may take value (not required)

  • Can be controlled via scope keywords

  • Can be static


Methods & Modularizing Your Code

  • Methods

    • Break out ‘steps’

    • Easier to test

    • Easier to visualize

  • Top Down Design


Arrays


Arrays


Sample Questions onBlackboard Wiki


What does ‘WYSIWYG’ stand for?

  • What

  • You

  • See

  • Is

  • What

  • You

  • Get


What is the difference between a high-level and a low-level language?

  • Low-Level

    • Little to no ‘abstraction’ from the hardware or computer

    • “Close to the hardware”

    • Simple, but Difficult to use

    • Machine code, assembly, C (in some cases)

  • High-Level

    • Very strong ‘abstraction’ from the hardware or computer

    • “Far from the hardware”

    • Easier to use, abstraction adds complexity

    • C++, Java, C#, Python


How is the lifetime of a FIELD different from a lifetime of LOCAL variable?

  • Fields are members of their containing type

  • Fields can be used everywhere with appropriate scope

  • Local variables can be used only in their “local” environment


What two things does a variable declaration specify about a variable?

  • Type

  • Identifier

TYPE

IDENTIFIER


Describe ‘&&’ and ‘||’ and how they work.

  • && (AND)

    • Returns true if conditions are ALL true

    • “If you do well on the test AND the quiz, you will earn a great grade!”

  • || (OR)

    • Returns true if ANY conditions are true

    • “You can run a mile OR walk two miles (possible do both!)”

  • Both short circuit


Why is ‘TryParse’ more effective than ‘Parse’?

  • Less code

  • No try / catch required


What is the difference between a SIGNED an UNSIGNED int?


What is the difference between syntax errors and logic errors?

  • Syntax Errors – Errors that prevent compilation or other factors that prevent successful compilation

    • string myString = string.Empty; // Won’t compile, syntax error

  • Logic Errors – Errors that occur during runtime, such as incorrect comparison or other unexpected behavior

    • If(grade > 60) { Code if grade is F } // Incorrect operator used


What are the “Five logical units”?

  • CPU – Processing, instructions

  • Memory – Scratch pad, working space (Temporary)

  • Secondary Storage – Hard drives, storage (Long term)

  • Input – Keyboards, Mice, Controllers

  • Output – Monitors, Speakers, Printers


Explicit type conversion? Why and how?

  • Variables must be used for a single type never change

  • Move from one type to another, must cast

  • EXPLICIT cast / type conversion

    • Aware of information loss


Write a code fragment that will display “Good Job” when int variable score is 80 or more, “OK” when score is 70 – 79, and “Needs Work” for any score under 70.


Write a code fragment that will apply a 10% discount to the value in double variable total when int variable numItems is 5 or more and int variable zone is 1, 3 or 5.


The ‘switch’ statement can replace nested if/else. But under what conditions?

  • When matching on a specific…

    • Value

    • Type

    • Enumeration

    • …other data

    • Doesn’t work for floating point types


What does a ‘break’ statement do in a loop?

  • It stops (BREAKS) loop execution

  • Code continues, no further loop iterations

    Example:

    switch (comboBox1.SelectedItem.ToString())

    {

    case "A":

    class_one_textBox = int.Parse(textBox1.Text); grade = 4.00 * class_one_textBox;

    break;

    case "A-": class_one_textBox =int.Parse(textBox1.Text); grade = 3.67 * class_one_textBox;

    break;


What does a ‘continue’ statement do in a loop?

  • Goes to the next iteration

  • CONTINUES loop execution, by skipping current iteration

  • This is only time a for loop would behave differently than a while loop


What are preconditions and postconditions for a method?

PRECONDITIONS

  • Conditions that MUST be TRUE before method execution

    POSTCONDITIONS

  • Conditions that WILL be TRUE after method execution


What is the difference between a void method and a value-returning method?

VOID Method

  • Returns nothing!

  • …a void return.

    Value-Returning

  • Returns a value!

  • …that’s not a void return.


Compare and contrast the use of pass by value against pass by reference, using key word ref versus pass by reference using keyword out.

Pass by Value

  • Passes a copy of the value

  • Not the object itself

    Pass by Reference

  • Passes the actual object itself

    ‘ref’

  • Causes a pass by reference on a variable

    ‘out’

  • Is used to reference a variable that the method will update


How can REACH further help you today?

  • Ask Questions Now!

  • Need to see an Example?

  • Need to see a concept again?


  • Login