Welcome back to Software Development!

Slides:



Advertisements
Similar presentations
C# Language Report By Trevor Adams. Language History Developed by Microsoft Developed by Microsoft Principal Software Architect Principal Software Architect.
Advertisements

COMP 14: Intro. to Intro. to Programming May 23, 2000 Nick Vallidis.
Microsoft Visual Basic 2008 CHAPTER NINE Using Arrays and File Handling.
CS 114 – Class 02 Topics  Computer programs  Using the compiler Assignments  Read pages for Thursday.  We will go to the lab on Thursday.
Program A computer program (also software, or just a program) is a sequence of instructions written in a sequence to perform a specified task with a computer.
Programming for Beginners Martin Nelson Elizabeth FitzGerald Lecture 12: Programming Project.
Applications Development
Research Topics in Computational Science. Agenda Survey Overview.
Introduction to Perl. What is Perl Perl is an interpreted language. This means you run it through an interpreter, not a compiler. Similar to shell script.
Object Oriented Programming (OOP) LAB # 1 TA. Maram & TA. Mubaraka TA. Kholood & TA. Aamal.
Written by: Dr. JJ Shepherd
1- How to connect the robot to the pc Sec Getting Started 3- How to move the robot Sec Scribbler movements 4- How to make a turn 11- How to.
Chapter 10 So Many Paths … So Little Time (Multiple-Alternative Selection Structures) Clearly Visual Basic: Programming with Visual Basic nd Edition.
Dive Into® Visual Basic 2010 Express
CIS199 Test Review 2 REACH.
Information and Computer Sciences University of Hawaii, Manoa
C# Basic Syntax, Visual Studio, Console Input / Output
C# Basic Syntax, Visual Studio, Console Input / Output
Software Development.
3.1 Fundamentals of algorithms
Chapter 4 Assignment Statement
Chapter 1.2 Introduction to C++ Programming
Week 13: Searching and Sorting
Chapter 4 C Program Control Part I
Welcome to Visual Programming using C#
Arrays: Checkboxes and Textareas
DDC 1023 – Programming Technique
Chapter 4: Making Decisions.
Console and GUI Programs
Software Quality Assurance
Chapter Topics 11.1 Introduction to Menu-Driven Programs
CHAPTER FIVE Decision Structures.
Chapter 3 Assignment Statement
Chapter 4: Making Decisions.
Chapter 4 – Control Structures Part 1
Algorithm and Ambiguity
CHAPTER FIVE Decision Structures.
Lecturer: Mukhtar Mohamed Ali “Hakaale”
Compound Assignment Operators in C++
Introduction to Programming
Variables, Loops, Decision Statements, etc
Chapter 7 Additional Control Structures
Welcome back to Software Development!
Welcome back to Software Development!
Chapter 4 Loops While loop The for loop do… while break and continue
Topic 1: Problem Solving
Welcome back to Software Development!
CIS 16 Application Development Programming with Visual Basic
Programming We have seen various examples of programming languages
Tonga Institute of Higher Education IT 141: Information Systems
Software Quality Assurance
Welcome back to Software Development!
ICT Gaming Lesson 2.
Tonga Institute of Higher Education IT 141: Information Systems
Welcome back to Software Development!
Test Plans Making the world safe for software
Welcome back to Software Development!
Clear and Unclear Windows
Tonga Institute of Higher Education IT 141: Information Systems
Welcome back to Software Development!
Introduction to Programming
Loops.
Debugging and Handling Exceptions
EECE.2160 ECE Application Programming
Zorah Fung University of Washington, Winter 2016
EECE.2160 ECE Application Programming
Chapter 1: Creating a Program.
Switch Case Structures
Presentation transcript:

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