CSCI 3131.01
Programming with Visual Basic
Instructor: Bindra Shrestha
University of Houston – Clear Lake
Dr. Xinhua Chen
Starting Out with Visual Basic 2010
by Tony Gaddis and Kip Irvine
Chapter 1 Introduction to Programming and Visual Basic
•Computer hardware and software
•Programming languages
•History of Visual Basic
•Procedural programming and object-oriented programming
•Event-driven programming model
•Steps of developing an application
•Visual Studio 2010 IDE
•Create and save a solution.
•Open existing solution
Computer Systems: Computer Hardware and Software
Software refers to the programs that run on a computer.
Two categories of software:
1.Operating system (OS)
A set of programs that manage the computer’s hardware
devices and control their processes.
Examples: Windows Vista, Mac OS X, Linux.
2.Application software
Programs that make the computer useful to the user.
Examples: Microsoft Word, Adobe PDF Reader
Programs and Programming Languages
What is a program?
A computer program is a set of instructions that enables the
computer to solve a problem or perform a task.
Figure 1-2 shows an example of program steps of a Wage
Calculator application. (Page 4)
The program steps are called an algorithm.
Main Memory
Commonly referred to as Random Access Memory (RAM)
Is an ordered sequence of storage cells, each capable of
holding a piece of data.
Each memory cell has a distinct address.
The information held can be input data, computed values, or
program instructions, which are represented in combination of
0s or 1s. This is so-called binary representation.
The information stored in RAM is volatile.
Secondary Storage
•A nonvolatile storage medium
•Contents retained while power is off
•Hard disk drives are most common
•Records data magnetically on a circular disk
•Provides fast access to large amounts of data
•Optical devices store data on CD’s as pits
•USB flash memory devices
•High capacity device plugs into USB port
•Portable, reliable, and fits easily in a pocket
Input Device
•Any type of device that provides data to a computer from
the outside world
•For example:
Output Devices
•Any type of device that provides data from a computer to the
outside world
•Examples of output data:
•A printed report
•An image such as a picture
•A sound
•Common output devices include:
•Monitor (display screen)
Programming Languages
•The steps in our algorithm must be stated in a form the
computer understands
•The CPU processes instructions as a series of 1’s and 0’s
called machine language
•This is a tedious and difficult format for people
•Instead, programming languages allow us to use words
instead of numbers
•Software converts the programming language statements to
machine language
History of Programming Languages
Machine Languages
Computer hardware consists of microelectronic switches,
which can be switched on or off. The on/off switch status can
be represented using binary 1 and 0.
Example of machine language code:
0010 1100 0110 0000
Machine language is CPU type-dependent. That is, every type
of CPU has its own machine language.
Machine languages are low-level programming languages.
Low-level Programming Languages
Assembly Languages
Assembly languages use mnemonics in place of the 0s and 1s
in programs. It is common to see that the mnemonic ADD is
used to represent the add operation. For example,
ADD bx, ax
In order to execute a program written in Assembly language,
the program should be first converted into a machine language
program using an Assembler, which is also a program.
Assembly languages are low-level languages and are CPU
High-Level Programming Languages
High-level program languages more resemble English
language than low-level languages. Examples:
• Visual Basic
• C#
• Python
• C
• Javascript
• C++
• Java
Visual Basic is not just a programming language
It’s a programming environment with tools to:
Create screen elements
Write programming language statements
High-Level Languages (cont’d)
High-level languages allow programmers to write programs in a
more readable form. For example:
grossPay = hours * rate
Programs written in high-level languages should be converted
into machine languages using interpreters or compilers.
An interpreter translates a program from high-level language
into machine language line by line during program execution.
A compiler translates a program into machine language in its
entirety before executing the complied program.
Language Portability
Low-level languages are CPU-dependent, thus they are not
High-level languages are not CPU-dependent, thus they are
portable. Compilers that work for specific types of computer
systems made the high-level language portable.
Programming Models
Two programming models in use:
•Procedural programming - Legacy model
•Constructed as a set of procedures
(operational, functional units)
•Each procedure is a set of instructions
•The Gross Pay computation is a procedure
•Object-oriented programming (OOP) – Modern model
OOP makes code reuse easier
OOP is more suitable for developing complex software
Visual Basic 2010 is an object-oriented programming
Procedural programming
The program concentrates on the major tasks that the program
needs to perform. A program accomplishes a major task, which is
divided into sub tasks and accomplished by sub programs.
Radio Receiver Program
Get frequency settings and
volume settings from user
Extract audio
signal from
radio signal
Send audio
signal to
Object-oriented programming (OOP)
An object-oriented program concentrates on software objects
that are extracted from real-world objects. The major task of the
program is accomplished by sending messages to the objects in
the program.
Radio Receiver Program (OOP)
User Interface
Convert audio
signal into sound
Set Frequency/
Start receiving/
Stop receiving
Extract audio signal
OOP Terminology
What is an object?
An object in the context of object-oriented programming is
anything that software developers are interested.
Software objects model the real-world objects, which may be
visible or invisible, something one can touch or untouchable;
something that has weight or weightless.
Sample objects:
Car, person, employee, air, credit, receipt and account.
Example of Object
• This is a Visual Basic
GUI object called a form
• Contains data and actions
• Data, such as Hourly Pay
Rate, is a text property
that determines the
appearance of form objects
• Actions, such as Calculate Gross Pay, is a method that
determines how the form reacts
• A form is an object that contains other objects such as buttons,
text boxes, and labels
Example of Object
• Form elements are
objects called controls
• This form has:
– Two TextBox controls
– Four Label controls
– Two Button controls
• The value displayed by
a control is held in the text property of the control
• Left button text property is Calculate Gross Pay
• Buttons have methods attached to click events
Event Driven Programming: Events
• The GUI environment is event-driven
• An event is an action that takes place within a program
– Clicking a button (a Click event)
– Keying in a TextBox (a TextChanged event)
• Visual Basic controls are capable of detecting many, many
• A program can respond to an event if the programmer writes an
event procedure
Visual Basic Controls
• As a Windows user you’re already familiar
with many Visual Basic controls:
Label - displays text the user cannot change
TextBox - allows the user to enter text
Button – performs an action when clicked
RadioButton - A round button that is selected or
deselected with a mouse click
• CheckBox – A box that is checked or unchecked with a
mouse click
• Form - A window that contains these controls
• Tutorial 1-3 demonstrates these controls
Tutorial 1-3, Visual Basic Controls
Name Property
All controls have properties
Each property has a value (or values)
Not all properties deal with appearance
The name property establishes a means for the
program to refer to that control
• Controls are assigned relatively meaningless
names when created
• Programmers usually change these names to
something more meaningful
Examples of Names
 The label controls use the default names (Label1, etc.)
 Text boxes, buttons, and the Gross Pay label play an
active role in the program and have been changed
Naming Conventions
• Control names must start with a letter
• Remaining characters may be letters, digits, or underscore
• Convention used in this book:
• 1st 3 lowercase letters indicate the type of control
– txt… for Text Boxes
– lbl… for Labels
– btn… for Buttons
• After that, capitalize the first letter of each word
• txtHoursWorked is clearer than txthoursworked
Language Elements
• Keywords: Words with special meaning to Visual Basic (e.g.,
Private, Sub)
• Programmer-defined-names: Names created by the
programmer (e.g., sngGrossPay, btnClose)
• Operators: Special symbols to perform common operations
(e.g., +, -, *, and /)
• Remarks: Comments inserted by the programmer – these are
ignored when the program runs (e.g., any text preceded by a
single quote)
Language Elements: Syntax
• Syntax defines the correct use of key words,
operators, & programmer-defined names
• Similar to the syntax (rules) of English that
defines correct use of nouns, verbs, etc.
• A program that violates the rules of syntax will
not run until corrected
The Programming Process
Summary of Steps:
Step 1 of Developing an Application
• Clearly define what the program is to do
• For example, the Wage Calculator program:
– Purpose: To calculate the user’s gross pay
– Input: Number of hours worked, hourly pay rate
– Process: Multiply number of hours worked by hourly pay
rate (result is the user’s gross pay)
– Output: Display a message indicating the user’s gross pay
Step 2 of Developing an Application
• Visualize the application running on the computer and design
its user interface
Step 3 of Developing an Application
• Make a list of the controls needed
Allows the user to enter the number of hours worked.
Allows the user to enter the hourly pay rate
Displays the gross pay, after the btnCalcGrossPay
button has been clicked
When clicked, multiplies the number of hours worked
by the hourly pay rate
When clicked, terminates the application
Description for Number of Hours Worked TextBox
Description for Hourly Pay Rate TextBox
Description for Gross Pay Earned Label
A form to hold these controls
Step 4 of Developing an Application
• Define values for each control's relevant properties:
Control Type
Control Name
"Wage Calculator"
"Number of Hours Worked"
"Hourly Pay Rate"
"Gross Pay Earned"
"Calculate Gross Pay"
Step 5 of Developing an Application
• List the methods needed for each control:
Multiplies hours worked by hourly pay rate
These values are entered into the
txtHoursWorked and txtPayRate TextBoxes
Result is stored in lblGrossPay Text property
Terminates the application
Step 6 of Developing an Application
• Create pseudocode or a flowchart of each method:
– Pseudocode is an English-like description in programming
language terms
Store Hours Worked x Hourly Pay Rate in sngGrossPay.
Store the value of sngGrossPay in lblGrossPay.Text.
– A flowchart is a diagram that uses boxes and other symbols
to represent each step
Multiply hours
worked by
hourly payrate.
Store result in
Copy value in
to lblGrossPay
text property
Step 7 of Developing an Application
• Check the code for errors:
– Read the flowchart and/or pseudocode
– Step through each operation as though you are the
– Use a piece of paper to jot down the values of variables
and properties as they change
– Verify that the expected results are achieved
Step 8 of Developing an Application
• Use Visual Basic to create the forms and other controls
identified in step 3
– This is the first use of Visual Basic, all of the previous
steps have just been on paper
– In this step you develop the portion of the application the
user will see
Step 9 of Developing an Application
• Use Visual Basic to write the code for the event procedures
and other methods created in step 6
– This is the second step on the computer
– In this step you develop the methods behind the click
event for each button
– Unlike the form developed on step 8, this portion of the
application is invisible to the user
Step 10 of Developing an Application
• Attempt to run the application - find syntax errors
– Correct any syntax errors found
– Syntax errors are the incorrect use of an element of the
programming language
– Repeat this step as many times as needed
– All syntax errors must be removed before Visual Basic
will create a program that actually runs
Step 11 of Developing an Application
• Run the application using test data as input
– Run the program with a variety of test data
– Check the results to be sure that they are correct
– Incorrect results are referred to as a runtime error
– Correct any runtime errors found
– Repeat this step as many times as necessary
•Documentation is the written text and comments that make a
program easier to read, use and modify.
•Documentation is an essential part of a software program.
•Documentation can be found the code text. A software manual
is also considered as part of the documentation.
•UHCL has its own documentation guidelines. Students should
check the requirements on my web page and follow the
guidelines in the program assignments.
Visual Studio 2010
• Visual Studio 2010 is an integrated development environment
•It includes the following high-level language editor and
compilers and debuggers:
Visual Basic 2010, Visual C++ 2010, Visual C# 2010.
•It allows programmers to build Window-based programs or
Web-based programs. Programs are referred to as applications.
•The applications built using Visual Basic 2010 works on
Microsoft .NET Framework 4.0.
•Multiple .NET languages can be used in one program project.
Visual Basic 2010
The Visual Basic 2010 compiler does not compile the Visual
Basic source code into machine code.
The Visual Basic 2010 compiler translates the source code into
a virtual machine language called Bytecode. This bytecode is
also called IL (Intermediate Language).
Visual Basic 2010 is one of the .NET languages and the
applications created using .NET languages are called .NET
The Visual Basic Environment
• Tutorial 1-4 introduces elements of the IDE:
Customizing the IDE
Design window – a place to design and create a form
Solution Explorer window – shows files in the solution
Properties window – modify properties of an object
Dynamic Help window – a handy reference tool
Toolbar – contains icons for frequently used functions
Toolbox window – objects used in form design
Tooltips – a short description of button’s purpose
Compilation of Visual Basic .NET
•The bytecode created by the VB .NET compiler must be
interpreted by the Microsoft Common Language Runtime
(CLR) interpreter before the CPU can execute it.
•The CLR is part of Microsoft .NET platform.
•The runtime files of Microsoft .NET platform is part of
Microsoft Visual Studio .NET and can also be downloaded
from the Microsoft web site.
native machine
Source Code, Object Code and Executable Code
•Source code refers to the program written in a high-level language.
•Object code is the machine language version of the source code.
•Executable code is created from the object code and necessary
software library components. The executable code is ready to be run
on an operating system.
•In Microsoft Windows operating system, a file with file types of
.exe holds the executable code.