So why would you choose to learn C# or ASP.NET?
C# has traditionally been used to develop web and desktop applications. In recent years, C# has made forays into cross-platform native mobile development using Xamarin, IoT (internet of things) development, and game development using Unity. You can even use C# to develop for the Universal Windows Platform (UWP), which allows you to create a single app that targets Windows desktops, tablets, phones, and Xbox One game consoles.
Learning C# will help prepare you to learn other languages. C# and Java (which is also used in a wide variety of situations, including Android development) are similar not only in their syntax, but share conceptual, architectural, and runtime similarities as well. C# and Swift (which is used to develop iOS apps) also share syntactic similarities (see Swift for C# Developers).
Since it’s initial release in 2002, C# and the .NET Framework have evolved at a steady rate, gaining new features such as generics, language integrated query (LINQ) capabilities, and rich support for asynchronous programming. By adding new features to C#, Microsoft has kept the language feeling fresh and current, allowing it to keep up with the demands of modern software development.
In June 2016, Microsoft released v1.0 of .NET Core and ASP.NET Core, new open source (hosted on GitHub) and cross-platformm (Windows, Linux, and macOS) versions of .NET and ASP.NET. Being able to develop and deploy ASP.NET apps on the platform of your choice opens up new scenarios, including mixed environment development teams and deploying your applications onto Linux servers.
Microsoft’s Visual Studio IDE (integrated development environment), provides developers with powerful tools for developing C# and ASP.NET apps. Visual Studio’s IntelliSense offers intelligent code completion that makes it easier and quicker for developers to write C# code. There’s even a free version available, Visual Studio Community, which gives all developers access to these great tools regardless of their situation.
C# and the .NET Framework are used by small to large businesses, all over the world. This has kept demand for C# and .NET developers at relatively consistent levels over the years (see the Indeed.com recent job trends data below). Learning C# is a great way to land a software development job in just about any market.
What Makes Treehouse Different
Now that you’ve decided to learn C# or ASP.NET, how do you go about doing that? If you’re new to programming, learning C# or ASP.NET can seem difficult or intimidating. At Treehouse, we understand what it’s like to be a beginner.
Our teaching team (more about us in just a bit) has carefully planned and crafted a gradual, step-by-step curriculum so that no prior programming experience is necessary for you to be successful. We take the necessary time to fully explain concepts while not making any assumptions about what you may or may not know. With this approach, you’re less likely to get frustrated. And if you do get stuck, we have a great community of students and moderators who can help you get back on track.
Video learning is reinforced with interactive quizzes and code challenges. Treehouse recognizes that active participation is a key part of successful learning, so we strive to make our courses as interactive as possible.
Active participation is a key part of successful learning, so we strive to make our courses as interactive as possible.
To get started with learning C# at Treehouse, you only need a web browser; no other software or tools are required! Our first three C# courses utilize Treehouse’s Workspaces, which allows you to create and manage projects and write code… all within a web browser. This allows you to focus on learning the C# language instead of hassling with installing and configuring software.
When possible, our courses are built around creating fun and engaging projects. For example, in our C# Basics course, as you learn the basics of the C# language, you’ll build a simple app called Fitness Frog that allows you to track your fitness activity. In a later course, ASP.NET MVC Forms, you’ll add forms to an MVC project in order to complete a web-based version of the Fitness Frog application.
Treehouse’s growing C# and ASP.NET library contains almost 31 hours of content across 14 courses and workshops. Regardless of which track you choose, Learn C# or ASP.NET Web Development, you’ll start with Jeremy McLain’s C# Basics and C# Objects courses.
C# Basics starts at the very beginning and teaches you how to write and read to/from the console as you learn about variables, conditionals, loops, and exceptions. By the end of the course, you’ll have created a program called Fitness Frog that keeps a running total of how much exercise you’ve done.
C# Objects builds upon those skills by teaching you the core principles of object-oriented programming (OOP). You’ll learn about classes, objects, methods, properties, and fields as you create a tower defense game.
In the Learn C# track, you’ll complete Jeremy’s C# trilogy, by taking the C# Intermediate course. In this course, you’ll learn more essential principles of object-oriented programming as you improve the Tower Defense game from C# Objects.
In the ASP.NET Web Development track, you’ll follow the C# Objects course with the ASP.NET MVC Basics course, where I’ll teach you how to use MVC and Visual Studio to create a comic book gallery website. You’ll learn how to create a new project, add controllers and views, model data, and create repositories.
Then you’ll continue on to the ASP.NET MVC Forms course, where I’ll show you to create forms using MVC. You’ll learn about various field types and form validation as we build a web version of the Fitness Frog application from C# Basics.
Beyond the foundational C# and ASP.NET courses, we have courses that’ll teach you how to query data using LINQ and how to read, write, and process data using streams. We also have a series of workshops that’ll introduce you to the Visual Studio IDE and show you more advanced features such as debugging, integrating with GitHub, and package management with NuGet.
Meet Our Teaching Team
Jeremy McLain and myself, James Churchill, are full-time teachers at Treehouse dedicated to creating the best C# and ASP.NET curriculum available anywhere.
Jeremy is a software engineer with 10 years of professional development experience across a wide variety of languages and platforms. He loves solving hard problems with the latest tools and technologies. Current interests include web mining, big data, data science, distributed systems, machine learning and natural language processing.
From time to time, we also use guest teachers to create content for our library. Carling Kirk, Dean Davidson, and Justin Horner bring a wealth of experience and knowledge to our teaching team and have provided invaluable contributions to our C# and ASP.NET library.
Treehouse’s C# and ASP.NET library will continue to grow!
In C# Collections, Jeremy will teach you how to use the various collection types provided by the .NET Framework to organize data so that it can be used efficiently. In Entity Framework Basics and Entity Framework Migrations (available in November and December respectively), I’ll teach you how to use Microsoft’s Entity Framework to manage your application’s data. And in Using Entity Framework with ASP.NET MVC (available in December), I’ll teach you how to use Entity Framework within the context of an ASP.NET MVC application.
Jeremy and I wish you good luck with learning C# and ASP.NET. Reach out to us on Twitter @Jeremy_McLain and @SmashDev and let us know how you’re doing. We’d also love to hear your feedback! Let us know what worked for you and what didn’t so that we can continue to improve our curriculum. Happy coding!