Introduction to Programming Visual Basic.NET CS A109.

Slides:



Advertisements
Similar presentations
Intro to C#. Programming Coverage Methods, Classes, Arrays Iteration, Control Structures Variables, Expressions Data Types.
Advertisements

ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Lecture 1: Overview of Computers & Programming
Chapter 1 - An Introduction to Computers and Problem Solving
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
CS105 INTRODUCTION TO COMPUTER CONCEPTS INTRO TO PROGRAMMING Instructor: Cuong (Charlie) Pham.
Chapter 2- Visual Basic Schneider
COSC 120 Computer Programming
Chapter 1: An Overview of Computers and Programming Languages J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program.
16/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development What is a computer? A computer system contains: Central Processing.
Introduction to Computers and Programming. Some definitions Algorithm: –A procedure for solving a problem –A sequence of discrete steps that defines such.
Computers: Tools for an Information Age
Introduction to Computer Programming CSC 1401: Introduction to Programming with Java Lecture 2 Wanda M. Kunkle.
Chapter 1- Visual Basic Schneider1 Chapter 1 An Introduction to Computers and Visual Basic.
Chapter 1 Program Design
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Starting Out with C++: Early Objects 5/e © 2006 Pearson Education. All Rights Reserved Starting Out with C++: Early Objects 5 th Edition Chapter 1 Introduction.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Chapter 3 Computer Hard ware
Chapter 1: Introduction To Computer | SCP1103 Programming Technique C | Jumail, FSKSM, UTM, 2005 | Last Updated: July 2005 Slide 1 Introduction To Computers.
Introduction to Computers and Programming
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
CS102 Introduction to Computer Programming
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
Introduction 01_intro.ppt
CSC 125 Introduction to C++ Programming Chapter 1 Introduction to Computers and Programming.
Chapter 1: Introduction to Visual Basic.NET: Background and Perspective Visual Basic.NET Programming: From Problem Analysis to Program Design.
CSCI 3327 Visual Basic Chapter 1: Introduction to Visual Basic
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
สาขาวิชาเทคโนโลยี สารสนเทศ คณะเทคโนโลยีสารสนเทศ และการสื่อสาร.
Chapter 1: Preliminaries. Objectives In this chapter, you will learn about: Unit analysis Exponential and scientific notations Software development Algorithms.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1 Introduction to Computers and Programming.
Chapter 2 - VB.NET by Schneider1 Chapter 2 - Problem Solving Program Development Cycle Programming Tools.
A First Book of ANSI C Fourth Edition
Chapter 1 Introduction to Computers and C++ Programming Goals: To introduce the fundamental hardware and software components of a computer system To introduce.
Visual C++ Programming: Concepts and Projects
Invitation to Computer Science 5 th Edition Chapter 6 An Introduction to System Software and Virtual Machine s.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
INTRODUCTION TO COMPUTING CHAPTER NO. 04. Programming Languages Program Algorithms and Pseudo Code Properties and Advantages of Algorithms Flowchart (Symbols.
Chapter 12 Computer Programming. Chapter Contents Chapter 12: Computer Programming 2  Section A: Programming Basics  Section B: Procedural Programming.
Introduction to.NET. What is.NET? Microsoft’s vision of the future of applications in the Internet age –Increased robustness over classic Windows apps.
The Programming Process Define the problem* Make or buy software? Design the program * Code (write) the program Test (debug) the program Document the.
Programming at a high level. Developing a Computer Program Programmer  Writes program in source code (VB or other language) Compiler  Converts source.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Alexandria University Faculty of Science Computer Science Department Introduction to Programming C++
Chapter 1 An Overview of Computers and Programming Languages.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
Program Design. Simple Program Design, Fourth Edition Chapter 1 2 Objectives In this chapter you will be able to: Describe the steps in the program development.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
Microsoft Visual Basic 2015 CHAPTER ONE Introduction to Visual Basic 2015 Programming.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Introduction to Programming Visual Basic.NET CS A109.
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 1 An Introduction to Visual Basic.NET and Program Design.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
PROGRAMMING (1) LECTURE # 1 Programming and Languages: Telling the Computer What to Do.
Programming Logic and Design Seventh Edition Chapter 1 An Overview of Computers and Programming.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
Java Programming: From the Ground Up
Unit 2 Technology Systems
Introduction to Visual Basic 2008 Programming
Chapter 2- Visual Basic Schneider
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Introduction to Programming Visual Basic .NET
Chapter 2- Visual Basic Schneider
Chapter 2- Visual Basic Schneider
Introduction to Computer Programming
Chapter 1: Preliminaries
Programming Logic and Design Eighth Edition
Presentation transcript:

Introduction to Programming Visual Basic.NET CS A109

Introduction and Brief History of Programming Hardware –Physical components that make up a computer Computer program or software –A self-contained set of instructions used to operate a computer to produce a specific result

Knowing About: Computer Hardware Computer hardware components –Memory unit Stores information in a logically consistent format –Each memory location has an address and data that can be stored there, imagine a long line of mailboxes starting at address 0 and going up to addresses in the billions Two types of memory: RAM and ROM –Random Access Memory, Read Only Memory (misnamed) –Control unit Directs and monitors the overall operation of the computer

Knowing About: Computer Hardware (Continued) –Arithmetic and logic unit (ALU) Performs all the arithmetic and logic functions –E.g. knows how to add, subtract, manipulate data –Input/output (I/O) unit Provides access to and from the computer E.g. network, keyboard, video –Secondary storage Provides a permanent storage area for programs and data

Knowing About: Computer Hardware (Continued) Figure 1-32: Basic Hardware Units of a Computer

Evolution of hardware –1950s: all hardware units were built using relays and vacuum tubes –1960s: introduction of transistors –mid-1960s: introduction of integrated circuits (ICs) –Present computers: use of microprocessors Bit: smallest and most basic data item in a computer; represents a 0 or a 1 Byte: a grouping of eight bits –E.g., –What does this represent? Word: a grouping of one or more bytes Knowing About: Computer Hardware (Continued)

First-Generation and Second- Generation (Low-Level) Languages Low-level languages –First-generation and second-generation languages –Machine-dependent languages –The underlying representation the machine actually understands First-generation languages –Also referred to as machine languages –Consist of a sequence of instructions represented as binary numbers –E.g.: Code to ADD might be To add 1+0 and then 1+1 our program might look like this:

Second-generation languages –Also referred to as assembly languages –Abbreviated words are used to indicate operations –Allow the use of decimal numbers and labels to indicate the location of the data Assemblers –Programs that translate assembly language programs into machine language programs –Our add program now looks like: ADD 1,0 ADD 1,1 First-Generation and Second- Generation (Low-Level) Languages (Continued) Assembler

High-level languages –Third-generation and fourth-generation languages –Programs can be translated to run on a variety of computer types Third-generation languages –Procedure-oriented languages –Object-oriented languages Our Add program might now look like: sum = value1 + value2 Third-Generation and Fourth- Generation (High-Level) Languages Compiler

The Evolution of Programming Languages Third-Generation and Fourth- Generation (High-Level) Languages (Continued)

Procedure-oriented languages –Programmers concentrate on the procedures used in the program –Procedure: a logically consistent set of instructions which is used to produce one specific result Object-oriented languages –Items are represented using self-contained objects –Often used for graphical windows environments, ability to re-use code efficiently Third-Generation and Fourth- Generation (High-Level) Languages (Continued)

Graphical user interface (GUI) –Provides a graphical way for the user to interact with the program –Uses events Event –A specific procedure that is connected to an object Visual languages –Permit the programmer to manipulate graphical objects directly, with the language providing the necessary code –Permit users to access and format information without the need for writing any procedural code Third-Generation and Fourth- Generation (High-Level) Languages (Continued)

The Visual Basic.NET Platform Visual Basic.NET is in a sense one step removed from a typical high-level language VB.NET runs using a “Virtual Machine” or “Common Language Runtime” –The physical computer simulates a virtual computer that runs your program What is.NET? –Microsoft’s vision of the future of applications in the Internet age Increased robustness over classic Windows apps New programming platform Built for the web –.NET is a platform that runs on the operating system

.NET.NET is actually a program that sits on top on the Operating System (currently all the Windows 9x, NT, ME & XP; subset exists for FreeBSD, Linux, MacOS) Provides language interoperability across platforms Strong emphasis on Web connectivity, using XML web services to connect and share data between smart client devices, servers, and developers/users Platform/language independent

.NET Framework Framework Class Library ADO.NET Network XML Security Threading Diagnostics IO Etc. Common Language Runtime Memory Management Common Type SystemLifecycle Monitoring C# VB.NET C++.NET Other Operating System VisualStudio.NETVisualStudio.NET Common Language Specification Windows Forms ASP.NETASP.NET Web Services ASP.NET Application Services Web FormsControlsDrawing Windows Application Services

.NET: Language-Independent, Mostly Platform Specific Person.vb Address.cs Company.cbl CLR Person MSIL Company MSIL Address MSIL Windows Others? CLR Deploy (Visual Basic) (C#) (Cobol)

What Makes a Quality Program? A program that functions properly does not necessarily mean the grade will be an “A” A quality program should have the following characteristics: –Meet the specifications dictated to the programmer –Readability –Modularity –Efficiency –Robustness –Usability

Readability Code that is readable and understandable makes it much easier to maintain in the future –Yourself, other programmers Typical method: Add comments to the program –Explain program purpose and code that was attempted External documentation –Project specifications –Software requirements –Software design documents

Modularity Program written in an orderly fashion –Problems divided into smaller sub-problems –Each sub-problem solved in isolation and assembled together, capable of standing on its own –Testing performed on individual modules and modules as a whole Allows incremental testing and development –Avoid the “Big Bang” approach

Efficiency Should the goal of the programmer be to write compact, super- efficient code or to write clear, readable code that may run a little more slowly and take up more room? –It depends on the situation, but generally the readable/slow/larger code for VB.NET programs –Other languages used when high performance is required Lots of typed code does not necessarily mean a larger compiled program Overall it is better to strive for efficient code that is readable and understandable to make maintenance easier

Robustness If a program is written for a task, how does it handle: –Larger sized input? –Unexpected input? –Error condition? Ideally the program should never crash, but exit gracefully or design the GUI to not allow invalid cases. –Example: Enter your birthday (MM/DD/YYYY):

Usability A program must be correct to be useful, but it is possible to have a correct but unusable program If the user can’t easily use the program, the program will probably not be used –E.g. London Ambulance System

Algorithms Before jumping into programming, practice by understanding the concept of an algorithm Algorithm –A step-by-step sequence of instructions that must terminate –Example: Steps in a recipe to make a cheesecake. Describe an algorithm to determine who has the highest grade on an exam Describe an algorithm to find your optimal date Describing algorithms –Pseudocode Use of English-like phrases to describe an algorithm –Formula Use of mathematical equations to describe an algorithm –Flowchart Use of diagrams that employ symbols to describe an algorithm

Algorithms (Continued)

Class Average Algorithm Problem: Calculate and report the grade-point average for a class Discussion: The average grade equals the sum of all grades divided by the number of students Output: Average grade Input: Student grades Processing: Find the sum of the grades; count the number of students; calculate average

Flowchart

Pseudocode Program: Determine the average grade of a class Initialize Counter and Sum to 0 While there is more data Get the next Grade Add the Grade to the Sum Increment the Counter Loop Computer Average = Sum/Counter Display Average

Hierarchy Chart

Algorithm Selection Our choice of algorithm can have a large impact on the performance of the program Consider the problem of searching for a name in a phone book The phone book is sorted by name

Algorithm 1 – Linear Search Search through the list of names for our target starting at the beginning and go through them one at a time until we reach the end Apple, Bob Atto, Tom Attrick, Jerry DeBanque, Robin Fresco, Al Guini, Lynn Oki, Kerry Wright, Eaton Must check up to 8 names What if millions of names?

Algorithm 2 – Binary Search Takes advantage of the fact that the list of names is sorted Start at the name in the middle of the list and compare to the target –If equal, there is a match! –If the target is alphabetically less, repeat the process on the first half of the list –If the target is alphabetically greater, repeat the process on the second half of the list –Stop and no match if the list is ever empty

Algorithm 2 – Binary Search Searching for Guini, Lynn Apple, Bob Atto, Tom Attrick, Jerry DeBanque, Robin Fresco, Al Guini, Lynn Oki, Kerry Wright, Eaton Guini, Lynn Oki, Kerry Wright, Eaton Guini, Lynn Only checked 3 names! What if millions of names?

Algorithm Analysis Algorithm 1 runs in time linear to the number of names; –1 million names requires searching on average 500,000 names, all 1 million in the worst case Algorithm 2 runs in time log 2 to the number of names –This is because we cut the size in half each time –For 1 million names, log is about 20. –Much better performance than algorithm 1! –This is a case where you would want to consider the efficiency if used with a large number of names. If the program were to always run with a small number of names, algorithm 1 is simpler and will run fast enough on a typical computer