C# for Beginners to Programming Workbook and Videos
This unique series features 22 lessons containing a workbook chapter with questions, exercises, further readings and one or more videos that step an absolute beginner through learning the most fundamental C# topic matter. If you have never programmed before and want to learn C#, this is a great place to start.

This webpage describes a single series/course, each course containing many screencast videos. HOWEVER …
This series/course has been removed from our collection, probably because we have updated it with a newer version.
Read why I decided to keep old pages like this around. Or better yet, visit the home page … its the best place to get started.
Anatomy of The Curriculum
Each of the “First Time Programmers” series contains two workbooks, a Questions edition and an Answers edition, which is identical to the Questions edition but contains the answers to all the questions in blue text.
Each lesson has one or more parts, as follows:
- Lesson Objectives – Easily identify what the goals of the lesson are.
- Lesson Text- Typically a few pages explaining the concepts for the lesson. The readings are concise and focus on concepts and ideas that are appropriate for the level you are at. The lessons avoid introducing unused or comple
- Videos to Watch- Most lessons contain a video that demonstrates the concepts of the lesson. This is a powerful way to learn because its like watching over the shoulder of an expert while he "shows you the ropes."
- Source Code – All source code that is created in the video is available for you to inspect on your own.
- Extended Readings – These are links to parts of the Microsoft Developer’s Network that are important for you to know. These readings
extend the Lesson Text and often get into much more detail. - Definitions- While you are reading through the Lesson Text and the Extended Readings, you will come across many new terms that you should
make sure you know. - Lesson Questions – Each lesson will have a number of review questions that re-inforce your new-found knowledge and force you to put it into your own words.
- Best Practices – Most of the videos make recommendations that are considered "Best Practices" — approaches that are tried and true. When available the workbook contains an area to record these Best Practices.
- Exercises- Most lessons have a project for you to work on that covers concepts introduced in the readings and the video. The exercise requires you to open Visual Studio.NET and get your hands dirty. If you get stuck, you can watch a video that shows how we would have solved that exercise, including the source code.
This series is organized into 22 lessions’ worth of material:
Begin
- BEGIN2 – Orientation
BEGIN2 – Orientation
- Workbook ANSWERS
Includes ONLY the Workbook Answers in PDF format for the ABSOLUTE BEGINNER. Extremely fundamental. PLEASE DO NOT DOWNLOAD IF YOU ALREADY KNOW HOW TO PROGRAM.
- Workbook QUESTIONS
Includes ONLY the Workbook Questions in PDF format for the ABSOLUTE BEGINNER. Extremely fundamental. PLEASE DO NOT DOWNLOAD IF YOU ALREADY KNOW HOW TO PROGRAM.
- BEGIN2 – Loading Source Code
This video demonstrates how to open the source code in the BEGIN2_CODE.zip file into your own personal copy of Visual Studio.NET.
- BEGIN2 – Source Code
Please download this file if you are planning to follow along with the videos and the exercises in the BEGIN2 series. Please unzip this file to a directory on your hard drive called C:BEGIN2 (in order to comply with the workbook’s naming convention).
Lesson 1
- Lesson 1 – What is Computer Programming?
This lesson discusses the role of a computer programming language and explains what compilation is and why you must compile your code. It talks about the concepts of a virtual machine, software layers. Finally, it speaks of the goals of all good software developers and provides some tipcs on learning a programming language. THIS FILE IS JUST A PLACEHOLDER – NO VIDEO IS NECESSARY FOR THIS LESSON.
Lesson 2
- Lesson 2 – Computer Programming Workflow
Demonstrates the creation of an entire application from start to finish, showing that there are 4 phases: Plan, Develop, Test and Deploy.
Lesson 3
- Lesson 3 – Obtaining the Tools You’ll Need
This lessons shows you what software you’ll need to begin writing C# applications, and discusses the different versions available to you. THIS FILE IS JUST A PLACEHOLDER – NO VIDEO IS NECESSARY FOR THIS LESSON.
Lesson 4
- Lesson 4 – Creating a User Interface
Demonstrates how to create a Graphical User Interface in Visual Studio.NET, and outlines several best practices when designing forms applications.
- Lesson 4 – Exercise
Solution to the exercise in Lesson 4.
Lesson 5
- Lesson 5 – Handling Events
Explains and demonstrates how to handle events in C# Windows Forms.
- Lesson 5 – Exercise
Solution to the exercise in Lesson 5.
Lesson 6
- Lesson 6 – Setting Properties in Code
Explains the difference between Design Time and Run Time, and shows how to set and get properties of objects at runtime (in code).
- Lesson 6 – Exercise
Solution to the exercise in Lesson 6.
Lesson 7
- Lesson 7 – Data Type Variable Declaration
Explains and Demostrates how various data types, how to declare and use variables within an application.
- Lesson 7 – Exercise
Solution to the exercise in Lesson 7.
Lesson 8
- Lesson 8 – Statements
This video defines what statements are and that parts of a well formed statement. It discusses expressions and how they are different from statements. Then it moves on to operators; identifying common families of operators. Finally, it explains punctuators. THIS FILE IS JUST A PLACEHOLDER – NO VIDEO IS NECESSARY FOR THIS LESSON.
Lesson 9
- Lesson 9 – Program Flow
This lesson discusses selection statements (also known as branching) and iteration statements (also known as recursion) and how to use the two types of statements together in C#.
- Lesson 9 – Exercise
Solution for the exercise in lesson 9.
Lesson 10
- Lesson 10 – Methods
This lesson discusses what methods are, how to create both methods that return values as well as methods that do not return values (void). It also demonstrates how create methods that access parameters and how to call methods. Finally, it covers variable scope as it applies to methods.
- Lesson 10 – Exercise
This is the solution for the exercise in lesson 10.
Lesson 11
- Lesson 11 – Object Oriented Programming with Classes
This lesson seeks to explain Object Oriented Programming and why its an improvement over procedural programming. Also, it explains the fundamental building blocks of OO: classes and how they are used in C#. THIS FILE IS JUST A PLACEHOLDER – NO VIDEO IS NECESSARY FOR THIS LESSON.
Lesson 12
- Lesson 12 – Fields, Properties and Methods
This lesson defines what fields, properties and methods are and identifies best practices for creating and naming them in classes.
- Lesson 12 – Exercise
This is the solutions for the exercise in lesson 12.
Lesson 13
- Lesson 13 – Object Lifetime
This lesson discusses class constructors and how to create overloaded constructors. It discusses the lifetime of an object and what happens when your application no longer needs an object, and the role of the Garbage Collector. Finally, it discusses how to create destructors in C#.
- Lesson 13 – Exercise
This is the solution to the exercise in lesson 13.
Lesson 14
- Lesson 14 – What is the .NET Framework?
This video helps you understand the various parts of the .NET Framework and how they work together. It also discusses the purpose of namespaces and how to create namespaces in your own applications.
Lesson 15
- Lesson 15 – Keeping Track of Data with Arrays
This lesson explains what arrays are, how to dimension an array, how to use recursion (iteration statements) with arrays and how to create multidimensional arrays.
- Lesson 15 – Exercise
This is the solution to the exercise in lesson 15.
Lesson 16
- Lesson 16 – Obtaining Data from a Text File
This lesson explains how text files are used in some legacy systems to exchange information between departments or companies. It explores the System.IO namespace and demonstrates how to open, read from, write to and close text files.
- Lesson 16 – Exercise
This is the solution to the exercise in lesson 16.
Lesson 17
- Lesson 17 – Obtaining Data from a Database
This lesson explains what a database is and explains major concepts like tables, rows, columns, relationships and keys. It explains the difference between accessing a database in a connected versus disconnected manner. Finally, it demonstrates how to access a database using C# and ADO.NET and display data from the database on to a Windows Form.
Lesson 18
- Lesson 18 – Databinding Data to User Interface Controls
This lesson explains what data-binding is and how it can be used to quickly assemble a data-centric application. It explains how to connect to a database in a disconnected manner. Then it dives into the inner workings of databinding, reviewing the BindingManagerBase object and the DataSource and DataMember properties of databindable controls.
- Lesson 18 – Exercise
This is the solution to the exercise in lesson 18.
Lesson 19
- Lesson 19 – Inserting, Updating and Deleting Data in a Database
This lesson explains why data-binding is not always preferable when working with data from a database. It explains how parameterized Stored Procedures work in a database like Microsoft SQL Server, and demonstrates the use of the DataCommand’s Parameter collection.
Lesson 20
- Lesson 20 – Handling Exceptions
This lesson explains what Exceptions are in .NET, and how Structured Exception Handling is employed in C#. It also discusses how to throw or raise exceptions from one software layer (Component) to the next and other general principles of handling exceptions in a well built application.
Lesson 21
- Lesson 21 – Debugging Applications
This lesson explains how to debug applications using the Visual Studio.NET IDE. As you will see, Visual Studio.NET has a number of useful tools and techniques you can employ that will give you tremendous control over the execution and monitoring of the application while in debug mode.
Lesson 22
- Lesson 22 – Building an ASP.NET Application
This lesson explains how to employ your new-found knowledge of C# to create dynamic ASP.NET applications. It explains some of the similarities between developing Windows Forms and Web Forms applications. It also dives into the concept of PostBack, as well as the Session and Application objects.
- Lesson 22 – Exercise
This is the solution to the exercise in lesson 22.

