A New Year’s Resolution for Aspiring Programmers: Learn C# and UWP Development

Posted on January 13, 2017 by Paul Thurrott in Dev, Windows 10 with 42 Comments

A New Year's Resolution for Aspiring Programmers: Learn C# and UWP Development

Microsoft this week is promoting two free video learning series that will help you learn the C# programming and Universal Windows Platform (UWP) app development, respectively.

Both are presented by the amazing Bob Tabor of Developer University, whom I’ve recommended in the past—in The Best Way to Learn Windows 10 Development and Microsoft Posts Developer Videos for Windows 10 Version 1511, among others—and if I understand what’s happening here correctly, it looks like these two new series are updated from previous talks.

The first is called C# Fundamentals for Absolute Beginners and is aimed at true beginners, especially those that either don’t know C# at all or are, perhaps, just new to software development. Microsoft hasn’t yet announced the second, UWP-themed course, though they will do so very soon.

The C# Fundamentals for Absolute Beginners video series offers the following 25 episodes:

1 | Course Introduction
2 | Installing Visual Studio
3 | Creating Your First C# Program
4 | Understanding Your First C# Program
5 | Working with Code Files, Projects, and Solutions
6 | Understanding Data Types and Variables
7 | The if Decision Statement
8 | Operators, Expressions, and Statements
9 | for Iteration Statement
10 | Understanding Arrays
11 | Defining and Calling Methods
12 | While Iteration Statement
13 | Working with Strings
14 | Working with Dates and Times
15 | Understanding Classes
16 | More About Classes and Methods
17 | Understanding Scope and Accessibility Modifiers
18 | Understanding Namespaces and Working with the .NET
19 | Creating and Adding References to Assemblies
20 | Working with Collections
21 | Working with LINQ
22 | Enumerations and the Switch Decision Statement
23 | Gracefully Handling Exceptions
24 | Understanding Events and Event-Driven Programming
25 | Where to Go from Here

That looks really thorough. But Mr. Tabor also offers a variety of classes through Developer University that go well beyond that content.

For example, his C# Fundamentals class is over 30 hours long and takes the student far beyond the other C# courses that he created for Microsoft. “You’ll learn C# using ASP.NET to create dynamic web applications,” the course description notes. “Many people learn a programming language but never learned how to decompose problems into solutions using code. This course focuses on using the language to solve real business problems by building your problem-solving muscles one coding challenge at a time.”

Developer University also offers a number of other Bob Tabor classes that might be of interest, among them:

.NET Core 1.0. This 2+ hour course gets you quickly up to speed with foundational .NET Core concepts. It covers installation considerations, using the Command Line Interface Tooling to scaffold new projects, adding dependencies, compilation, packages, and much more! LEARN .NET CORE

Entity Framework Core 1.0. This 20 lesson course (in progress) mixes hands-on code & lectures covering Entity Models, work flows, ORMs, architecture, DbContexts, DbSets, Code First Workflow, Migrations, LINQ queries, conventions, and more. LEARN EF CORE

Thinking Like an Object Oriented Programmer. Object Oriented Programming is more than just learning about Classes, Objects, Properties, Methods and so on. It’s a programming philosophy, a “religion” filled with tenets, idioms, best practices, patterns. This course makes it simple to learn. LEARN OOP

And many more, as they say.

As you may know, I spent much of the second half of 2016 learning Android programming via a Udacity nanodegree program. And while I’m not quite done yet, that should be wrapping up soon. And when it does, I think I’ll be looking into some form of C#/Windows programming class next. The Developer University stuff looks inexpensive: You can access all of the site’s content for one year for just $100. (I pay more than that each month for Udacity.) Or you can enroll for a lifetime ($250) or pay per-course (That C# Fundamentals via ASP.NET Web Applications class is $50, for example.)


Join the discussion!


Don't have a login but want to join the conversation? Become a Thurrott Premium or Basic User to participate

Comments (42)

42 responses to “A New Year’s Resolution for Aspiring Programmers: Learn C# and UWP Development”

  1. 1377

    C# and .Net, sure. UWP, why?

    • 5611

      In reply to hrlngrv:

      Why not UWP? People keep saying that there are no new Win32 applications being created. If so, why not go UWP instead? UWP allows you to target future devices. It's a new framework designed to go forward into the future, in a way which allows devs to leverage their existing skills.

      • 7355

        In reply to WP7Mango:

        A lot of "future" and present devices that developers are focussed on, don't run Windows and never will. If you are dividing your time and knowledge up with what you can manage, UWP doesn't get a look in.

        Harsh, but the simple reality.

        • 1412

          In reply to Daniel_D:

          It's true that Windows is not the only platform for development; hence, Microsoft's strategic moves to open source .Net Core, acquiring Xamarin and making it free, and making Visual Studio cross platform (Mac version in preview).

          But in the context of this thread, the UWP is another platform among many for developers to target.   

    • 1412

      In reply to hrlngrv:

      What is it about UWP that makes you question its viability?

      • 9562

        In reply to mrdrwest:

        Consumer lack of interest in UWP

        Developer lack of interest in UWP.  

        Microsoft lack of interest in UWP.

        Xbox Division lack of interest in UWP.

        WinRT10/XAML based UWP development is dead since MS has abandoned WMobile, and placing Win32 programs in a UWP wrapper with the desktop converter is also pointless - it doesn't create any value for users.  UWP is dead.

        • 1412

          In reply to BoItmanLives:

          Consumers typically take what's given or do what they are accustomed to doing.

          Win32 and Windows Forms have a long productive/profitable history.

          But the negative comments I've seen regarding the UWP seem to be a knee jerk reaction to change - like "...that's the way we use to code and we liked it" and also group mentality-negative commenting- regurgitation.

          Admittedly, I'm no developer so I can't empathize with their viewpoint and aversion to the UWP.

          I can say that for my personal satisfaction I've used some excellent UWP apps.

          FUD is what I believe the UWP introduces and not what you bulleted as why it's a dead technology.

        • 1377

          In reply to BoItmanLives:

          Containers do make Win32 deployment and installation more secure, at least in theory, but as I understand it (and I admit I may be mistaken) containerized Win32 programs use more system resources. If I'm wrong about that or the added overhead is modest, then containers may be a better way to handle Windows software distribution. OTOH, it could also mean that UWP in the sense of successor to Modern UI/WinRT API is dead, dead, dead.

      • 1377

        In reply to mrdrwest:

        Name 2 broadly useful, must-have UWP apps with no desktop alternatives.

        Provide any PUBLIC information on Windows Store revenues (amounts rather than % changes) for any of the past 8 quarters.

        That is, provide any basis for believing UWP development has an ACTIVE customer base.

        • 1412

          In reply to hrlngrv:

          I'm not sure why you're asking me this since I wanted to know why the UWP viability is in question. But you're response is typical of what I've seen on other forums: They appear to demean the technology without really understanding what it is, but they aren't developers. Also, UWP apps can run on the desktop (if targeted by the developer), so IMO opinion your statement is an oxymoron

          Be that as it may, I can't provide any data since as you asserted, that information is not available to the public, which includes me. 

          Most of the useful apps I have were developed using Win32, most of it developed over 20 years ago and updated to now, thus they only lend themselves to desktop use.

          But, I list several UWP apps that are very useful to me that work on W10 and/or W10M:

          1. Facebook

          2. Series Tracker

          3. Tweetium

          4. FL Mobile 3

          5. 8 Zip (for when I don't need to script)

          6. Netflix

          7. Hulu

          8. Groove

          9. Grover Pro

          10. Drawboard PDF

          11. Grapholite



  2. 217

    We just had a meeting with our parent company and we're starting a new Xamarin project. I am so pumped!! We did one app in Xamarin last summer and we loved it. 

    Paul, Pluralsight offers a free 6 month subscription when you sign up with a MSFT Dev Essentials account. It's great! https://www.visualstudio.com/dev-essentials/

  3. 9201

    Nope Sorry,been writing in C# for fifteen years, and it's still preferred language and environment. But Microsoft dumped on us badly in Build 2011, and have sent us mixed messages ever since. Microsoft themselves don't believe in UWP gor their own premier Applications so why should we.

    • 5611

      In reply to Jules_Wombat:

      UWP doesn't stop you from writing in C# so I'm not sure what your point is?

    • 5914

      In reply to Jules_Wombat:

      Kinda with you on this, they say dev for UWP. Then phone get into trouble. They acquire Xamarin so I'm thinking that Xamarin will finish to replace UWP. Sad because UWP programs are fun to make.

    • 1412

      In reply to Jules_Wombat:

      "Microsoft themselves don't believe in UWP gor their own premier Applications..."

      Can you explain what you mean?

      • 1377

        In reply to mrdrwest:

        Full Office, as in full VBA support, full [D]COM add-in support, full access to Win32 API, full OLE/Automation support. Office Mobile, which is UWP, lacks those along with various other features in Excel and maybe the other programs.

        Whatever happened to Project Gemini?

        Where's the UWP version of Visual Studio? Where's the UWP manager front-end for Hyper-V? Why are there still only desktop versions of the bundled applets: Notepad, Wordpad, CharMap, Task Scheduler, Font Viewer, etc.? So far all MSFT has been motivated to produce are UWP Calculator and the new Paint program (to which I can say thank goodness XP's Paint still runs under Windows 10).

        • 6358

          In reply to hrlngrv:

          VBA support, DCOM support, Win32 support, OLE/Automation support... all of these things would undermine what UWP is. They are unsafe technologies that are difficult to use, full of security holes, and just messes up your system. UWP is looking to get away from all that, so supporting all that stuff would be senseless. If you want/need that, don't use UWP. Simple.

          What keeps me away from UWP is that it's a) W8.2 exclusive and b) the UI is so friggin' disgusting, even with the basic controls. It's so much more effort to make a nice GUI with UWP than with Windows Forms. And I just mean basics here. A button. A list box. A combo box. Nothing fancy. So guess what I'll be doing?

          • 5611

            In reply to Athena:

            Sorry, but I totally disagree. As a dev, you have full control over what your UWP app looks like in terms of the UI. And it IS simple - but it's more akin to web or WPF development rather than forms development. By the sound of it, you've only ever done forms development.

            I will add that I also use 3rd party control libraries - I don't just stick to the default Visual Studio controls.

          • 8578

            In reply to Athena: One person's safe environment is another's weak environment. In UWP can you automate the modification of all Office documents residing in a particular folder from the outside (i.e. without embedding macros inside the documents)? The interaction between tools and applications wasn't created to introduce vulnerabilities but rather because the capability is extremely useful.  


          • 1412

            In reply to Athena:

            I don't agree with your assertion about the UWP UI. 

        • 1412

          In reply to hrlngrv:

          Have you considered at this point in time most of the apps and technology you mentioned are more than a decade old and are deeply entrenched in businesses and other mission critical services? Support for them can't be abruptly abandoned. The UWP is a Windows 10 technology. Many businesses are still running on Windows 7.

          The legacy apps and technology you mentioned are likely not good candidates for the UWP, at least for now.

      • 9201

        In reply to mrdrwest:

        Well Can you name how many premier MS have been rewritten in UWP ?

        Its called practice what you preach.

        Dumping Skype in favour of Win32. Edge is still not in UWP.

        • 1412

          In reply to Jules_Wombat:

          Skype Preview is a UWP app available on PC, Mobile, Xbox, and Holographic.

          Perhaps at this stage of development of Edge, functionality and features aren't optimal as a UWP app.

          • 7355

            In reply to mrdrwest:

            Indeed, it would seem like Windows Store, almost everything is not yet optimal for a UWP app, if Microsofts use of the platform is any guide. Lets wait another three years and see how things have improved. In the meantime there are tools to learn for what people are using today.

            • 1412

              In reply to Daniel_D:

              Agreed. Developers need time to immerse themselves in this new Windows 10 application development paradigm. Thinking outside the box of legacy application development: I'm sure is a challenge. But writing one app that works on multiple Windows 10 devices is compelling.

              The UWP is a Microsoft application model designed for new Windows 10 development projects that lend themselves to multiple device deployment.

              As I said in a previous post, I'm not a developer. But I wrote some code (inspired by another app) to enumerate attached MIDI devices (still working on the guts and UI, UWP noob). It works on the desktop and my L950XL!

              How can developers ignore what the UWP represents?


              • 8578

                In reply to mrdrwest:

                The problem is that the only viable platform for UWPs so far is full Windows. Windows RT devices are gone, WP isn't a viable market, XBOX hasn't proven it drives app adoption and HoloLens isn't even available in a consumer version yet. 

  4. 5914

    I like Bob Tabor courses. Did 2 from him on the MVA.

  5. 459

    I'm a lifetime member of Developer University. Bob's classes are fantastic!

  6. 1412

    Bob Tabor is AWESOME! Watched his Beginner series videos on http://mva.microsoft.com to brush up on C# (not a noob, just a lazy programmer) and ended up watching the entire series beginning to end. I HIGHLY recommend this free resource and Bob Tabor's videos.

    Also check out his website http://devu.com His mission is to make learning approachable and affordable.

  7. 9562

    "Learn UWP development"

     Ahahahahahahahaha!  Thank you Paul, you brightened up my Friday.


  8. 442

    Developers, developers, developers....  :)

  9. 3216

    I hope MS does better with this than they did with their "certified professional" courses back in the 90's.  I attended a few of those and for the most part I knew more than the instructors did.  And I worked with a number of the "graduates" who had no real understanding of anything and certainly no depth of knowledge beside what they got out of the classes they took.

  10. 8578

    If the goal is to just learn programming concepts and program fun projects than UWP is fine, but if the goal is to learn something that leads to a job, there are much better alternatives. I say this not because UWP is a bad platform but because the market has largely rejected it. Independent developers rarely are able to support themselves through app development no matter which platform they choose, but at least there are employers who are interested in hiring Android and iOS developers. For the most part this isn't true for UWP. 

  11. 6190

    If you're building something new, arguably the first development is going to be a web application that works on any browser (although sometimes supporting IE is an issue) on any OS, and the next two are android and iOS.  As far as reaching customers is concerned, UWP is way down the list.  Perhaps if you're building something for inside the enterprise you might be forced to choose UWP, but even there CIOs are trying to get away from being forced onto a single end user device.