These videos have a large amount of content; as such, I will
not be covering every section in depth in this review. I will mainly cover the
highlights (the sections I thought were very helpful, along with some sections
I felt could be improved or expanded upon) and will clump together certain
related sections. I will also include a brief description of each topic.
1) Introduction to Windows Forms, Taking Advantage of
the Form Event Model, and Common Windows Forms Controls
These are the first three modules in the series. They
really encompass the same topic, serving as a very good general introduction to
Windows programming. When I watched these I had never done anything with
Windows programming and can honestly say that after watching them I have a much
firmer grasp on the various foundational concepts involved. The sample
programs provided with these modules are very easy to follow and simple enough
for an amateur developer to understand.
2) Exception Handling
This is an excellent introduction to exception handling. This
module encapsulates so much information about handling exceptions.
3) Working with Strings and Dates
Again, not having much experience with C# to begin with,
this was an indispensable lesson. The instructors review the basic .NET Data
Types and go in depth about working with strings and dates. There are many
little things that I often forget how to do when it comes to manipulating
strings and dates even months after watching these videos, but it is nice to
know that I can use the lesson and the sample program to find the answers I
need. There are still many things from these that I have not used in practice,
but it definitely taught me a lot about the potential of string and date
formatting in .NET.
4) Accessing Data, Data Binding Techniques, Using the
Data Controls
For me, these sections were among the most important. At my
job I do a lot of database-related work that requires multiple methods of
interfacing with SQL Server 2005 Databases. The Accessing Data module covers a
lot of important concepts in working with ADO.NET and does a great job of it. Granted,
a lot of what is presented is based on Windows application programming, but the
concepts are presented generally enough that they can be adapted to different
environments.
Within this section there is also a lesson on Data
Validation that is very practical and useful. Robert covers validation at the
form level and the data level, including how to use event-driven techniques for
validation.
Data controls are covered fairly well here too, at least
enough to jump in and start getting your feet wet using them (as I think is the
idea with most of these lessons).
5) Handling Input/Output Tasks
This section was very helpful for me as well. Coming from a
C++ background, I found that I/O tasks were quite different (in syntax) in C#
when I started learning how to code in it. There are many lessons on this
topic, starting with a good introduction to the System.IO namespace and
continuing to cover topics like I/O streams, working with files and folders,
and working with paths. The examples for these topics are well thought out and
illustrate many of these concepts in an easy to understand way, especially when
used in conjunction with the videos.
6) Project Settings in Visual Studio 2005, Debugging
Your Applications
This is a good reference for working with various properties
in Microsoft Visual Studio 2005 and debugging applications. There are lessons
which teach you how to work with the Project Designer and various properties
(application, compilation, debugging). Project references, resources, and
settings are also covered in detail and I have found the lessons to be very
useful in practice.
The debugging section here is also GREAT! I cannot stress
how useful the contents of the debugging lessons have been. Before I got to
this lesson, I really did not realize just how powerful Visual Studio's
debugging features are. Breakpoints, stepping through, evaluating variables,
edit and continue (my favorite!), tracing, and even debugging assembly code are
all covered. I cannot say enough about how much I took from these lessons; it
was really great stuff!
7) Container Controls
I do not do much design work, but these lessons do give some
great tips on how to get started with using the various available container
controls in Visual Studio. I know if I ever need to design a relatively complex
web page, these lessons and the examples that come with them will be one of the
first references I will turn to.
8) Menus and Toolbars
This mainly covers the ToolStrip controls in Visual Studio
2005. Again, something I do not use much in practice, but useful lessons
nonetheless.
9) Creating MDI Applications
This is something I have not really used yet in practice,
but they were good lessons and had good examples to accompany them. Includes
lessons on what MDI applications are, working with parent and child forms, and
managing the tasks involved in MDI programs.
10) Complex Windows Forms Controls, Creating Custom
Controls
The lessons on complex Windows forms controls are pretty
much just a marathon run-down of a whole bunch of Windows controls. Helpful? Definitely,
but this is where one of my few criticisms of the AppDev videos surfaces.
Sometimes the videos really do just become a rundown of
various controls/properties that can take a really long time to get through. Sometimes
I found myself wondering if a lot of this could have been included in the reference
material or even just briefly touched on with some suggested resources to refer
to. I am not complaining about the information being available in the videos,
but it can be grueling to sit through when I could easily Google search for a
given control and look all of its properties up or even refer to Microsoft's
documentation. These lessons are still good, but I might not recommend just
sitting through all of them. I would just refer to them as you need them. The
examples for all of these are nice, though. I would really suggest loading
them up in VS 2005 and trying them out.
The lessons on creating custom controls are very good. They
explain how you can inherit from existing controls to make your own or just how
to go about making your own controls from scratch. In my opinion, this is one
of the foundational topics in the video series that I am glad to see covered. This
is something that beginning developers will learn to use time and time again as
an elegant solution to many problems.
11) Working with ToolBox Components, More ToolBox
Components
This is an important section for Windows programming. Components
covered are:
·
FileSystemWatcher Component
·
Process Component
·
EventLog Component
·
Timer Component
·
BackgroundWorker Component
·
PerformanceCounter Component
·
ServiceController Component
12) Interoperability
This covers lessons on using COM. To be honest, this topic
seemed pretty advanced to me (especially for a beginning developer who has
never used COM and compared to a lot of the other lessons). It seems to be a
good starting point for learning how to use COM, however, and if I ever wish to
use it I will watch the videos and follow the examples much more closely. The
lessons cover calling COM from .NET and vice-versa, using platform invoke, and
web services.
13) Deploying Applications using Click-Once
This was a very cool and informative set of lessons. The
videos illustrated the kind of power a programmer has when deploying his or her
application and how to use that power effectively. The deployment options in
VS 2005 are really nice. Personally, I have not yet used them in detail, but I
look forward to it.