C# For Programming Games

C# is widely-used to create games using the Unity game engine, which is the most popular game engine application today. More than a third of top games are made with Unity, and there are approximately 770 million active users of games created using the Unity engine. 

5 days - $2,995.00

Prerequisites:

Basic computer programming is helpful.

Course Outline 

Application Development Fundamentals
Overview of Programming Concepts
Understanding the Structure of a C# Program
Understanding Data Types
Working with Variables
Reading From and Writing to the Console
Overview of the .NET Framework
Using Visual Studio
Thinking Like a Programmer
Designing Algorithms
Finding Patterns in Code

Working with Data 
Using Integer Data Types
Using Floating Point Data Types
Using Characters and Strings
Using Dates
Using Booleans
Working with Constants and Literals
 
Object-Oriented Programming
Understanding Object-Oriented Concepts
Designing Classes
Coding Properties and Methods
Initializing Objects with Constructors
Overloading Constructors
Declaring and Instantiating Objects
Calling Properties and Methods
Understanding Value Types vs. Reference Types
Working with Shared Data Members and Methods
Thinking Like a Programmer
Finding your Classes
 
Working with Data Collections
Understanding Arrays
Declaring and Instantiating Arrays
Iterating through Arrays
Working with System.Array Methods
Copying, Sorting, Searching and Resizing
Passing Arrays to Methods
Working with param array Parameters
Working with Command-line Arguments
Understanding .NET Collections
Managing Data Using List
Managing Data Using Dictionary<TKey, TValue>
Working with LINQ
Making LINQ Queries
Enumerating LINQ Query Results
Working with Anonymous Types
Using Extension Methods with LINQ
 
Building GUIs with Windows Forms
Overview of Windows Forms
Designing Forms
Working with Controls
Using Labels and Textboxes
Using Buttons
Using Checkboxes and Radio Buttons
Using Menus
Using List Controls
Handling Events
 
Exception Handling
Understanding Exception Handling
Using try/catch to Handle Exceptions
Working with the Exception Class
Understanding Exception Propagation
Using finally to Manage Cleanup Processing
Throwing Exceptions
 
Working with Strings
Working with the String Class
Working with String Literals and Escape Sequences
Understanding String Manipulation Performance Issues
Working with the StringBuilder Class
Formatting Output with String.Format
 
Managing the Flow of an Application
Conditional Constructs
Working with if/else Constructs
Working with switch
Looping Constructs
Working with while Constructs
Working with for and foreach
Thinking Like a Programmer
Making Decisions
Designing Loops
 
Using Procedures to Modularize Code
Defining and Calling Subroutines
Defining and Calling Functions
Understanding Variable Scope
Overloading Procedures
Passing Parameters
Understanding by value vs by reference Parameters
Understanding the Call Stack
Thinking Like a Programmer
Finding the Procedures
Refactoring
Improving Productivity with Snippets
 
Understanding Namespaces
Understanding the Role of Namespaces
Understanding .NET Namespaces
Defining Custom Namespaces
Referencing Members in a Namespace
Using the using Statement
Building Inheritance Hierarchies
 
Understanding Inheritance
Building Derived Classes
Understanding Constructors in Derived Classes
Defining and Using Protected Class Members
Understanding Polymorphism
Defining Overridable Methods
Overriding Methods
Understanding Abstract Classes
Defining Abstract Classes
Inheriting from Abstract Classes
 
Accessing Databases Using ADO.NET
Understanding the ADO.NET Object Model
Opening Connections
Executing Queries Using Commands
Iterating Through Results Using DataReaders
Calling Stored Procedures
Passing Parameters to Stored Procedures
Working with DataSets
Binding Data to Controls
 
Working with Files, Directories and Streams
Using the System.IO Namespace
Discovering Drives
Working with Directories
Working with Files
Parsing a File Path
Understanding Streams
Working with FileStream
Reading and Writing Text Files
Understanding other Types of Streams
 
Building N-Tier Applications
Building Large Scale Applications
Designing N-Tier Applications
Building .NET Assemblies
Referencing Assemblies