About this Series

Course Description

The C# 101 class is your way to get quickly up to speed using this highly flexible and powerful programming language. Throughout this 6-week 3D Buzz Member Sponsor exclusive course, you’ll be taken from the ground up through beginner-level techniques and beyond. The class has no programming skill level prerequisites, allowing anyone of any skill level to follow along!

Each week of the course will discuss a new essential topic in C# programming, starting with the most basic aspects and concepts. As the lessons progress, you’ll learn more detailed and advanced techniques and applications. Best of all, the live webinar nature of the class means that if you need assistance with any of the topics, you can get it right there during the session, direct from the instructors!

Registration for this course opens on Wednesday, February 22, 2012. Keep an eye on the 3D Buzz forums for an announcement, where we’ll give everyone the link to the registration page. We’re very excited to be able to provide live training, and hope to see everyone there!

As a reminder, this course is being provided as an exclusive training opportunity for 3D Buzz Member Sponsor subscribers. To find out how Member Sponsorship can jump start your education, click here!

Week 1 - Getting our feet wet

• Class Overview and Introductions
- What can be expected

• Where do we write our code? IDE
- Overview of Visual Studio 2010
- Concept of Solutions and Projects

• Application Types
- Console
- Windows
- DLLs

• Writing our first C# program
- Simple ‘Hello World’ console application

• Compiling and Running Applications
- Native vs managed vs dynamic

• C# Syntax Fundamentals (Also, the anatomy of our simple program)
- Main
- Keywords
- Comments
- Statements
- Whitespace/formatting
- Naming conventions
- Methods
- Types
- Namespaces

• Intro to .NET
- Why the need for the .NET platform?
- The role of the Common Language Runtime (CLR)
- The role of the Common Intermediate Language (CIL)

• Reading and Writing to the Console
- Console.WriteLine
- Console.ReadLine

• Introduction to Variables
- Types (string and int)
- Identifiers
- Declaring variables
- Assigning variables

• Basic Flow Control
- Introduction to ‘if’ statements
- Equality expressions


Week Description

Week 2 - The world of Data Types and Looping

• Various (simple) Data Types
- Integer
- Float
- Decimal
- Boolean
- Strings

• Conversions
- Explicit Casting
- Implicit Casting
- No conversion (Type Conversion without Casting):
Parse, TryParse, System.Convert, & ToString

• Type Categories
- Value Types
- Reference Types
- Stack and the Heap

• The concept of null and void

• Arrays
- What are they
- Declaring, Creating and assigning arrays
- Using arrays
- Array methods
- Length

• Intro to Looping
- While loop


Week Description

Week 3 - Lists, for loops and switching

• Introduction to Lists
- What are Lists?
- Declaring and Creating Lists
- Adding items into a list
- Removing items from a list
- Searching for items in a list

• for loops
- Why use for loops
- The syntax of a for loop

• foreach loops
- Why use a foreach loop
- The syntax of a foreach loop

• Introduction to Switches


Week Description

Week 4 - Methods, Methods and more Methods

• Review basic data types and looping

• Introduction to Methods
- What are Methods?
- Method Name
- Parameters
- Return types

• Calling Methods (Method Invocations)
- Namespace.Type.Method_Name(Parameters)
- Local variables and scope

• Method Overloading


Week Description

Week 5 - Exception Handling and Basic Debugging

• Enum
- Getting enum name

• Exception handling

• Basic debugging
- Breakpoints
- Step in/out/over
- Call stack
- Autos/locals


Week Description

Week 6 - Introduction to Object Oriented Programming

• Review methods

• Object Oriented Programming concepts/features
- Encapsulation
- Polymorphism
- Inheritance

• Introduction to Classes
- Declaring and Instantiating a class
- Access Modifiers
- Instance Fields
- Instance Methods

• Properties
- Getter/Setter and backing fields
- Automatic Properties
- Properties with functionality

• Constructors

• this Keyword

• Static Classes & Static Members

• Refactor application from last week using basic OO (classes as bags of properties)


Week Description