Presentation is loading. Please wait.

Presentation is loading. Please wait.

CIS 199 Final Review. New Material Structures  Value type  NOT a reference type!  Used to encapsulate small groups of related variables.

Similar presentations


Presentation on theme: "CIS 199 Final Review. New Material Structures  Value type  NOT a reference type!  Used to encapsulate small groups of related variables."— Presentation transcript:

1 CIS 199 Final Review

2 New Material

3 Structures  Value type  NOT a reference type!  Used to encapsulate small groups of related variables

4 Classes  Reference type  NOT a value type!  Like a structure, but far more sophisticated, modern  Can only inherit from ONE base class  Can inherit from MANY interfaces

5

6 Properties  Class member  Holds a piece of data, information within an object  Accessors: get, set,  Controllable scope

7

8 Inheritance  Extend, Expand an existing class  Specialization  Generalization  “All students are a person, but not all persons are a student”

9

10

11 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

12 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

13

14 Test 01 Material

15 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

16 Input, Output Devices  Input  Takes data IN  Keyboard, Mouse, Game Controller, Microphone  Output  Pushes, places data OUT  Display, Speakers, Printers

17 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)

18 Built-In Types

19 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”

20

21 Methods  Actions, code to be executed  May return a value, may take value (not required)  Can be controlled via scope keywords  Can be static

22 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

23 Named Constants  AVOID MAGIC NUMBERS!  Allows for reference across similar scope  Change once, changes everywhere

24 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

25 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

26 Operator Precedence  (Highest)  ++, --, !  * / %  + -  =  == !=  &&  ||  = *= /= %= += -=  (Lowest)  Detailed from: http://msdn.microsoft.com/en-us/library/2bxt6kc4%28v=vs.100%29.aspx

27 Comparing Strings  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

28 Exceptions and Exception Handling  Exceptions are…  “Exceptional” events  Unexpected events, errors during runtime  Unhandled exceptions? Stack trace and application death  Handled with try/catch/finally blocks  Try block “attempts” to run the code in question  Catch block handles the exception(s) that may occur  Finally block, optional, always executes

29

30

31 Test 02 Material

32 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…”

33 for Example

34 while Example

35 do while Example

36 foreach Example

37 Key Loop Details  Loops are NOT guaranteed to execute at least once!  …only exception is ‘do while’  ‘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  Lists  Generic Collections

38 Files  OpenFileDialog  Used to load file from location  SaveFileDialog  Used to select file save location  BOTH very User friendly!

39 OpenFileDialog

40

41 SaveFileDialog

42

43 Random Numbers in C#  Provided from: System.Random  Is ONLY pseudo-random  Produces a finite set of values with equal probability  Not truly random, follows a mathematical algorithm  Created with OR without seed value  Common methods used:  Next()  Next(int)  Next(int, int)  NextDouble()

44 Creating and using a Random Object

45 Usage & Expected Results of Random Methods

46 Methods  Actions, code to be executed  May return a value, may take value (not required)  Can be controlled via scope keywords  Can be static

47 Methods & Modularizing Your Code  Methods  Break out ‘steps’  Easier to test  Easier to visualize

48 Methods & Modularizing Your Code Example

49 Arrays

50

51 Sample Questions from Blackboard Wiki

52 What does ‘WYSIWYG’ stand for?  What  You  See  Is  What  You  Get

53 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

54 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

55 What two things does a variable declaration specify about a variable?  Type  Identifier TYPEIDENTIFIER

56 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!)”

57 Why is ‘TryParse’ more effective than ‘Parse’?  Less code  No try / catch required

58 What is the difference between a SIGNED an UNSIGNED int?

59 What is the difference between syntax errors and logic errors?  Syntax Errors – Errors that prevent compilation or other factors that prevent successful compilation  striing 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

60 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

61 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

62 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.

63 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.

64 The ‘switch’ statement can replace nested if/else. But under what conditions?  When matching on a specific…  Value  Type  Enumeration  …other data

65 What does a ‘break’ statement do in a loop?  It stops (BREAKS) loop execution  Code continues, no further loop iterations

66 What does a ‘continue’ statement do in a loop?  Goes to the next iteration  CONTINUES loop execution, by skipping current iteration

67 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

68 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.

69 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

70 How can REACH further help you today?  Ask Questions Now!  Need to see an Example?  Need to see a concept again?


Download ppt "CIS 199 Final Review. New Material Structures  Value type  NOT a reference type!  Used to encapsulate small groups of related variables."

Similar presentations


Ads by Google