DIT 0200: VISUAL PROGRAMMING
Prerequisite: DIT 0109: Introduction to Programming & Algorithms
Contact Hours: Lectures 30 and Practical/Tutorials 30
Purpose of the course:
To introduce the learners to event driven programming and enable computer programming in a
visual environment.
Expected learning outcome
By the end of the course units the learner will be will be able to:
i. Describe and apply the concepts of event driven programming.
ii. Explore access and manipulate data in a database
iii. Develop a simple system using Vb.Net
Course Content
Introduction to visual Programming,
What is a Visual Basic program?
Visual Basic is a programming language and development environment created by
Microsoft. ... Visual Basic provides a graphical user interface GUI that allows the developer to
drag and drop objects into the program as well as manually write program code.
What do you mean by visual programming?
A visual programming language (VPL) is a programming language that
uses graphical elements and figures to develop a program. A VPL employs techniques to
design a software program in two or more dimensions, and includes graphical elements, text,
symbols and icons within its programming context.
Introduction to a visual development environment, Designing User Interface,
Using controls,
What do you mean by visual programming?
A visual programming language (VPL) is a programming language that
uses graphical elements and figures to develop a program. A VPL employs techniques to
design a software program in two or more dimensions, and includes graphical elements, text,
symbols and icons within its programming context.
1
,Integrated development environment
An integrated development environment (IDE) is a software application that provides
comprehensive facilities to computer programmers for software development. An IDE normally
consists of at least a source code editor, build automation tools and a debugger. Some IDEs, such
as NetBeans and Eclipse, contain the necessary compiler, interpreter, or both; others, such
as SharpDevelop and Lazarus, do not.
The boundary between an IDE and other parts of the broader software development environment
is not well-defined; sometimes a version control system or various tools to simplify the
construction of a graphical user interface (GUI) are integrated. Many modern IDEs also have
a class browser, an object browser, and a class hierarchy diagram for use in object-oriented
software development.
IDEs present a single program in which all development is done. This program typically
provides many features for authoring, modifying, compiling, deploying and debugging software.
This contrasts with software development using unrelated tools, such as vi, GCC or make.
One aim of the IDE is to reduce the configuration necessary to piece together multiple
development utilities, instead it provides the same set of capabilities as one cohesive unit.
Reducing setup time can increase developer productivity, especially in cases where learning to
use the IDE is faster than manually integrating and learning all of the individual tools. Tighter
integration of all development tasks has the potential to improve overall productivity beyond just
helping with setup tasks. For example, code can be continuously parsed while it is being edited,
providing instant feedback when syntax errors are introduced, thus allowing developers to debug
code much faster and more easily with an IDE.
Some IDEs are dedicated to a specific programming language, allowing a feature set that most
closely matches the programming paradigms of the language. However, there are many multiple-
language IDEs.
While most modern IDEs are graphical, text-based IDEs such as Turbo Pascal were in popular
use before the availability of windowing systems like Microsoft Windows and the X Window
2
,System (X11). They commonly use function keys or hotkeys to execute frequently used
commands or macros.
Syntax highlighting
The IDE editor usually provides syntax highlighting, it can show both the structures, the
language keywords and the syntax errors with visually distinct colors and font effects.[3]
Code completion
Code completion is an important IDE feature, intended to speed up programming. Modern IDEs
even have intelligent code completion.
Refactoring
Advanced IDEs provide support for automated refactoring.[3]
Version control
An IDE is expected to provide integrated version control, in order to interact with source
repositories.[3]
Debugging
IDEs are also used for debugging, using an integrated debugger, with support for setting
breakpoints in the editor, visual rendering of steps, etc.[4]
Code search
IDEs may provide advanced support for code search: in order to find class and function
declarations, usages, variable and field read/write, etc. IDEs can use different kinds of user
interface for code search, for example form-based widgets[5] and natural-language based
interfaces.[6]
Visual programming
Visual programming is a usage scenario in which an IDE is generally required. Visual Basic
allows users to create new applications by moving programming, building blocks, or code nodes
to create flowcharts or structure diagrams that are then compiled or interpreted. These flowcharts
often are based on the Unified Modeling Language.
This interface has been popularized with the Lego Mindstorms system, and is being actively
pursued by a number of companies wishing to capitalize on the power of custom browsers like
those found at Mozilla. KTechlab supports flowcode and is a popular opensource IDE and
Simulator for developing software for microcontrollers. Visual programming is also responsible
for the power of distributed programming (cf. LabVIEW and EICASLAB software). An early
visual programming system, Max, was modeled after analog synthesizer design and has been
used to develop real-time music performance software since the 1980s. Another early example
was Prograph, a dataflow-based system originally developed for the Macintosh. The graphical
programming environment "Grape" is used to program qfix robot kits.
This approach is also used in specialist software such as Openlab, where the end users want the
flexibility of a full programming language, without the traditional learning curve associated with
one.
3
, Language support
Some IDEs support multiple languages, such as GNU Emacs based on C and Emacs Lisp,
and IntelliJ IDEA, Eclipse, MyEclipse or NetBeans, all based on Java, or MonoDevelop, based
on C#, or PlayCode.
Support for alternative languages is often provided by plugins, allowing them to be installed on
the same IDE at the same time. For example, Flycheck is a modern on-the-fly syntax checking
extension for GNU Emacs 24 with support for 39 languages.[7] Eclipse, and Netbeans have
plugins for C/C++, Ada, GNAT (for example AdaGIDE), Perl, Python, Ruby, and PHP, which
are selected between automatically based on file extension, environment or project settings.
Attitudes across different computing platforms[edit]
Unix programmers can combine command-line POSIX tools into a complete development
environment, capable of developing large programs such as the Linux kernel and its
environment.[8] In this sense, the entire Unix system functions as an IDE.[9] The free
software GNU tools (GNU Compiler Collection (GCC), GNU Debugger (gdb), and GNU make)
are available on many platforms, including Windows.[10] The pervasive Unix philosophy of
"everything is a text stream" enables developers who favor command-line oriented tools to use
editors with support for many of the standard Unix and GNU build tools, building an IDE with
programs like Emacs[11][12][13] or Vim. Data Display Debugger is intended to be an advanced
graphical front-end for many text-based debugger standard tools. Some programmers prefer
managing makefiles and their derivatives to the similar code building tools included in a full
IDE. For example, most contributors to the PostgreSQL database use make and gdb directly to
develop new features.[14] Even when building PostgreSQL for Microsoft Windows using Visual
C++, Perl scripts are used as a replacement for make rather than relying on any IDE features.
[15]
Some Linux IDEs such as Geany attempt to provide a graphical front end to traditional build
operations.
On the various Microsoft Windows platforms, command-line tools for development are seldom
used. Accordingly, there are many commercial and non-commercial products. However, each
has a different design commonly creating incompatibilities. Most major compiler vendors for
Windows still provide free copies of their command-line tools, including Microsoft (Visual C+
+, Platform SDK, .NET Framework SDK, nmake utility).
IDEs have always been popular on the Apple Macintosh's classic Mac OS and macOS, dating
back to Macintosh Programmer's Workshop, Turbo Pascal, THINK Pascal and THINK
C environments of the mid-1980s. Currently macOS programmers can choose between native
IDEs like Xcode and open-source tools such as Eclipse and Netbeans. ActiveState Komodo is a
proprietary multilanguage IDE supported on macOS.
Artificial intelligence[edit]
Some features of IDEs can benefit from advances in AI.[16] In particular, one can collect
information from IDE actions across developers in order to augment IDE features.[17] For
instance, a data-driven approach to code completion results in intelligent code completion.
Web integrated development environment[edit]
Main article: Online integrated development environment
4
Prerequisite: DIT 0109: Introduction to Programming & Algorithms
Contact Hours: Lectures 30 and Practical/Tutorials 30
Purpose of the course:
To introduce the learners to event driven programming and enable computer programming in a
visual environment.
Expected learning outcome
By the end of the course units the learner will be will be able to:
i. Describe and apply the concepts of event driven programming.
ii. Explore access and manipulate data in a database
iii. Develop a simple system using Vb.Net
Course Content
Introduction to visual Programming,
What is a Visual Basic program?
Visual Basic is a programming language and development environment created by
Microsoft. ... Visual Basic provides a graphical user interface GUI that allows the developer to
drag and drop objects into the program as well as manually write program code.
What do you mean by visual programming?
A visual programming language (VPL) is a programming language that
uses graphical elements and figures to develop a program. A VPL employs techniques to
design a software program in two or more dimensions, and includes graphical elements, text,
symbols and icons within its programming context.
Introduction to a visual development environment, Designing User Interface,
Using controls,
What do you mean by visual programming?
A visual programming language (VPL) is a programming language that
uses graphical elements and figures to develop a program. A VPL employs techniques to
design a software program in two or more dimensions, and includes graphical elements, text,
symbols and icons within its programming context.
1
,Integrated development environment
An integrated development environment (IDE) is a software application that provides
comprehensive facilities to computer programmers for software development. An IDE normally
consists of at least a source code editor, build automation tools and a debugger. Some IDEs, such
as NetBeans and Eclipse, contain the necessary compiler, interpreter, or both; others, such
as SharpDevelop and Lazarus, do not.
The boundary between an IDE and other parts of the broader software development environment
is not well-defined; sometimes a version control system or various tools to simplify the
construction of a graphical user interface (GUI) are integrated. Many modern IDEs also have
a class browser, an object browser, and a class hierarchy diagram for use in object-oriented
software development.
IDEs present a single program in which all development is done. This program typically
provides many features for authoring, modifying, compiling, deploying and debugging software.
This contrasts with software development using unrelated tools, such as vi, GCC or make.
One aim of the IDE is to reduce the configuration necessary to piece together multiple
development utilities, instead it provides the same set of capabilities as one cohesive unit.
Reducing setup time can increase developer productivity, especially in cases where learning to
use the IDE is faster than manually integrating and learning all of the individual tools. Tighter
integration of all development tasks has the potential to improve overall productivity beyond just
helping with setup tasks. For example, code can be continuously parsed while it is being edited,
providing instant feedback when syntax errors are introduced, thus allowing developers to debug
code much faster and more easily with an IDE.
Some IDEs are dedicated to a specific programming language, allowing a feature set that most
closely matches the programming paradigms of the language. However, there are many multiple-
language IDEs.
While most modern IDEs are graphical, text-based IDEs such as Turbo Pascal were in popular
use before the availability of windowing systems like Microsoft Windows and the X Window
2
,System (X11). They commonly use function keys or hotkeys to execute frequently used
commands or macros.
Syntax highlighting
The IDE editor usually provides syntax highlighting, it can show both the structures, the
language keywords and the syntax errors with visually distinct colors and font effects.[3]
Code completion
Code completion is an important IDE feature, intended to speed up programming. Modern IDEs
even have intelligent code completion.
Refactoring
Advanced IDEs provide support for automated refactoring.[3]
Version control
An IDE is expected to provide integrated version control, in order to interact with source
repositories.[3]
Debugging
IDEs are also used for debugging, using an integrated debugger, with support for setting
breakpoints in the editor, visual rendering of steps, etc.[4]
Code search
IDEs may provide advanced support for code search: in order to find class and function
declarations, usages, variable and field read/write, etc. IDEs can use different kinds of user
interface for code search, for example form-based widgets[5] and natural-language based
interfaces.[6]
Visual programming
Visual programming is a usage scenario in which an IDE is generally required. Visual Basic
allows users to create new applications by moving programming, building blocks, or code nodes
to create flowcharts or structure diagrams that are then compiled or interpreted. These flowcharts
often are based on the Unified Modeling Language.
This interface has been popularized with the Lego Mindstorms system, and is being actively
pursued by a number of companies wishing to capitalize on the power of custom browsers like
those found at Mozilla. KTechlab supports flowcode and is a popular opensource IDE and
Simulator for developing software for microcontrollers. Visual programming is also responsible
for the power of distributed programming (cf. LabVIEW and EICASLAB software). An early
visual programming system, Max, was modeled after analog synthesizer design and has been
used to develop real-time music performance software since the 1980s. Another early example
was Prograph, a dataflow-based system originally developed for the Macintosh. The graphical
programming environment "Grape" is used to program qfix robot kits.
This approach is also used in specialist software such as Openlab, where the end users want the
flexibility of a full programming language, without the traditional learning curve associated with
one.
3
, Language support
Some IDEs support multiple languages, such as GNU Emacs based on C and Emacs Lisp,
and IntelliJ IDEA, Eclipse, MyEclipse or NetBeans, all based on Java, or MonoDevelop, based
on C#, or PlayCode.
Support for alternative languages is often provided by plugins, allowing them to be installed on
the same IDE at the same time. For example, Flycheck is a modern on-the-fly syntax checking
extension for GNU Emacs 24 with support for 39 languages.[7] Eclipse, and Netbeans have
plugins for C/C++, Ada, GNAT (for example AdaGIDE), Perl, Python, Ruby, and PHP, which
are selected between automatically based on file extension, environment or project settings.
Attitudes across different computing platforms[edit]
Unix programmers can combine command-line POSIX tools into a complete development
environment, capable of developing large programs such as the Linux kernel and its
environment.[8] In this sense, the entire Unix system functions as an IDE.[9] The free
software GNU tools (GNU Compiler Collection (GCC), GNU Debugger (gdb), and GNU make)
are available on many platforms, including Windows.[10] The pervasive Unix philosophy of
"everything is a text stream" enables developers who favor command-line oriented tools to use
editors with support for many of the standard Unix and GNU build tools, building an IDE with
programs like Emacs[11][12][13] or Vim. Data Display Debugger is intended to be an advanced
graphical front-end for many text-based debugger standard tools. Some programmers prefer
managing makefiles and their derivatives to the similar code building tools included in a full
IDE. For example, most contributors to the PostgreSQL database use make and gdb directly to
develop new features.[14] Even when building PostgreSQL for Microsoft Windows using Visual
C++, Perl scripts are used as a replacement for make rather than relying on any IDE features.
[15]
Some Linux IDEs such as Geany attempt to provide a graphical front end to traditional build
operations.
On the various Microsoft Windows platforms, command-line tools for development are seldom
used. Accordingly, there are many commercial and non-commercial products. However, each
has a different design commonly creating incompatibilities. Most major compiler vendors for
Windows still provide free copies of their command-line tools, including Microsoft (Visual C+
+, Platform SDK, .NET Framework SDK, nmake utility).
IDEs have always been popular on the Apple Macintosh's classic Mac OS and macOS, dating
back to Macintosh Programmer's Workshop, Turbo Pascal, THINK Pascal and THINK
C environments of the mid-1980s. Currently macOS programmers can choose between native
IDEs like Xcode and open-source tools such as Eclipse and Netbeans. ActiveState Komodo is a
proprietary multilanguage IDE supported on macOS.
Artificial intelligence[edit]
Some features of IDEs can benefit from advances in AI.[16] In particular, one can collect
information from IDE actions across developers in order to augment IDE features.[17] For
instance, a data-driven approach to code completion results in intelligent code completion.
Web integrated development environment[edit]
Main article: Online integrated development environment
4