Professor Mustard Programming

Home

Programming 101
  Unit 01 - The Basics
  Unit 02 - Flow Control
  Unit 03 - Modularity
  Unit 04 - OOP
  Unit 05 - Advanced OOP
  Unit 06 - Other Features

Links
  FAQ Pages
  Resources
  Utilities

Programming 101 - Learn C# or Die Trying

New to programming? New to CSharp? Then, welcome to Professor Mustard's "Learn C# or Die Trying"! These lessons will drill the key concepts into your head in no time, and get you up to speed with modern-day progrmaming! Most of the stuff you learn in this section can be applied to pretty much any modern programming langauge.

Unit 01 - The Basics
01a) Console Output
There'll be no introductory blathering about the history of programming... let's get learning C#!
 
01b) Variables
How to declare, manipulate and use variables.
 
01c) Console Input
Your first introduction as to why programmers hate end-users!
 
01d) Math
Math is the foundation of any computer program! I didn't spoil anything for you, did I?
 
01e) String Manipulation
String manipulation comes up constantly in programming. This is another critical lesson!
 
01f) Project Encryption
Put some of your new-found skills to use!
 
01z) Review
Review what you've learned in Unit 01.
 
Unit 02 - Flow Control
02a) If Else
Finally learn how to make your program not do the same thing every time it runs!
 
02b) While Loop
Why write 3000 lines of code when you don't have to?
 
02c) For Loop
Learn about a powerful alternative to the While loop.
 
02d) Arrays
This is something you can ask your boss for once you've mastered C# (ha, ha... "a raise", get it? Eh, never mind...)
 
02e) Try/Catch
Enable your program to protect itself from stupid users (and yourself)!
 
02f) Do Loops and Switch
Two other repetition structures that you should know about.
 
02g) ArrayLists and Foreach
Foreach is beautiful. And so are dynamic collections.
 
02z) Review
Review what you've learned in Unit 02.
 
Unit 03 - Modularity
03a) Methods
Break your program down into manageable chunks!
 
03b) Overloading
The physics of methods at work!
 
03c) Ref and Out
Useful keywords which are sometimes abused by programmers...
 
03d) Member Variables
Wait... you can have variables outside of your methods?
 
03e) Params Keyword
You rarely hear about this keyword. It's too bad, because it can be really useful!
 
03z) Review
Review what you've learned in Unit 03.
 
Unit 04 - OOP
04a) Object Basics
This is the point of no return.
 
04b) Encapsulation
Why OOP rocks the world.
 
04c) Static Stuff
Ah, so that's what "static" means!
 
04d) Object Referencing
Memeorize this lesson to save yourself loads of pain down the road.
 
04e) Structs
Small, passed by value, and limited... it's the lightweight cousin of classes!
 
04f) Namespaces
This is as good a point as any to tell you about these.
 
04z) Review
Review what you've learned in Unit 04.
 
Unit 05 - Advanced OOP
05a) Inheritance
Now, prepare to enter the depths of OOP!
 
05b) Overrides and Abstraction
A rectangle is not always a square.
 
05c) Breaking Inheritance
Ach! More "evil" stuff. But you need to know what's out there!
 
05d) Advanced Constructors
Using inheritance with constructors requires some explanation.
 
05e) Interfaces
Learn why less is sometimes more (functionally speaking).
 
05z) Review
Review what you've learned in Unit 05.
 
Unit 06 - Other Features
06a) Random Numbers
Every "fun" program needs these at some point!
 
06b) Enums
It's a Month... it's a FontStyle... no, it's whatever you want!
 
06c) Enum Flags
Enums on steroids. Or possibly crack.
 
06d) Hashtables
Indexes that actually mean something!
 
06e) Recursion
This ought to expand your mind.
 
06f) Delegates
Methods that talk back!
 
06g) Events
The very foundation of any Windows forms project... right in your very own console program!
 
06h) Preprocessor Statements
Gross-looking statements with great power.
 
06i) Sorting Data
How to sort your data and objects by any metric you want!