Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/martinwoodward/csharpworkshop

Workshop content on Learning C# on Linux using .NET Core
https://github.com/martinwoodward/csharpworkshop

asp c-sharp csharp training workshop

Last synced: 3 months ago
JSON representation

Workshop content on Learning C# on Linux using .NET Core

Awesome Lists containing this project

README

        

# Workshop: Learning C# on Linux

This repository contains the content for a workshop I am putting together
on Learning C# on Linux using .NET Core. This is a work in progress
so feel free to contribute.

Also take a look at the official Microsoft [C# Interactive Tutorial](https://www.microsoft.com/net/tutorials/csharp/getting-started).
Note that the online tutorial contains an interactive playground environment allowing you to try out the
majority of the C# code in these exercises as well is you don't wish to install the `dotnet` environment on your machine.

A copy of the introductory slide deck accompanying this tutorial is available [here](https://1drv.ms/p/s!AnoZDWDiiqDHxd84US2gj0Kp_DAT4A).

## Learning C# on Linux
C# is a modern, advanced general purpose programming language and is now fully open source and supported on Linux.
In this short workshop you will learn how to be productive with the new modern C# on Linux,
what it is like building high performance web workloads in ASP.NET and what tooling support you have available.

**Target Audience:** This workshop is aimed at developers with no prior knowledge of C#
but have some experience with other programming languages or would like a refresher on the modern C# language.

## Workshop Contents

1. [Getting Started](001-Getting-Started/) - Installing pre-requisites and getting .NET Core installed on your system
2. [Hello C# World](002-Hello-CSharp/) - Learn the structure of a basic C# program
3. [C# Language Basics](003-Language-Basics/) - Learn the basics of the C# language such as variables, expressions,
control flow, loops, type system, inheritance, generics and more.
4. [Properties](004-Properties/) - Defining properties in C# classes
5. [Delegates and Lambda expressions](005-Lambdas/) - Understanding delegates and lambda expressions in C#
6. [LINQ](006-Linq/) - An introduction to Language Integrated Query (LINQ)
7. [Asynchronous Programming](007-Async/) - How to use .NET's built in support for asynchronous programming
8. [ASP.NET](008-Asp.net/) - Building Web Applications with ASP.NET Core

## Additional Reading
For more information and additional tutorials related to learning C# on Linux see the following.
- [C# Interactive Tutorial](https://www.microsoft.com/net/tutorials/csharp/getting-started)
- [.NET Core Documentation](https://docs.microsoft.com/en-us/dotnet/articles/core/)
- [Web Applications with ASP.NET Core](http://docs.asp.net/en/latest/index.html)

## Books
C# has many excellent books from many different authors. While .NET Core is still very new there
are not many books about it yet specifically but if you are an experienced developer wanting to
learn C# the following books are excellent choices to learn more:
- [C# in Depth](http://amzn.to/1PUBo8A) by Jon Skeet
- [Effective C#](http://amzn.to/1UK88zq) by Bill Wagner
- [Professional ASP.NET MVC 5](http://amzn.to/1o6bh20) by Jon Galloway, Brad Wilson, K. Scott Allen, David Matson
- [C#6.0 and the .NET 4.6 Framework](http://amzn.to/1PUC8uh) by Andrew Troelsen and Philip Japikse