Course Outline
Course details
- Introduction to C# and .NET: .NET Framework building blocks; Hello world in C#; Using Visual Studio 2015; Namespaces and assemblies
- Core C# Programming Constructs: Variables, operators, and statements; Reference types vs. value types; Conversions; Nullable types; Using the Console and String classes; Flow-of-control; Using implicit types
- More C# Programming Constructs: Defining methods; Input, output, and optional parameters; Method overloading; Arrays; Structures
- Defining and Using Classes: Defining classes; Defining constructors and finalizers; Defining properties; Creating and disposing objects; Defining constants and read-only fields; Static members; Partial classes/methods
- Inheritance and Polymorphism: Defining base classes and derived classes; Overriding methods; Abstract classes; Interfaces
- Exception Handling: Defining Try/Catch/Finally blocks; Throwing exceptions; Defining new exception classes; Defining Using blocks
- Creating Collections of Objects: Overview of generics; Using List collections; Using Dictionary collections
- What’s New in C# 6: Static using syntax; Auto-property initializers; Dictionary initializers; Exception filters; String interpolation
- Delegates, Events, and Lambdas: Overview; Defining simple delegates; Defining and handling events; Using lambda expressions
- Additional Language Features: Operator overloading; Extension methods; Object initializers; Anonymous types
- Introduction to LINQ: The role of LINQ; Simple LINQ query expressions; Using LINQ with collections; LINQ query operators
- Using the Entity Framework: EF classes and DbContext; Implementing relationships; Managing data; Additional techniques
- Introduction to Asynchronous Programming: Understanding the async and await keywords; Implementing asynchronous code
- Overview of MVC6: Creating an ASP.NET MVC application; Defining models, views, and controllers; Introduction to REST and Web API
Requirements
- At least 6 months programming experience
- Familiarity with OO concepts would be an advantage
Testimonials
The trainer focused on each persons requirements for the course and tuned the material to suit our goals.
Daniel Watkins
I appreciated Folio's wide breadth of knowledge. Not only was he familiar with the course content, but he also knew of constructs in languages we were familiar with to make examples more meaningful to us. During intervals he shared his knowledge of technologies and solutions outside the training scope to provide insights into other solutions we could use in future (and future training).
Raphael Keymer - Markit Valuations Limited
I really enjoyed the practical exercises.
Marcin Kocikowski
I genuinely enjoyed the workshop approach Tasks.
Mateusz Juszczak
I mostly was benefit from the trainer knowledge :).
Krzysztof Jeżewicz
I generally enjoyed the many useful and practical examples.
Daria Skalniak
I mostly liked the trainer knowledge and approach.
Piotr Kucharski
Brian was great.
Joel Spittlehouse
The atmosphere was easy going and Brian helped us understand with real life examples making it more comprehensive and tangible.
Kostal UK
it was at a comfortable pace, so you didn't get left behind
George Pearce - Kostal UK
Good explanations during the teaching sessions.
- Kostal UK
venue was nice, people running the venue were nice. the trainer was a genuine good guy.
Aiden Litchfield - Kostal UK
Exercises
- Kostal UK
knowledge, contact