Want to learn a different language? Over the course of 26 episodes, our friend Bob Tabor, from www.LearnVisualStudio.net, teaches you the fundamentals of Visual Basic programming. Tune in to learn concepts applicable to video games, mobile environments, and client applications. We walk you through getting the tools, writing code, debugging features, customizations, and much more! Each concept is broken into its own video so you can search for and focus on the information you need.
Instructor | Bob Tabor – Microsoft MVP
Welcome to this series of lessons about the Visual Basic programming language. Bob Tabor, from LearnVisualStudio.NET, introduces the topic, sets expectations for the series, provides tips on how to get the most out of it, instructs you on where you can download the software you need to get started, and offers some encouragement as you begin your journey.
If you're not sure which version of Visual Studio to install or how to go about it, this video guides you in the right direction. You may skip this lesson if you already have Visual Studio 2013 Professional or later installed or if you have Visual Studio Express 2013 for Windows Desktop or later installed.
In this lesson, you create a simple application twice—the first time using Windows Notepad and the Visual Basic Command Line Compiler, and the second time using Visual Studio or Visual Basic Express Edition. See how much easier your work becomes by utilizing an Integrated Development Environment (IDE). The video concludes by explaining common solutions to the many different problems you might encounter as you first begin writing and compiling code.
Explore at length each action and line of code you wrote. This lesson highlights the relationship between the Visual Basic code you write, the Visual Basic compiler, and the .NET Framework. We discuss the concept of code blocks at a high level. Finally, the lesson shows you where your project files are stored and the different types of compilation.
This lesson demonstrates some of the common features of the Visual Studio IDE found in Visual Basic Express Edition. A more complete discussion of features is found in the Visual Basic Express Edition Fundamentals and the Visual Studio Fundamentals series, also available on Channel 9.
Here, we start adding Visual Basic syntax to your vocabulary by talking about fundamental building blocks: data types and variables. Then, we go beyond the basics, with topics such as naming conventions and explicit versus implicit data type conversions.
Branching allows us to add logic to our applications. In this lesson, we introduce the If Decision statement (in its various forms) and the IIf conditional function. We also discuss how to refactor our code to make it more compact and less likely to produce errors, by eliminating duplicate code.
In this lesson, we discuss how to create a properly formed statement in Visual Basic. We see how statements are made up of expressions, and expressions are made up of operators (think: verbs) and operands (think: nouns). Finally, we talk about compilation errors that occur because we ignore the syntax rules of Visual Basic.
Iterations allow our applications to loop through a block of code until a condition is satisfied. We cover several different types of iteration statements throughout this series, and we start with the for iteration statement. Bob demonstrates how to utilize "code snippets" to help remind you of the syntax for this complex statement, and he demonstrates debugging in action.
Now, we talk about arrays, demonstrate how to declare and utilize arrays, setting and retrieving their values, initializing their values, and attempting to access values outside of the boundaries of the array. Finally, we demonstrate some of the powerful built-in methods that give arrays added features.
In this video, we begin wading into the topic of methods by creating a helper method to break out code we may need to use in multiple places within our code. We create and call our methods to retrieve a value, create and use input parameters, learn about string formatting, and create overloaded versions of our method.
In this lesson, we learn a new type of iteration statement (while) and how to utilize the StreamReader class to stream data from a file to the Console window. We also explore how to add new files to our project, how to set properties of our file using the Properties window, and how to add a using statement as a means of resolving a class name referenced in our code to the namespace in which it is defined.
Since oftentimes in our applications we'll want to work with string data, this lesson approaches a number of different string manipulations. We look at built-in String methods to manipulate the content inside of a literal string and at the StringBuilder class for concatenating many strings together in a memory and resource-friendly manner.
Dates and times are represented using special types (just like strings are) and deserve some attention. In this lesson, we learn how to work with Date and Time data, create new instances of Date, add time, and format the data for display. We also discuss the TimeSpan class as a means of representing a duration of time.
Classes are integral to the .NET Framework, particularly the .NET Framework Class Library. As a means of better understanding what classes are—particularly as utilized in the .NET Framework—we demonstrate how to create your own custom classes. We also demonstrate how classes are defined and new instances are created. And we show how to define Properties.
Now, we dig into more details about classes. What exactly happens when you create a new instance of a class? What is a reference to an instance of a class? How is it affected when you pass the reference to a method? We also review overloaded methods and talk about static versus instance methods and about constructors.
This lesson continues to teach concepts about classes (specifically, in this case, inheritance), by showing you how to utilize inheritance in custom classes you can create. You learn about overriding virtual functionality, abstract base classes, and sealed classes.
We explain how Namespaces allow us to disambiguate classes that may share the same name. We also discuss how the .NET Framework Class Library is so large that including all its classes in every application you write is a waste of system resources. We look at how certain project templates include those references to the typical assemblies required by a given type of application.
We begin by discussing the scope of variables within code blocks, and then we explain how accessibility modifiers, such as Public, Private, and Protected, are used by the .NET Framework Class Library to expose or hide implementation of their given services to consumers of that given class. This is sometimes referred to as "encapsulation." Finally, Bob explains what gives Modules their special powers.
We begin demonstrating the use of Enumerations, we create our own custom enumeration, and then we utilize it in a simple application that demonstrates a third Decision statement, the switch. We also show some Visual Studio IDE magic that automatically implements code blocks for all possible enumeration values.
Exceptions occur when an application experiences some unexpected problem at run time. This lesson discusses how to use the try catch finally block to anticipate potential problems and to attempt to shield the end user from those problems. We explore best practices, and we discuss the mindset of the conscientious software developer who seeks to provide the best possible experience for his users.
Collections are a more powerful form of arrays. In this lesson, we demonstrate an "old style" collection (pointing out their limitations) in addition to several of the newer, strongly typed generic collections (List(Of T) and Dictionary(Of T1, T2)) utilizing the generics syntax.
We start by talking about how Structured Query Language provides a means of working with sets of data. In a similar way, the LINQ syntax provides a simple way of working with groups of data in generic collections. We demonstrate projecting data into existing types and new anonymous types.
In this lesson, we demonstrate how events are utilized in the .NET Framework Class Library specific to Silverlight, WPF, and ASP.NET Web Forms applications. We see how Visual Basic is generated by the IDE to "wire up" a user action or application event to code that handles that event. The point is that there's a pattern to how .NET works with events and how events drive most Graphical User Interface based applications.
This video demonstrates the use of the My Namespace in Visual Basic which provides a shortcut to often-used classes in the .NET Framework Class Library. We demonstrate how to use the My Namespace to retrieve information about the user's computer, search for files on the file system, perform file and directory manipulation, get command line arguments, and work with application settings.
In this final video, Bob talks about approaches to solving common issues that arise for new software developers, where to turn for help, how to search for answers to technical questions, and how to become part of the .NET community. Finally, he provides a long-term path that you can follow to learn more about developing Windows and web applications.
Free Microsoft Training Delivered by Experts