# A-level Computing/AQA/VB

## Why VB?

VB.NET is an industry standard development platform. It offers a simple
syntax that is easy to learn by beginners, yet offering the latest
programming constructs and functionality.

-   The Visual Studio
    IDE provides a
    supportive platform for new programmers, flagging up errors before
    code execution, allowing for easy debugging and
    predicting code snippets. By predicting
    code snippets a new programmer can easily discover new program
    features that they probably otherwise wouldn\'t stumble across.
-   Visual Basic is not as strict as other languages and can normally
    handle you declaring a variable with a capital letter and using it
    with a lower case letter (some people might say that this is a bad
    point!).
-   Visual basic is also weakly typed,
    meaning that it won\'t cause new programmer so many issues when
    combining data types.
-   For the second year project VB.NET allows for quick creations of
    database links and forms.
-   Visual Basic .NET is currently the most popular language for A-Level
    Computing and wikibooks currently only supports VB.NET in its
    examples. (The official textbook supports all the languages)
-   VB.NET is compatible with Mono, which is an open-source project by
    Xamarin (Previously Novell); an implementation of the .NET framework
    which is compatible with many other operating systems. This means
    your programs can be ported over with minimal effort. There is also
    a compatible IDE (Integrated Development Environment) previously
    named \'MonoDevelop\', now named \'Xamarin Studio\', which although
    is no longer open-source, there is a free version available. Mono is
    also compatible with MonoGame, which can lead on to game programming
    for both PC/Mac/Linux and mobile devices.
-   VB.NET is a \'gateway\' programming language which is easier to get
    to grips with the concepts of programming. VB.NET easily leads on to
    more powerful and advanced programming languages like C# .NET which
    are more commonly used in the industry.

### VB.NET or VB 6.0

VB 6.0 has a long history and lots of
support in terms of teaching resources and available code. There are
also Development Environments freely available. However, as of March
2008 VB6 has entered Microsoft\'s \"non-supported phase\" and no further
development is being made on the language or the official development
environment. VB 6.0 is largely looked down upon within Universities and
thought by many not be be a good way to introduce programming.

VBA is a variant of VB 6.0
and is commonly used in Microsoft Office applications; especially Excel.
This can be useful for automating tasks and creating programs/games
within Excel.

VB.NET is a fairly new language built
upon the .NET framework. This means it offers interoperability with
languages such as C# "wikilink") and
F# "wikilink"). The Development
Platforms, Microsoft Visual
Studio (Windows only) and
Mono "wikilink") (cross platform), are being
actively developed and the language is fully supported by Microsoft.
VB.NET allows for easy Object Orientation and tools to create websites,
console applications and phone applications. Many academics look down
upon VB.NET, but it is unclear whether this might be a hang-over from
their hatred of VB 6.0.

The code written for each is not compatible with the other. Microsoft
provides a converter from VB 6.0 to VB.NET but it is not perfect.

Visual Basic.NET is currently the most popular language amongst centres
running AQA A-Level Computing and all code in this wikibook is provided
in VB.NET (there are plans to add python soon).

## Why not VB?

-   Due to VB.NET being a young language that isn\'t used much in
    universities there are fewer learning resources than you\'ll find
    with the other three languages. There is very little in the way of
    extension materials for learning the command line code required for
    Unit 1.
-   Students who don\'t have MS Windows at home might struggle to
    install the Mono development environment.
-   There is no \'portable\' version of the language
-   VB.NET is used less by industry than Java and Python (though you
    should be teaching concepts and not syntax!)
-   VB.NET is very much confined to Microsoft operating systems, and it
    is harder to port software over to GNU/Linux, OSX, BSD/other
    operating systems, due to its use of the Microsoft .NET Framework.

## Getting started

A free version of Visual Basic 2010
Express is available from
Microsoft.

The multi-platform
Mono project

## COMP1

COMP1 requires the student to sit an exam based around a command line
program published by AQA. There are very few command line tutorials for
VB.NET and the best currently available are:

-   studyvb.com
-   The Nelson Thornes AQA accredited
    textbook
-   This wikibook has a tutorial matched to the
    specification

Another way to start learning VB.NET is by starting with Microsoft Small
Basic as it is a simplified version of VB.NET: both these compilers are
available free. I would recommended that only a few weeks are spent
using this since there a number of differences, e.g., Visual Basic.NET
uses *Console* where Small Basic uses *TextWindow*.

Small Basic comes with a Tutorial
(PDF)
which is an introduction to programming and the language. Reference
Documentation is also available and
displays all the built-in Objects with their Properties and Operations.
Microsoft has also written a comprehensive
curriculum. It has the
feature to graduate to the full version and converts any Small Basic
programs in the process. One of the language\'s most useful features is
that it can publish any program online at a click of a button, providing
a shortened URL, but Silverlight is needed for this. Silverlight is
proprietary software and only officially works with Windows and OSX.
SmallBasic is not available for Linux and there are no open-source
alternatives (Like Mono and Xamarin Studio) and this may cause problems
with students who do not use a Microsoft based system.

## COMP3

To complete the COMP3 theory exam students should have experience of
programming many of the algorithms described. VB.NET allows for object
orientation with a few minor quirks.

## COMP4

The COMP4 project requires that students undertake a project of their
own. VB.NET offers the ability for students to build console apps,
forms, websites or phone apps. Students should not use Visual Basic for
Applications.

Microsoft has made video tutorials available on its Beginner Developer
Learning Center
which increase in complexity through three tiers. The first
tier introduces
the Visual Studio programming environment. The second
tier focuses on
the key features of the language through forms. Finally the third
tier follows
the development of an RSS reader, this can be useful for COMP4 projects.
They also have an
\[<http://msdn.microsoft.com/en-gb/library/bb330924(VS.80>).aspx
introduction document\] in the MSDN Library.

Home and Learn also offers useful tutorials on building a forms
application, Visual Basic .NET Programming for
Beginners.

The general wikibooks VB.NET article may
also be useful.

## Books

Useful printed books are as follows:

  Title                                                                     ISBN             Suitable for
  ------------------------------------------------------------------------- ---------------- ----------------------------
  Sams Teach Yourself Visual Basic 2010 in 24 Hours: Complete Starter Kit   978-0672331138   Applications and databases
  Visual Basic Game Programming for Teens (3rd edition)                     978-1435458109   Games and Graphics
  Sams Teach Yourself ASP.NET 4 in 24 Hours: Complete Starter Kit           978-0672333057   Websites
  (no known command line books)                                                              

