Welcome back to Software Development!
The “Quiz” – A Postmortem
The “Quiz” – A Postmortem Take 5 minutes…
The “Quiz” – A Postmortem Take 5 minutes… Together with your team…
The “Quiz” – A Postmortem Take 5 minutes… Together with your team… Discuss the project yesterday:
The “Quiz” – A Postmortem Take 5 minutes… Together with your team… Discuss the project yesterday: Focus on how well you worked together, the process
The “Quiz” – A Postmortem Take 5 minutes… Together with your team… Discuss the project yesterday: Focus on how well you worked together, the process What worked well
The “Quiz” – A Postmortem Take 5 minutes… Together with your team… Discuss the project yesterday: Focus on how well you worked together, the process What worked well What didn’t work well and needs to be improved
The “Quiz” – A Postmortem Take 5 minutes… Together with your team… Discuss the project yesterday: Focus on how well you worked together, the process What worked well What didn’t work well and needs to be improved What was difficult / frustrating?
Clear and Unclear Windows on Reading
The “Quiz” – A Postmortem
The “Quiz” – A Postmortem Overall, very impressed … focused and on-task
The “Quiz” – A Postmortem Overall, very impressed … focused and on-task Good job doing some testing
The “Quiz” – A Postmortem Overall, very impressed … focused and on-task Good job doing some testing Good job noting boundary conditions
The “Quiz” – A Postmortem Overall, very impressed … focused and on-task Good job doing some testing Good job noting boundary conditions Strategy statement – was a bit rougher…
The “Quiz” – A Postmortem Overall, very impressed … focused and on-task Good job doing some testing Good job noting boundary conditions Strategy statement – was a bit rougher… Main problems I saw:
The “Quiz” – A Postmortem Overall, very impressed … focused and on-task Good job doing some testing Good job noting boundary conditions Strategy statement – was a bit rougher… Main problems I saw: Flowcharts did not match algorithms
The “Quiz” – A Postmortem Overall, very impressed … focused and on-task Good job doing some testing Good job noting boundary conditions Strategy statement – was a bit rougher… Main problems I saw: Flowcharts did not match algorithms Only have 1 exit from the flowchart
The “Quiz” – A Postmortem Overall, very impressed … focused and on-task Good job doing some testing Good job noting boundary conditions Strategy statement – was a bit rougher… Main problems I saw: Flowcharts did not match algorithms Only have 1 exit from the flowchart Packet organization … Strategy? Algo?
The “Quiz” – A Postmortem
The “Quiz” – A Postmortem What made this hard?
The “Quiz” – A Postmortem What made this hard? I didn’t include all requirements did I?
The “Quiz” – A Postmortem What made this hard? I didn’t include all requirements did I? I expect you to make intelligent design decisions
The “Quiz” – A Postmortem What made this hard? I didn’t include all requirements did I? I expect you to make intelligent design decisions Be ready to sell me on your ideas
The “Quiz” – A Postmortem What made this hard? I didn’t include all requirements did I? I expect you to make intelligent design decisions Be ready to sell me on your ideas Don’t be frustrated by frustration
The “Quiz” – A Postmortem What made this hard? I didn’t include all requirements did I? I expect you to make intelligent design decisions Be ready to sell me on your ideas Don’t be frustrated by frustration Work through it, push through it, use it to make you fight harder!
The “Quiz” – A Postmortem What made this hard? I didn’t include all requirements did I? I expect you to make intelligent design decisions Be ready to sell me on your ideas Don’t be frustrated by frustration Work through it, push through it, use it to make you fight harder! Not enough time was there?
The “Quiz” – A Postmortem What made this hard? I didn’t include all requirements did I? I expect you to make intelligent design decisions Be ready to sell me on your ideas Don’t be frustrated by frustration Work through it, push through it, use it to make you fight harder! Not enough time was there? Time pressure made it harder
The “Quiz” – A Postmortem What made this hard? I didn’t include all requirements did I? I expect you to make intelligent design decisions Be ready to sell me on your ideas Don’t be frustrated by frustration Work through it, push through it, use it to make you fight harder! Not enough time was there? Time pressure made it harder All this put pressure on the team
The “Quiz” – A Postmortem What made this hard? I didn’t include all requirements did I? I expect you to make intelligent design decisions Be ready to sell me on your ideas Don’t be frustrated by frustration Work through it, push through it, use it to make you fight harder! Not enough time was there? Time pressure made it harder All this put pressure on the team Team work, agreement, cooperation…
The “Quiz” – A Postmortem
The “Quiz” – A Postmortem The time pressure you felt …
The “Quiz” – A Postmortem The time pressure you felt … get used to it
The “Quiz” – A Postmortem The time pressure you felt … get used to it I threw some ambiguous requirements (tasks) at you …
The “Quiz” – A Postmortem The time pressure you felt … get used to it I threw some ambiguous requirements (tasks) at you … get used to it
The “Quiz” – A Postmortem The time pressure you felt … get used to it I threw some ambiguous requirements (tasks) at you … get used to it You will need to learn to function
The “Quiz” – A Postmortem The time pressure you felt … get used to it I threw some ambiguous requirements (tasks) at you … get used to it You will need to learn to function Under time constraints
The “Quiz” – A Postmortem The time pressure you felt … get used to it I threw some ambiguous requirements (tasks) at you … get used to it You will need to learn to function Under time constraints With new and changing requirements
The “Quiz” – A Postmortem The time pressure you felt … get used to it I threw some ambiguous requirements (tasks) at you … get used to it You will need to learn to function Under time constraints With new and changing requirements Most important thing is to be flexible
The “Quiz” – A Postmortem
The “Quiz” – A Postmortem I want everyone to succeed at this … everyone to get an A
The “Quiz” – A Postmortem I want everyone to succeed at this … everyone to get an A If you want, you may complete the project over the weekend
The “Quiz” – A Postmortem I want everyone to succeed at this … everyone to get an A If you want, you may complete the project over the weekend I will not enter the grades until Monday
The “Quiz” – A Postmortem I want everyone to succeed at this … everyone to get an A If you want, you may complete the project over the weekend I will not enter the grades until Monday Every team should be able to get MAX points … 30/30
The “Quiz” – A Postmortem I want everyone to succeed at this … everyone to get an A If you want, you may complete the project over the weekend I will not enter the grades until Monday Every team should be able to get MAX points … 30/30 A L W A Y S S T R I V E F O R E X C E L L E N C E !
The “Quiz” – A Postmortem I want everyone to succeed at this … everyone to get an A If you want, you may complete the project over the weekend I will not enter the grades until Monday Every team should be able to get MAX points … 30/30 A L W A Y S S T R I V E F O R E X C E L L E N C E ! Never accept second best out of yourself
The “Quiz” – A Postmortem I want everyone to succeed at this … everyone to get an A If you want, you may complete the project over the weekend. I will not enter the grades until Monday. Every team should be able to get MAX points … 30/30 A L W A Y S S T R I V E F O R E X C E L L E N C E ! Never accept second best out of yourself Never.
The C# Programming Language - Overview
The C# Programming Language - Overview How do I get from the flowchart to code????
The C# Programming Language - Overview How do I get from the flowchart to code???? An example…
“Sorting a list of numbers” Algo Example Strategy statement
“Sorting a list of numbers” Algo Example Strategy statement Use my “smallest number” algorithm to find the smallest number in the list. When found, swap it with the first item in the list and then consider the remaining list (from the 2nd item on) as the new list. Repeat this until only have one number left in the list.
“Sorting a list of numbers” Algo Example Start with full list Remember where start of list is Do Run “smallest number” algorithm on list – get smallest number Swap smallest number with first number in list New list starts with 2nd item Until at last number Original list is now sorted
New list starts w/2nd item Start w/full list Remember start of list Sorting Algorithm Flowchart Get smallest # Swap w/1st New list starts w/2nd item Last #? No Yes Orig list is sorted
// The list is in “myList” // Figure out where the last item in the list is. lastItem = myList.length - 1; // Point to the first item in the list. currItem = 0; do { // my algorithm returns the location of the smallest number locationOfSmallest = GetSmallestNumber( myList ); // Swap the smallest item with the first item temp = myList[currItem ]; myList[currItem ] = myList[ locationOfSmallest ]; myList[ locationOfSmallest ] = temp; // Point to the next item…”new” list is one smaller currItem += 1; } while ( currItem < lastItem );
The C# Programming Language
The C# Programming Language Branching Looping Numeric Data Types if / else do / while bool switch / case / default while int / long break for float / double return foreach char / string try / catch / throw continue
The C# Programming Language Branching Looping Numeric Data Types if / else do / while bool switch / case / default while int / long break for float / double return foreach char / string try / catch / throw continue
The C# Programming Language Branching Looping Numeric Data Types if / else do / while bool switch / case / default while int / long break for float / double return foreach char / string try / catch / throw continue
The C# Programming Language Branching Looping Numeric Data Types if / else do / while bool switch / case / default while int / long break for float / double return foreach char / string try / catch / throw continue
The C# Programming Language Branching Looping Numeric Data Types if / else do / while bool switch / case / default while int / long break for float / double return foreach char / string try / catch / throw continue
The C# Programming Language Branching Looping Numeric Data Types if / else do / while bool switch / case / default while int / long break for float / double return foreach char / string try / catch / throw continue
The C# Programming Language Branching Looping Numeric Data Types if / else do / while bool switch / case / default while int / long break for float / double return foreach char / string try / catch / throw continue
The C# Programming Language Branching Looping Numeric Data Types if / else do / while bool switch / case / default while int / long break for float / double return foreach char / string try / catch / throw continue
The C# Programming Language Branching Looping Numeric Data Types if / else do / while bool switch / case / default while int / long break for float / double return foreach char / string try / catch / throw continue
The C# Programming Language Branching Looping Numeric Data Types if / else do / while bool switch / case / default while int / long break for float / double return foreach char / string try / catch / throw continue
The C# Programming Language Branching Looping Numeric Data Types if / else do / while bool switch / case / default while int / long break for float / double return foreach char / string try / catch / throw continue
The C# Programming Language Branching Looping Numeric Data Types if / else do / while bool switch / case / default while int / long break for float / double return foreach char / string try / catch / throw continue
The C# Programming Language Branching Looping Numeric Data Types if / else do / while bool switch / case / default while int / long break for float / double return foreach char / string try / catch / throw continue
The C# Programming Language Branching Looping Numeric Data Types if / else do / while bool switch / case / default while int / long break for float / double return foreach char / string try / catch / throw continue
The C# Programming Language Branching Looping Numeric Data Types if / else do / while bool switch / case / default while int / long break for float / double return foreach char / string try / catch / throw continue
The C# Programming Language Branching Looping Numeric Data Types if / else do / while bool switch / case / default while int / long break for float / double return foreach char / string try / catch / throw continue
The C# Programming Language Branching Looping Numeric Data Types if / else do / while bool switch / case / default while int / long break for float / double return foreach char / string try / catch / throw continue
The C# Programming Language Branching Looping Numeric Data Types if / else do / while bool switch / case / default while int / long break for float / double return foreach char / string try / catch / throw continue
The C# Programming Language Branching Looping Numeric Data Types if / else do / while bool switch / case / default while int / long break for float / double return foreach char / string try / catch / throw continue
The C# Programming Language Branching Looping Numeric Data Types if / else do / while bool switch / case / default while int / long break for float / double return foreach char / string try / catch / throw continue
The C# Programming Language Branching Looping Numeric Data Types if / else do / while bool switch / case / default while int / long break for float / double return foreach char / string try / catch / throw continue
The C# Programming Language Branching Looping Numeric Data Types if / else do / while bool switch / case / default while int / long break for float / double return foreach char / string try / catch / throw continue
.NET
.NET C# is a programming language
.NET C# is a programming language .NET is a “framework” or a “platform” that C# operates in
.NET C# is a programming language .NET is a “framework” or a “platform” that C# operates in .NET provides a very rich universe of algorithms for you to use
.NET C# is a programming language .NET is a “framework” or a “platform” that C# operates in .NET provides a very rich universe of algorithms for you to use It “abstracts” the computer
.NET C# is a programming language .NET is a “framework” or a “platform” that C# operates in .NET provides a very rich universe of algorithms for you to use It “abstracts” the computer Gives you a general way to:
.NET C# is a programming language .NET is a “framework” or a “platform” that C# operates in .NET provides a very rich universe of algorithms for you to use It “abstracts” the computer Gives you a general way to: Do I/O (display information, get keyboard and mouse clicks, etc)
.NET C# is a programming language .NET is a “framework” or a “platform” that C# operates in .NET provides a very rich universe of algorithms for you to use It “abstracts” the computer Gives you a general way to: Do I/O (display information, get keyboard and mouse clicks, etc) Read/write (R/W) data to/from the HDD (hard disk)
.NET C# is a programming language .NET is a “framework” or a “platform” that C# operates in .NET provides a very rich universe of algorithms for you to use It “abstracts” the computer Gives you a general way to: Do I/O (display information, get keyboard and mouse clicks, etc) Read/write (R/W) data to/from the HDD (hard disk) Gives you the ability to manipulate/use complicated objects:
.NET C# is a programming language .NET is a “framework” or a “platform” that C# operates in .NET provides a very rich universe of algorithms for you to use It “abstracts” the computer Gives you a general way to: Do I/O (display information, get keyboard and mouse clicks, etc) Read/write (R/W) data to/from the HDD (hard disk) Gives you the ability to manipulate/use complicated objects: “Strings” – sentences, words, etc (alphanumeric)
.NET C# is a programming language .NET is a “framework” or a “platform” that C# operates in .NET provides a very rich universe of algorithms for you to use It “abstracts” the computer Gives you a general way to: Do I/O (display information, get keyboard and mouse clicks, etc) Read/write (R/W) data to/from the HDD (hard disk) Gives you the ability to manipulate/use complicated objects: “Strings” – sentences, words, etc (alphanumeric) Lists
.NET C# is a programming language .NET is a “framework” or a “platform” that C# operates in .NET provides a very rich universe of algorithms for you to use It “abstracts” the computer Gives you a general way to: Do I/O (display information, get keyboard and mouse clicks, etc) Read/write (R/W) data to/from the HDD (hard disk) Gives you the ability to manipulate/use complicated objects: “Strings” – sentences, words, etc (alphanumeric) Lists and a billion more…
.NET
.NET .NET is like an onion
.NET .NET is like an onion … it has layers
.NET .NET is like an onion … it has layers Outermost layer is the most general
.NET .NET is like an onion … it has layers Outermost layer is the most general Innermost is the most specific
The .NET Onion
Outer layer The .NET Onion
Outer layer - namespace The .NET Onion
The .NET Onion Outer layer - namespace Grouping of algorithms and capabilities The .NET Onion
The .NET Onion Outer layer - namespace Grouping of algorithms and capabilities One of the biggest is “System” … think of it as Windows … The .NET Onion
The .NET Onion Outer layer - namespace Next layer Grouping of algorithms and capabilities One of the biggest is “System” … think of it as Windows … Next layer The .NET Onion
The .NET Onion Outer layer - namespace Next layer – classes (objects) Grouping of algorithms and capabilities One of the biggest is “System” … think of it as Windows … Next layer – classes (objects) The .NET Onion
The .NET Onion Outer layer - namespace Next layer – classes (objects) Grouping of algorithms and capabilities One of the biggest is “System” … think of it as Windows … Next layer – classes (objects) These are the algorithms and “abstracted” objects The .NET Onion
The .NET Onion Outer layer - namespace Next layer – classes (objects) Grouping of algorithms and capabilities One of the biggest is “System” … think of it as Windows … Next layer – classes (objects) These are the algorithms and “abstracted” objects This is the outer most layer of code … you will create classes The .NET Onion
The .NET Onion Outer layer - namespace Next layer – classes (objects) Grouping of algorithms and capabilities One of the biggest is “System” … think of it as Windows … Next layer – classes (objects) These are the algorithms and “abstracted” objects This is the outer most layer of code … you will create classes Next layer The .NET Onion
The .NET Onion Outer layer - namespace Next layer – classes (objects) Grouping of algorithms and capabilities One of the biggest is “System” … think of it as Windows … Next layer – classes (objects) These are the algorithms and “abstracted” objects This is the outer most layer of code … you will create classes Next layer – methods and properties The .NET Onion
The .NET Onion Outer layer - namespace Next layer – classes (objects) Grouping of algorithms and capabilities One of the biggest is “System” … think of it as Windows … Next layer – classes (objects) These are the algorithms and “abstracted” objects This is the outer most layer of code … you will create classes Next layer – methods and properties Inside a class The .NET Onion
The .NET Onion Outer layer - namespace Next layer – classes (objects) Grouping of algorithms and capabilities One of the biggest is “System” … think of it as Windows … Next layer – classes (objects) These are the algorithms and “abstracted” objects This is the outer most layer of code … you will create classes Next layer – methods and properties Inside a class Methods - the action part of the class - the actual algorithm The .NET Onion
The .NET Onion Outer layer - namespace Next layer – classes (objects) Grouping of algorithms and capabilities One of the biggest is “System” … think of it as Windows … Next layer – classes (objects) These are the algorithms and “abstracted” objects This is the outer most layer of code … you will create classes Next layer – methods and properties Inside a class Methods - the action part of the class - the actual algorithm Properties – how you use (talk to) the algorithm (interface) The .NET Onion
The .NET Onion Outer layer - namespace Next layer – classes (objects) Grouping of algorithms and capabilities One of the biggest is “System” … think of it as Windows … Next layer – classes (objects) These are the algorithms and “abstracted” objects This is the outer most layer of code … you will create classes Next layer – methods and properties Inside a class Methods - the action part of the class - the actual algorithm Properties – how you use (talk to) the algorithm (interface) Innermost layer The .NET Onion
The .NET Onion Outer layer - namespace Next layer – classes (objects) Grouping of algorithms and capabilities One of the biggest is “System” … think of it as Windows … Next layer – classes (objects) These are the algorithms and “abstracted” objects This is the outer most layer of code … you will create classes Next layer – methods and properties Inside a class Methods - the action part of the class - the actual algorithm Properties – how you use (talk to) the algorithm (interface) Innermost layer – statements The .NET Onion
The .NET Onion Outer layer - namespace Next layer – classes (objects) Grouping of algorithms and capabilities One of the biggest is “System” … think of it as Windows … Next layer – classes (objects) These are the algorithms and “abstracted” objects This is the outer most layer of code … you will create classes Next layer – methods and properties Inside a class Methods - the action part of the class - the actual algorithm Properties – how you use (talk to) the algorithm (interface) Innermost layer – statements Inside methods The .NET Onion
The .NET Onion Outer layer - namespace Next layer – classes (objects) Grouping of algorithms and capabilities One of the biggest is “System” … think of it as Windows … Next layer – classes (objects) These are the algorithms and “abstracted” objects This is the outer most layer of code … you will create classes Next layer – methods and properties Inside a class Methods - the action part of the class - the actual algorithm Properties – how you use (talk to) the algorithm (interface) Innermost layer – statements Inside methods This is the actual C# code The .NET Onion
The .NET Onion Outer layer - namespace Next layer – classes (objects) Grouping of algorithms and capabilities One of the biggest is “System” … think of it as Windows … Next layer – classes (objects) These are the algorithms and “abstracted” objects This is the outer most layer of code … you will create classes Next layer – methods and properties Inside a class Methods - the action part of the class - the actual algorithm Properties – how you use (talk to) the algorithm (interface) Innermost layer – statements Inside methods This is the actual C# code The .NET Onion
The Console Object (Class)
The Console Object (Class) One way to talk with the user
The Console Object (Class) One way to talk with the user The “console” is basically a DOS window
The Console Object (Class) One way to talk with the user The “console” is basically a DOS window Start
The Console Object (Class) One way to talk with the user The “console” is basically a DOS window Start > Run
The Console Object (Class) One way to talk with the user The “console” is basically a DOS window Start > Run > cmd
The Console Object (Class) One way to talk with the user The “console” is basically a DOS window Start > Run > cmd The command window is an example of a “console”
The Console Object (Class) One way to talk with the user The “console” is basically a DOS window Start > Run > cmd The command window is an example of a “console” You can display messages to the user
The Console Object (Class) One way to talk with the user The “console” is basically a DOS window Start > Run > cmd The command window is an example of a “console” You can display messages to the user Console.Write and Console.WriteLine
The Console Object (Class) One way to talk with the user The “console” is basically a DOS window Start > Run > cmd The command window is an example of a “console” You can display messages to the user Console.Write and Console.WriteLine You can get input from the user (typing)
The Console Object (Class) One way to talk with the user The “console” is basically a DOS window Start > Run > cmd The command window is an example of a “console” You can display messages to the user Console.Write and Console.WriteLine You can get input from the user (typing) Console.Read and Console.ReadLine
Assignment due Friday
Assignment due Friday Read pages 10-19 of your text (most of chapter 1)
Assignment due Friday Read pages 10-19 of your text (most of chapter 1) Take notes
Assignment due Friday Read pages 10-19 of your text (most of chapter 1) Take notes Very important!
Assignment due Friday Read pages 10-19 of your text (most of chapter 1) Take notes Very important! Write down questions you have!!!
Assignment due Friday Read pages 10-19 of your text (most of chapter 1) Take notes Very important! Write down questions you have!!! Bring them to class Friday
Assignment due Friday Read pages 10-19 of your text (most of chapter 1) Take notes Very important! Write down questions you have!!! Bring them to class Friday If you choose, go for excellence on your quiz project.
Clear and Unclear Windows