C# Fundamentals via ASP.NET Web Applications

The most complete C# course available | taught by Bob Tabor

Course description

View the text + images version of this course for free!

“This course will guide you to a watershed moment in your learning. If you’ve struggled to learn C#, Visual Studio, and how to translate ideas into working applications, then I personally guarantee you’ll break through upon completing this course.” — Bob Tabor

  • Carefully crafted explanations honed over 13 years of teaching beginners just like you. Concise, approachable, engaging.
  • Learn C#, Visual Studio, the .NET Framework and more while building real dynamic web applications (via ASP.NET Web Forms)
  • Guides you to learn the truly important concepts to be productive as quickly as possible.
  • Download the code, many with Before and After folders allowing you to quickly follow along and compare your work with Bob’s.
  • Review sessions that boil down topics to their essence while helping you build a handy cheat sheet for your reference.
  • Frequent code challenges help to cement ideas you’ve just learned. Compare how you solved the challenge with how Bob solved the challenge. Lifetime students enjoy a community of other learners who share their approach to the challenges and compare / contrast approaches.
  • Take quizzes on the material to test your knowledge.

30 hours of video plus many hands-on coding challenges requiring many additional hours of practice.

Course Curriculum

*NEW* C# Fundamentals via ASP.NET - Step-by-Step Online Text Version
See Link FREE
Hide Content
Lesson 1 - Getting Started
CS-ASP_001 - Series Introduction FREE
CS-ASP_002 - Installing the Tools You'll Need FREE
CS-ASP_003 - Building your First Web App FREE
CS-ASP_004 - Understanding What You Just Did FREE
CS-ASP_005 - Working with Projects in Visual Studio FREE
CS-ASP_005-Challenge - Challenge 1 FREE
CS-ASP_005- Challenge 1 Solution
CS-ASP_006 - Simple Web Page Formatting in Visual Studio
Lesson 1 Q & A
Code Files for Lesson 1
CS-ASP Cheatsheet
Hide Content
Lesson 2 - Data Types, Variables and Operators
Code Files for Lesson 2
CS-ASP_007 - Variables and Data Types
CS-ASP_007 Cheat - Variables and Data Type Cheat Sheet Review
CS-ASP_008 - Data Type Conversion
CS-ASP_008-Cheat - Data Type Conversion Cheat Sheet Review
CS-ASP_009 - Arithmetic Operators
CS-ASP_009-Cheat - Arithmetic Operators Cheat Sheet Reviews
CS-ASP_010 - C# Syntax Basics
CS-ASP_010-Cheat - C# Syntax Basics Cheat Sheet Review
CS-ASP_010-Challenge - Challenge Simple Calculator
CS-ASP_010-Solution – Challenge Simple Calculator Solution
Lesson 2 Q & A
Hide Content
Lesson 3 - Branching Logic, Comparison and Logical Operators
Code Files for Lesson 3
CS-ASP_011 - The Conditional if..else if...else Statement
CS-ASP_011-Cheat - Condition if..else if...else Cheat Sheet Review
CS-ASP_012 - The Conditional Ternary Operator
CS-ASP_012-Cheat – Conditional Ternary Operator Cheat Sheet Review
CS-ASP_012-Challenge – Challenge Conditional Radio Button
CS-ASP_012-Solution – Challenge Conditional Radio Button Solution
CS-ASP_013 – Comparison and Logical Operators
CS-ASP_013-Cheat – Comparison and Logical Operators Cheat Sheet Review
CS-ASP_013-Challenge – Challenge First Papa Bobs Pizza
CS-ASP_013-Solution – Challenge First Papa Bobs Pizza Solution
Lesson 3 Q & A
Hide Content
Lesson 4 - DateTime, TimeSpan and Calendar Server Control
Code Files for Lesson 4
CS-ASP_014 – Working with Dates and Times
CS-ASP_014-Cheat – Working with Dates and Times Cheat Sheet Review
CS-ASP_015 – Working with Spans of Time
CS-ASP_015-Cheat – Working with Spans of Time Cheat Sheet Review
CS-ASP_016 – Working with the Calendar Server Control
CS-ASP_016-Challenge – Challenge Days Between Dates
CS-ASP_016-Solution – Challenge Days Between Dates Solution
Lesson 4 Q & A
Hide Content
Lesson 5 - Working with ASP.NET and Formatting Strings
Code Files for Lesson 5
CS-ASP_017 – Page_Load and Page.IsPostBack
CS-ASP_018 – Setting a Break Point and Debugging
CS-ASP_019 – Formatting Strings
CS-ASP_019-Cheat – Formatting Strings – Cheat Sheet Review
CS-ASP_019-Challenge – Challenge Epic Spies Assignment
CS-ASP_019-Solution – Challenge Epic Spies Assignment – Solution
CS-ASP_019-Solution-QA – Maintaining Scroll Position on Postback
CS-ASP_020 – Maintaining State with ViewState
Lesson 5 Q & A
Hide Content
Lesson 6 - Arrays and Iteration Statements
Code Files for Lesson 6
CS-ASP_021 – Storing Values in Arrays
CS-ASP_022 – Understanding Multidimensional Arrays
CS-ASP_022-Cheat – Cheat Sheet Review for Arrays
CS-ASP_023 – Changing the Length of an Array
CS-ASP_023-Cheat – Changing the Length of an Array Cheat Sheet Review
CS-ASP_023-Challenge – ChallengeEpicSpiesAssetTracker
CS-ASP_023-Solution – ChallengeEpicSpiesAssetTracker Solution
CS-ASP_024 – Understanding Variable Scope
CS-ASP_025 – Code Blocks and Nested Statements
CS-ASP_026 – Looping with the for Iteration Statement
CS-ASP_026-Cheat – Looping with the for Iteration Statement Cheat Sheet Review
CS-ASP_026-Challenge – ChallengeForXmenBattleCount
CS-ASP_026-Solution – ChallengeForXmenBattleCount Solution
CS-ASP_027 – Looping with the while and do … while Iteration Statements
CS-ASP_027-Cheat – Looping with the while and do … while Iteration Statements Cheat Sheet Review
Lesson 6 Q & A
Hide Content
Evaluation: Quiz 3
Quiz Topic: Formatting Strings, Arrays, Iteration Statements
Hide Content
Lesson 7 - Methods
Code Files for Lesson 7
CS-ASP_028 – Defining and Calling Simple Helper Methods
CS-ASP_029 – Creating Methods with Input Parameters
CS-ASP_030 – Returning Values from Methods
CS-ASP_030-QA – Understanding Why Random.Next() Is Not Generating Random Numbers
CS-ASP_031 – Creating Overloaded Methods
CS-ASP_032 – Creating Optional Parameters
CS-ASP_033 – Creating Named Parameters
CS-ASP_034 – Creating Methods with Output Parameters
CS-ASP_034-Cheat – Methods Cheat Sheet Review
CS-ASP_034-Challenge – ChallengePostageCalculatorHelperMethods
CS-ASP_034-Solution – ChallengePostageCalculatorHelperMethods Solution
CS-ASP_034-Mega-Challenge – MegaChallengeCasino
CS-ASP_034-Mega-Solution-01 – MegaChallengeCasino – Solution Part 1
CS-ASP_034-Mega-Solution-02 – MegaChallengeCasino – Solution Part 2
CS-ASP_034-Mega-Solution-03 – MegaChallengeCasino – Solution Part 3
Lesson 7 Q & A
Hide Content
Lesson 8 - Working with Strings
Code Files for Lesson 8
CS-ASP_035 – Manipulating Strings
CS-ASP_035-Cheat – Manipulating Strings Cheat Sheet Review
CS-ASP_035-Challenge – ChallengePhunWithStrings
CS-ASP_035-Solution – ChallengePhunWithStrings Solution
Lesson 8 Q & A
Hide Content
Lesson 9 - Classes and Objects
Code Files for Lesson 9
CS-ASP_036 – Introduction to Classes and Objects
CS-ASP_036-Cheat – Introduction to Classes and Objects Cheatsheet Review
CS-ASP_036-Challenge-Part1 – ChallengeHeroMonsterClassesPart1
CS-ASP_036-Solution-Part1 – ChallengeHeroMonsterClassesPart1 Solution
CS-ASP_036-Challenge-Part2 – ChallengeHeroMonsterClassesPart2
CS-ASP_036-Solution-Part2 – ChallengeHeroMonsterClassesPart2 Solution
CS-ASP_037 – Creating Class Files, Creating Cohesive Classes and Code Navigation
CS-ASP_038 – Understanding Object References and Object Lifetime
CS-ASP_039 – Understanding the .NET Framework and Compilation
CS-ASP_039-Cheat – Classes, Objects, .NET Framework Cheat Sheet Review
Lesson 9 Q & A
Hide Content
Lesson 10 - Assemblies, Namespaces and Class Members
Code Files for Lesson 10
CS-ASP_040 – Namespaces and Using Directives
CS-ASP_040-Suppliment – The using Keyword and Removing Ambiguity Between Namespaces
CS-ASP_041 – Creating Class Libraries and Adding References to Assemblies
CS-ASP_042 – Accessibility Modifiers, Fields and Properties
CS-ASP_042-Suppliment – Exposing Objects, Arrays and Collections as Class Properties
CS-ASP_042-Cheat – Namespaces, Referencing Assemblies, Accessibility Modifiers Cheat Sheet Review
CS-ASP_043 – Creating Constructor Methods
CS-ASP_043-Suppliment – Creating a Constructor Call Chain
CS-ASP_044 – Naming Conventions for Identifiers
CS-ASP_045 – Static vs. Instance Members
CS-ASP_045-Cheat – Constructors, Naming Conventions and Static vs. Instance Cheat Sheet Review
CS-ASP_045-Challenge – ChallengeSimpleDarts
CS-ASP_045-Solution – ChallengeSimpleDarts Solution
Lesson 10 Q & A
Hide Content
Lesson 11 - Working with Collections
Code Files for Lesson 11
CS-ASP_046 – Working with the List Collection
CS-ASP_047 – Object Initializers
CS-ASP_048 – Collection Initializers
CS-ASP_049 – Working with the Dictionary Collection
CS-ASP_050 – Looping with the foreach Iteration Statement
CS-ASP_051 – Implicitly Typed Local Variables with the var Keyword
CS-ASP_051-Challenge – ChallengeStudentCourses
CS-ASP_051-Solution – ChallengeStudentCourses Solution
CS-ASP_051-Mega-Challenge – MegaChallengeWar
CS-ASP_051-Mega-Solution-01 – MegaChallengeWar Solution 1
CS-ASP_051-Mega-Solution-02 – MegaChallengeWar Solution 2
CS-ASP_051-Mega-Solution-03 – MegaChallengeWar Solution 3
CS-ASP_051-Cheat – Generic Collections, Initializers, foreach, var Cheat Sheet Review
Lesson 11 Q & A
Hide Content
Lesson 12 - Application Structure
Code Files for Lesson 12
CS-ASP_052– Creating GUIDs
CS-ASP_053 – Working with Enumerations
CS-ASP_053b– Creating Constants with the const Keyword
CS-ASP_054 – Understanding the switch Statement
CS-ASP_054-Cheat – Cheat Sheet Review: GUIDs, enums, const, switch
CS-ASP_055 – First Pass at the Separation of Concerns Principle
CS-ASP_056 – Understanding Exception Handling
CS-ASP_057 – Understanding Global Exception Handling
CS-ASP_058 - Understanding Custom Exceptions
CS-ASP_058-Cheat – Cheat Sheet Review: SoC & Exception Handing
CS-ASP_059 – Creating a Database in Visual Studio 2013
CS-ASP_060 – Creating an Entity Model in Visual Studio 2013
CS-ASP_061 – Displaying the DbSet Result in an ASP.NET GridView
CS-ASP_062 – Implementing a Button Command in a GridView
CS-ASP_063 – Using a Tools-Centric Approach to Building a Database Application
CS-ASP_064 – Using a Maintenance-Centric Approach to Building a Database Application
CS-ASP_064-Cheat – Cheat Sheet Review: Working with Data and the Entity Framework, GridView and Architecture
CS-ASP_065 – Creating a New Instance of an Entity and Persisting to the Database
CS-ASP_066 – Package Management with NuGet
CS-ASP_067 – NuGet No-Commit Workflow
CS-ASP_068 – Introduction to the Twitter Bootstrap CSS Framework
CS-ASP_069 – Mapping Enum Types to Entity Properties in the Entity Framework Designer
CS-ASP_070 – Deploying the App to Microsoft Azure App Services Web Apps
CS-ASP_070-Cheat – Wrap Up
CS-ASP_070-Mega-Challenge – Mega Challenge: Papa Bob’s
CS-ASP_070-Mega-Solution-Part01 – Papa Bob’s Mega Challenge Solution: Solution and Database Setup
CS-ASP_070-Mega-Solution-Part02 – Papa Bob’s Mega Challenge Solution: Creating and Testing the Entity Data Model Next we create the Entity
CS-ASP_070-Mega-Solution-Part03 – Papa Bob’s Mega Challenge Solution: Mapping Enums in the Entity Data Model
CS-ASP_070-Mega-Solution-Part04 – Papa Bob’s Mega Challenge Solution: Creating a Spike of Functionality through the Layers
CS-ASP_070-Mega-Solution-Part05 – Papa Bob’s Mega Challenge Solution: Building and Styling the User Interface
CS-ASP_070-Mega-Solution-Part06 – Papa Bob’s Mega Challenge Solution: Wiring Up the Presentation to the Domain Layer
CS-ASP_070-Mega-Solution-Part07 – Papa Bob’s Mega Challenge Solution: Adding a Lookup Table for Managing Pricing Information
CS-ASP_070-Mega-Solution-Part08 – Papa Bob’s Mega Challenge Solution: Calculating Totals and Finishing the Ordering Process
CS-ASP_070-Mega-Solution-Part09 – Papa Bob’s Mega Challenge Solution: Displaying the Orders in a GridView on the Order Management Page
CS-ASP_070-Mega-Solution-Part10 – Papa Bob’s Mega Challenge Solution: Adding the Completed Hyperlink Button to the GridView
Lesson 12 Q & A
Hide Content
Bob Tabor
Bob Tabor

Bob Tabor is an author, trainer, entrepreneur and five time Microsoft Most Valuable Professional award winner. He founded LearnVisualStudio.NET in February, 2002 in an effort to make training inexpensive and accessible to everyone. He was the first to create training videos on C# and .NET, ASP.NET, Visual Basic, Visual Studio, SQL Server and more. In 2004, Microsoft approach Bob about creating courses that would be included "in the box" in the various Visual Studio 2005 Express Editions. These became the very first video training courses hosted on Microsoft's own web properties. Since then Bob has created hundreds of hours of training featured on Microsoft's like Channel9 and Microsoft Virtual Academy. Universities, companies and non-profits around the world use Bob's training in their curriculum on a daily basis.

Before striking out on his own, he worked as a software development consultant in the Dallas, Texas USA area at large organizations like Ernst & Young, KPMG, Sprint, American Heart Association, Mary Kay Corporation and others. He has a degree in Management Information Systems from Loyola University of Chicago, but with regard to software development is self-taught. After struggling for years to grasp important software development ideas, he realized that the fundamental problem with training was that it was expensive and instructors were inconsistent in their knowledge and presentation skills. Bob is married, has two sons in college and lives in the Dallas, Texas, USA area.