About this Series

Course Description

Welcome to the C# 102: The Journey Continues live online webinar class. This beginner/intermediate class builds upon the subjects previously covered in our C# 101: An Introduction class. Though it is not necessary to have actually completed the 101 class in order to take part, we highly recommend that you review the lessons, as we will be assuming most of the content from that class to be explored, apart from the occasional review.

If you need them, the video recordings of the C# 101 class are available in our Live Classes calendar, which you can find at the top of the page.

This class is an exclusive training opportunity for 3D Buzz Member Sponsors. Please be aware that those who are not registered and verified Member Sponsors will be ejected from any webinar sessions. We appreciate you keeping the registration link to yourselves.

Week 1

• Review:
- Variables
- Conditionals
- If
- Switch
- Loops
- While
- For
- Foreach
- Methods
- Params
- Return Values
- Basic Classes
• New Syntax:
- Inheritance
- Virtual members
- Override vs new
- Abstract classes/members
- Interfaces
• New BCL:
- System.IO.FileInfo
- System.IO.DirectoryInfo
- System.IO.Directory
- System.IO.File
• Demo of text RPG game
- Talk about format of data to be read in
- Provide data for basic, playable, game
• Homework:
- Create basic state system using interfaces
- Main menu state
- Load file state
- New game state
- Allow the user to select a file to load
- Help state
- Inform the user how to play the game

Homework

Week Description

Week 2

• Review:
- Reading text from files
• New Syntax:
- Partial classes
- Partial methods
- Sealed classes
• New Technique:
- Loading structured text data into internal data structures
- Abstracting loading from files and receiving the data using interfaces
• Design Discussion:
- SRP
• Homework:
- Create a level class
- Create a room class
- Create a loader class that builds a level based off of text from a file (predetermined format)

Homework

Week Description

Week 3

• New Syntax:
- Nested types
- Access modifiers
- Field initializers
- Conditional operator
- Null coalescing operator
• New BCL:
- Dictionary
- HashSet
- Queue
- Stack
• Design Discussion:
- Open-Closed principle
• Homework:
- Allow a user to move from room to room

Homework

Week Description

Week 4

• Review:
- Implicit typing
• New Syntax:
- Collection/array initializers
- Readonly
- Const
• New Technique:
- Use polymorphism to provide different actions on different objects (ILookable, IMovable)
• Design Discussion:
- Liskov Substitution principle
• Homework:
- Allow a user to interact with items from within a room

Homework

Week Description

Week 5

• Review:
- Saving data to a file
- using construct
• New Syntax:
- Nullable value types
- Extension methods
- IDisposable implementation
• New Technique:
- Saving data using interfaces to separate format with data
• Design Discussion:
- Interface segregation principle
• Homework:
- Allow a user to pick up items from the world and store them in his inventory
- Allow a user to use items in their inventory
- Allow a user to save their game

Homework

Week Description

Week 6

• Review:
- Foreach loops
- Collections
• New Syntax:
- IEnumerable implementation
- Iterator blocks
• Design Discussion:
- Coupling (implicit/explicit)
- Cohesion
- Indirection
• Homework:
- Allow the user to win or lose the game

Homework

Week Description

Week 7

Week 7

Homework

Week Description

Loading...