Are you sure you want to cancel your subscription?

If you cancel, your subscription will remain active through the paid term. You will be able to reactivate the subscription until that date.

Sorry to see you go

Your subscription will remain active until . If you change your mind, you may rectivate your subscription anytime before that date.

Are you sure you want to reactivate?
Welcome Back!

Your subscription has been reactivated and you will continue to be charged on .

Reactivate Subscription

Thank you for choosing to reactivate your subscription. In order to lock in your previous subscription rate, you owe: .

Your Subscription term is from - .

Questions? Call Sales.

Payment Due:

Auto-Renew Subscription

To auto-renew your subscription you need to select or enter your payment method in "Your Account" under Manage Payments.

Click continue to set up your payments.

CBT Nuggets License Agreement

Unless otherwise stated all references to “training videos” or to “videos” includes both individual videos within a series, entire series, series packages, and streaming subscription access to CBT Nuggets content. All references to CBT or CBT Nuggets shall mean CBT Nuggets LLC, a Delaware limited liability company located at 44 Country Club Road, Ste. 150, Eugene, Oregon.

A CBT Nuggets license is defined as a single user license. Accounts may purchase multiple users, and each user is assigned a single license.

  • GRANT OF LICENSE. CBT Nuggets grants you a non-transferable, non-exclusive license to use the training videos contained in this package or streaming subscription access to CBT content (the “Products”), solely for internal use by your business or for your own personal use. You may not copy, reproduce, reverse engineer, translate, port, modify or make derivative works of the Products without the express consent of CBT. You may not rent, disclose, publish, sell, assign, lease, sublicense, market, or transfer the Products or use them in any manner not expressly authorized by this Agreement without the express consent of CBT. You shall not derive or attempt to derive the source code, source files or structure of all or any portion of the Products by reverse engineering, disassembly, decompilation or any other means. You do not receive any, and CBT Nuggets retains all, ownership rights in the Products. The Products are copyrighted and may not be copied, distributed or reproduced in any form, in whole or in part even if modified or merged with other Products. You shall not alter or remove any copyright notice or proprietary legend contained in or on the Products.
  • TERMINATION OF LICENSE. Once any applicable subscription period has concluded, the license granted by this Agreement shall immediately terminate and you shall have no further right to access, review or use in any manner any CBT Nuggets content. CBT reserves the right to terminate your subscription if, at its sole discretion, CBT believes you are in violation of this Agreement. CBT reserves the right to terminate your subscription if, at its sole discretion, CBT believes you have exceeded reasonable usage. In these events no refund will be made of any amounts previously paid to CBT.
  • DISCLAIMER OF WARRANTY AND LIABILITY. The products are provided to you on an “as is” and “with all faults” basis. You assume the entire risk of loss in using the products. The products are complex and may contain some nonconformities, defects or errors. CBT Nuggets does not warrant that the products will meet your needs, “expectations or intended use,” that operations of the products will be error-free or uninterrupted, or that all nonconformities can or will be corrected. CBT Nuggets makes and user receives no warranty, whether express or implied, and all warranties of merchantability, title, and fitness for any particular purpose are expressly excluded. In no event shall CBT Nuggets be liable to you or any third party for any damages, claim or loss incurred (including, without limitation, compensatory, incidental, indirect, special, consequential or exemplary damages, lost profits, lost sales or business, expenditures, investments, or commitments in connection with any business, loss of any goodwill, or damages resulting from lost data or inability to use data) irrespective of whether CBT Nuggets has been informed of, knew of, or should have known of the likelihood of such damages. This limitation applies to all causes of action in the aggregate including without limitation breach of contract, breach of warranty, negligence, strict liability, misrepresentation, and other torts. In no event shall CBT Nuggets’ liability to you or any third party exceed $100.00.
  • REMEDIES. In the event of any breach of the terms of the Agreement CBT reserves the right to seek and recover damages for such breach, including but not limited to damages for copyright infringement and for unauthorized use of CBT content. CBT also reserves the right to seek and obtain injunctive relief in addition to all other remedies at law or in equity.
  • MISCELLANEOUS. This is the exclusive Agreement between CBT Nuggets and you regarding its subject matter. You may not assign any part of this Agreement without CBT Nuggets’ prior written consent. This Agreement shall be governed by the laws of the State of Oregon and venue of any legal proceeding shall be in Lane County, Oregon. In any proceeding to enforce or interpret this Agreement, the prevailing party shall be entitled to recover from the losing party reasonable attorney fees, costs and expenses incurred by the prevailing party before and at any trial, arbitration, bankruptcy or other proceeding and in any appeal or review. You shall pay any sales tax, use tax, excise, duty or any other form of tax relating to the Products or transactions. If any provision of this Agreement is declared invalid or unenforceable, the remaining provisions of this Agreement shall remain in effect. Any notice to CBT under this Agreement shall be delivered by U.S. certified mail, return receipt requested, or by overnight courier to CBT Nuggets at the following address: 44 Club Rd Suite 150, Eugene, OR 97401 or such other address as CBT may designate.

CBT Nuggets reserves the right, in its sole discretion, to change, modify, add, or remove all or part of the License Agreement at any time, with or without notice.

Billing Agreement

  • By entering into a Billing Agreement with CBT Nuggets, you authorize CBT Nuggets to use automatic billing and to charge your credit card on a recurring basis.
  • You agree to pay subscription charges on a monthly basis, under the following terms and conditions:
    • CBT Nuggets will periodically charge your credit card each monthly billing cycle as your subscription charges become due;
    • All payments are non-refundable and charges made to the credit card under this agreement will constitute in effect a "sales receipt" and confirmation that services were rendered and received;
    • To terminate the recurring billing process and/or arrange for an alternative method of payment, you must notify CBT Nuggets at least 24 hours prior to the end of the monthly billing cycle;
    • You will not dispute CBT Nugget’s recurring billing charges with your credit card issuer so long as the amount in question was for periods prior to the receipt and acknowledgement of a written request to cancel your account or cancel individual licenses on your account.
  • You guarantee and warrant that you are the legal cardholder for the credit card associated with the account, and that you are legally authorized to enter into this recurring billing agreement.
  • You agree to indemnify, defend and hold CBT Nuggets harmless, against any liability pursuant to this authorization.
  • You agree that CBT Nuggets is not obligated to verify or confirm the amount for the purpose of processing these types of payments. You acknowledge and agree that Recurring Payments may be variable and scheduled to occur at certain times.
  • If your payment requires a currency conversion by us, the amount of the currency conversion fee will be determined at the time of your payment. You acknowledge that the exchange rate determined at the time of each payment transaction will differ and you agree to the future execution of payments being based on fluctuating exchange rates.

CBT Nuggets reserves the right, in its sole discretion, to change, modify, add, or remove all or part of the Billing Agreement at any time, with or without notice.

Microsoft Programming .NET 4 Software Development Fundamentals 98-361

Course Duration: 11:45:54
Introduction to Software Development Fundamentals
In this introductory Nugget, you'll learn how software runs in a computer, why we need programming languages such as C# and the tools we'll be using to build today's software. You'll also get familiar with the requirements for the 98-361 exam and how they relate to the Nuggets in this series. Note: The virtual Nugget Lab referenced in this series is not currently available.
Storage and Data Types
The basics of programming start with memory management and this Nugget will begin with how to store application data using variables, data types and how the .NET framework manages variables internally via the stack and heap. You'll also learn how code executes, the call stack and the anatomy of a C# application. We'll wrap this Nugget up with a lab on how to create a C# application and use variables, data types and arrays.
Decision Structures
Giving our application decision making skills allows us to control the flow of code execution. This Nugget will teach you how to document these processes using flowcharts and decision tables. You'll then see how to translate them into C# decision structures using if...then and switch statements.
Handling Repetition
Repetition allows us to write less code by re-using code, it also makes working with data structures such as arrays and collections a snap. This Nugget will get you familiar with how and when to incorporate loops into your applications. You'll learn all about the While, DoWhile, For and ForEach loops using a real world scenario and implement recursion to create a file system browser application.
Handling Exceptions
Errors happen -- this Nugget will show you how we can prepare our applications for these unexpected events by understanding where errors are likely to occur within our code. You'll get familiar with the details of structured exception handling and how it works before learning how to integrate error handling into an existing application.
Classes and Objects
Learning the techniques of Object-Oriented Programming (OOP) is vital to becoming a great software developer and this nugget starts with the basics. You'll learn what OOP is and how it helps us translate the real world into the digital world, and how we can think with an Object-Oriented mindset to help with the design process. You'll then learn how to create and design classes, turn them into objects, and work with them inside of an application to go full circle with OOP.
Mapping classes into a relational hierarchy will give our applications structure and clarity. This Nugget will show you how to do so using Inheritance; an OOP technique that helps us accomplish code reuse and simplify managing codebases. You'll learn how to create, implement and use base, derived, abstract and sealed classes. You'll also see how to utilize and work with a class hierarchy as objects within an application.
Polymorphism is a powerful OOP technique that allows us to create many forms of the same method or object. This Nugget will show you how to design your classes to leverage the power of polymorphism and implement it from an application -- you'll learn how to create virtual, sealed and abstract methods as well as how to work with overriding, overloading and method hiding.
Encapsulation can simplify programming against our classes. This Nugget shows you how to control the accessibility of code by using access modifiers and how to harness the power of interfaces to create pluggable components. You'll also learn how to create class libraries and turn them into reusable assemblies.
Application Lifecycle Management
Understanding the process of developing an application is beneficial to knowing the roles and responsibilites of everyone on the team. This Nugget will get you familiar with the software development cycle -- from the conceptual phase to releasing an application to the production environment.
Application Specifications
Making sense of specifications can be a daunting task for any developer. This Nugget will show you the basics of transforming requirements and specifications into UML diagrams and prototypes that can give you a better understanding of the application and provide assistance during the development process.
Algorithms and Data Structures
Storing large amounts of data and working with that data is going to require more than just your standard variable. This Nugget will show you how to work with common data structures that make it easy to work with collections of data -- you'll get familiar with arrays, arraylists, linked lists, stacks and queues. You'll also see how to implement a sorting algorithm to shape the data stored in data structures.
Web Page Development
Web developers need to understand both the client and server side of web development -- this means building web pages that are generated on the server side and rendered in the browser on the client side. This Nugget will give a brief overview of the client and server side technologies web developers will need to be successful at both ends in todays world. You'll then get familiar with client side technologies such as HTML, CSS and JavaScript.
Web Application Development
This Nugget will focus on server side techniques and technologies such as ASP.NET to build web applications. You'll understand how the web server handles requests, learn about the page life cycle and see how we can manage state on the client using cookies and the server using session state.
Web Hosting
This Nugget will get you up to speed on how to configure and manage a web server. You'll learn how to create sites, applications and virtual directories in Internet Information Services (IIS) as well as install and configure ASP.NET in IIS. This Nugget concludes with a look at how to deploy web applications to IIS from Visual Studio 2010.
Web Services
Web Services give developers a way to expose their applications' functionality over the internet. This training Nugget will show you the ins and outs of web services -- from understanding how they work through WSDL and SOAP to building, deploying, consuming and testing web services in Visual Studio 2010 and IIS.
Windows Forms Applications
This Nugget will show you how to build desktop applications using Windows Forms. We'll build a fun, fully functional Windows application while covering visual inheritance and multiple document interface (MDI) applications along the way. You'll also learn how to design an interface from the ground up.
Console-Based Applications
You'll learn why console-based applications are still widely used in the real world and why it's an excellent skill for programmers to have. You'll also see how to build a command-line application in the demo for this Nugget.
Windows Services
Windows Services are background applications that do not require user interaction and are a great WOW factor to have in your skill set. This Nugget will teach you how to create, build, test and deploy Windows Services while showing you how to send emails and log information to the Windows event log.
Relational Database Management Systems
Applications need a place to store their data and software developers need to understand how to work with these repositories so we can push data in and pull data out of databases. This Nugget will teach you the basics of database design -- normalization, entity relationship diagrams and how to properly design table structures. You'll also learn how to create these database objects using SQL Server Express through Visual Studio 2010's database explorer.
Database Query Methods
This Nugget will show you how to work with the data stored in a database. You'll learn the basics of the Structured Query Language (SQL) and how to create Stored Procedures using that knowledge. You'll also see how we can work with databases and their data using these methods from a .NET application.
Database Connection Methods
Understanding how to work with many different data sources is a skill employers like to see in developers. This Nugget will show you how to work with the most common data sources and data formats -- you'll learn how to export information from a database to a flat file, import information into a database from an XML file and work with in-memory data using ADO.NET DataSets.

No Bookmarks

This video training with Garth Schulte covers the basics of programming with Microsoft software, including topics such as storage and data types, polymorphism, database connection methods, and more.

Recommended skills:
  • Experience using Microsoft Visual Studio 2008 Professional Edition
  • Knowledge of software development

Recommended equipment:
  • Microsoft Visual Studio 2008 Professional Edition

Related certifications:
  • Various Microsoft Certified Technology Specialist Exams

Related job functions:
  • Software developers

Whether you're looking to begin a career in software development, freshen up on your fundamentals, study for the 98-361 MTA exam or just learn how to develop software for fun...the road starts here for software developers!

In this fantastic series from .NET 4 guru Garth Schulte, you'll gain a solid foundation in programming. Garth will help you understand the software development lifecycle, learn how to solve problems using algorithms, and build applications that target the desktop, the web, servers and databases. You'll become comfortable using the wildy popular C# programming language and Microsoft's latest and greatest runtime engine, the .NET Framework 4.0.

And of course, you'll finish the course ready to pass the 98-361 exam. Certification shows employers you know your stuff - and if your goal is the MCTS exam, 98-361 will serve as an important stepping stone to that incredibly marketable certification!

Note: The virtual Nugget Lab referenced in this series is not currently available.

This forum is for community use – trainers will not participate in conversations. Share your thoughts on training content and engage with other members of the CBT Nuggets community. For customer service questions, please contact our support team. The views expressed in comments reflect those of the author and not of CBT Nuggets. We reserve the right to remove comments that do not adhere to our community standards.

comments powered by Disqus
Community Standards

We encourage you to share your wisdom, opinions, and questions with the CBT Nuggets community. To keep things civil, we have established the following policy.

We reserve the right not to post comments that:
contain obscene, indecent, or profane language; contain threats or defamatory statements; contain personal attacks; contain hate speech directed at race, color, sex, sexual orientation, national origin, ethnicity, age, religion, or disability; contributes to a hostile atmosphere; or promotes or endorses services or products. Non-commercial links, if relevant to the topic, are acceptable. Comments are not moderated, however, all comments will automatically be filtered for content that might violate our comment policies. If your comment is flagged by our filter, it will not be published.

We will be continually monitoring published comments and any content that violates our policies will be removed. Users who repeatedly violate our comments policy may be prohibited from commenting.
Garth Schulte

Garth Schulte

CBT Nuggets Trainer


Area of Expertise:
Visual Studio 6, Visual Studio.NET Windows/Web Programming, SQL Server 6.5-2012

Course Features

Speed Control

Play videos at a faster or slower pace.


Pick up where you left off watching a video.


Jot down information to refer back to at a later time.

MP3 Downloads

Listen to videos anytime, anywhere


Files/materials that supplement the video training

Annual Course Features

Virtual Lab

Use a virtual environment to reinforce what you are learning and get hands-on experience.
Available only with the annual subscription.
Your browser cannot access Virtual Labs
Add training to a playlist
or create a new list
Add to current playlist
or add to an existing list
Add to new playlist