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

CIS 199 Final Review PowerPoint PPT Presentation


  • 70 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

CIS 199 Final Review


New material

New Material


Classes

Classes

  • Reference type

    • NOT a value type!

  • Can only inherit from ONE base class


Properties

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

readonly

  • Can make an instance variable readonly

  • Initial value will be established in constructor

  • After value is set, it may not change again


Inheritance

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

Protected vs Private

What is the difference between Protected vs Private?


Protected vs private1

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

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

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

Test 01 Material


Computer hardware

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, Output Devices

  • Input

    • Takes data IN

    • Keyboard, Mouse, Game Controller, Microphone

  • Output

    • Pushes, places data OUT

    • Display, Speakers, Printers


Programs and digital data

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

Built-In Types


Formatted output

Formatted Output

  • Placeholders

  • Letter codes – C, D, F, P

  • Precision

  • Field width

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


Operators

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 ==


Properties1

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

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

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

Named Constants

  • AVOID MAGIC NUMBERS!

  • Allows for reference across similar scope

  • Change once, changes everywhere

  • // ALL CAPS


Conditional logic

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

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

Operator Precedence

  • (Highest)

  • ++, --, !

  • * / %

  • + -

  • < > <= >=

  • == !=

  • &&

  • ||

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

  • (Lowest)


Comparing strings chars

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

Test 02 Material


Basic gui example

Basic GUI Example

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

  • Event handler


Loops

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

for Example


While example

while Example


Do while example

do while Example


Foreach example

foreach Example


Key loop details

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

Nested loops

Output


Methods1

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 & Modularizing Your Code

  • Methods

    • Break out ‘steps’

    • Easier to test

    • Easier to visualize

  • Top Down Design


Arrays

Arrays


Arrays1

Arrays


Sample questions on blackboard wiki

Sample Questions onBlackboard Wiki


What does wysiwyg stand for

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

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

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

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

  • Type

  • Identifier

TYPE

IDENTIFIER


Describe and and how they work

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

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 a SIGNED an UNSIGNED int?


What is the difference between syntax errors and logic errors

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

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

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


Cis 199 final review

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.


Cis 199 final review

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

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

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

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

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

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.


Cis 199 final review

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

How can REACH further help you today?

  • Ask Questions Now!

  • Need to see an Example?

  • Need to see a concept again?


  • Login