An 16 Hour C# Course With Microsoft Visual Studio 2013

Quadruple Your Skills: Learn C# , Microsoft Visual Studio 2013, Debugging and SQL Server Basics!
4.3 (507 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
9,771 students enrolled
Take This Course
  • Lectures 116
  • Length 16 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 9/2013 English

Course Description

This comprehensive C# course is designed for beginner programmers, as you won't be rushing through code. It focuses on the C# language rather than the graphical aspects of Windows programming. The focus at first is on simple Console applications. This course works with Visual Studio 2013, or Visual Studio 2015.

You'll learn in a detailed and deliberate way so you can set a foundation and move from basic to more advanced concepts easily.

In addition to learning C#, you'll also cover the Microsoft Visual Studio programming environment, which will serve as the perfect complement to your newfound C# skills.

Learn C#, Visual Studio, and Object Oriented Programming

Start Using the C# Programming Language to Work with Code and Data Through Simple Console Applications

Understand the Microsoft Visual Studio Environment as It Relates to C#

Apply the Fundamentals of Object Oriented Programming to Data

Enhance Your Programming Skills with a Foundation in C#

Throughout this course, you'll learn the core concepts of C#, which can then be applied directly to other popular programming languages, including C++, C, Java, and JavaScript.

Contents and Overview

You'll start this course by learning the fundamentals of C# and Visual Studio, including configuring the layout, defining variables, interacting with users, and understanding data types, data conversions, and constants.

To work with code in a more advanced way, you'll tackle how to check simple conditions using if/else blocks, as well as how to use loops to do things like repeat blocks of code to work more efficiently.

After covering various operators to evaluate and assign control structures, you'll learn how to use arrays to store collections of data.

Moving on to Object Oriented Programming, you'll create objects that contain both data and functions to make your job even easier.

By the end of this course, you'll have a solid understanding of the most important aspects of C#, Visual Studio, and Object Oriented Programming.

You'll be able to use these new skills to advance your career as a programmer, as well as become a C# developer.

Note: Promo template licensed from PRESENTERMEDIA

What am I going to get from this course?

  • Find, download and install Visual Studio
  • Create and run a simple console application
  • Declare and initialize variables
  • Learn how to use the locals and call stack windows in Visual Studio
  • Learn how to step through a program line by line for maximum comprehension
  • Learn how to perform arithmetic
  • Learn to use various variable types
  • Learn how to code for loops
  • Learn how to code switch statements
  • Learn how to construct simple classes
  • Learn how to create objects, call functions, both object and static
  • Learn how to use and code arrays for various data types
  • Learn how to use the length property of arrays, and how to convert between data types
  • Learn how to create a simple inheritance structure
  • Learn how to call functions from client code
  • Learn simple file writing and reading
  • Learn how to create a simple application and install it on your computer
  • Learn how to write generic classes and interfaces
  • Learn how to work with Lambda expressions
  • Learn how to work with SQL Server
  • Learn how to use LINQ with Arrays and XML
  • Learn how to use LINQ with SQL Server
  • Learn how to update, delete, insert data with web pages and SQL Server
  • Learn how to create and publish simple WPF apps
  • Learn how to make simple Graphical User Interfaces and Display Files and Folders
  • Learn how to work with threads
  • Learn how to serialize and deserialize objects
  • Learn how to create databases from code using the Entity Framework
  • Learn how to create windows services
  • Develop an Understanding of Windows Forms
  • Understand How To Use Async and Await To Increase Program Responsiveness
  • Learn How To Check for Existing Files and Append Text
  • Learn How To Launch Another Program With C# Code
  • Create Full Scale Applications That Synthesize Many Different Concepts
  • Learn How To Work With Progress Bars
  • Learn How To Save and Restore Control Values
  • Learn How To Work With List Boxes
  • Learn How To Build Events With Publishers and Subscribers
  • Learn How To Build An Image Browser
  • How to To Use Iron Python In C#

Who is the target audience?

  • Programming Novices
  • People Who Understand That Rushing In General Results in Shallow Understanding
  • People Who Like To Check Their Understanding

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.



Big Idea: C# is powerful, and very popular in the marketplace. Learn it, and put in on your resume.To learn it properly, and truly, you must invest time and energy, but at the end, lies a great and valuable skill that can take you very far in life.

Lesson Objectives:
1. C# is a powerful programming language
2. There are many jobs in this language
3. It's great for tinkerers
4. The lessons in this course use Visual Studio 2013 For Desktop
5. Setting the environment font
Lesson Resources:
1. Link to download page
2. Link to pages that help with download issues

Section 1: Learning The Fundamentals

Big Idea: It's your work space, so you can be as productive as want, and make Visual Studio your own.

Lesson Objectives:
1. Control the layout of the panels in Visual Studio
2. Change the font of each of these windows:
a. Text Editor
b. Statement Completion
c. Editor Tooltip
d. Locals Window
Lesson Resources:
1. Link to additional detail on changing fonts


Big Idea: Printing a single line of text

Learning Results:

1) Create and run a simple console application

2) Learn how to comment code

3) Become familiar with the concept of a namespace, class and method

4) There is also a useful image attached showing how to move blocks of code right and left


1) Close Visual Studio, and repeat the procedure you see in the video. Be sure you get all the way to the point of having the console window running.

2) Create a program that prints two sentences.


Big Idea: Use comments to annotate code so it's more meaningful, especially after a period of time

Learning Results:

1) Understand purpose of multiline comments

2) Learn how to define a block of code

3) Learn how to nest blocks of code


Big Idea: People expect applications to produce professional results

Learning Results:

1) Learn how to format a string

2) Review concept of place holder that is filled at run time with a variable value

3) Learn how to apply the currency format

4) Learn how to apply the percent format


Big Idea: Things change, so variables are needed to represent those changing quantities.

Learning Results:

1) Understand that a variable is an identifier that represents changing or unknown quantities

2) Learn about the double data type as good for representing measured values

3) Learn how to view summary information on a variable in the locals window


Big Idea: There are many different data types that can be used describe objects

Lesson Objectives:

1. Describing an object with different data types

2. Understanding that C# is strongly typed

3. Data types shown are boolean, decimal and string

Lesson Resources:

1. Code to copy and paste

2. Data types in C#


Big Idea: Variables can be combined through basic arithmetic

Lesson Objectives:
1. Learn how to add, subtract and divide variables
2. Learn how to use the var keyword
Lesson Resources:
1. Commented code to copy and paste


Big Idea: A single mathematical symbol can result in two different values

Lesson Objectives:

1. Understanding the result of dividing two doubles

2. Understanding the result of dividing two integers

Lesson Resources:

1. Commented code to copy and paste


Big Idea: The slash symbol and percent symbol produce two conceptually different results

Lesson Objectives:

1. Understand the difference between % and / when dividing two integers

Lesson Resources:

1. Commented code to copy and paste


Big Idea: Programs are machines. They accept input, operate on the input, and produce output.

Lesson Objectives:

1. Reading string input

2. Converting to numerical form

3. Doing a useful calculation and producing output

Lesson Resources:

1. Commented code to copy and paste


Big Idea: Data loss can occur when converting between types, so design to ensure this does not happen.

Lesson Objectives:

1. Understand data casting

2. Understand the character data type

Lesson Resources:

1. Commented code to copy and paste


Big Idea: If something needs a meaningful name, but does not change, use a constant to represent this quantity. For example, the number of months in a year.

Learning Results:

1) Understand the purpose of the keyword const

2. Important Note: trying to change a constant after its set gives an error

Section 2: Controlling Program Flow

Big Idea: If blocks run on logical conditions, which can take many different forms

Lesson Objectives:
1. Use if to check a condition
2. Use the == operator
3. Use the Contains method
Lesson Resources:
1. Commented code to copy and paste


Big Idea: Making decisions results from having options. Programs should be flexible, and respond smartly based on user choice.

Lesson Objectives:
1. Creating and using if/else blocks
2. Understanding how such blocks execute
Lesson Resources:
1. Commented code to copy and paste


1) Create an application that accepts two inputs, compares them, and returns them sorted from lower to higher. For example, if a user inputs 4,3, the application should return 3,4.


Big Idea: There a few ways of adding growing a variable value

Lesson Objectives:

1. Understand how to use ++

2. Understand how to use +=


Big Idea: Computers excel especially at performing routine tasks much faster than humans. Loops fit into this scheme.

Lesson Objectives:
1. Create a counter variable
2. Create and run a while loop
3. Run loop step by step to be sureit's 100% clear
Lesson Resources:
1. Commented code to copy and paste
2. More complex example on the page where the code is stored


Big Idea: In real life, there are multiple conditions. In code, these can be handled with multiple if/else blocks.

Lesson Objectives:

1. Understand how to create if/else blocks

2. Understand why such blocks are needed

3. Understand how such blocks execute


Big Idea: Switch blocks allow us to replace if/else if/else blocks so multiple variable values can be checked

Learning Results:

2) Learn how to code a switch block to examine multiple options

3) Learn how to leave a switch block with the break keyword

4) Use the locals window to observe the values of the variables, and step through the code line by line to understand how the switch statement behaves as the code runs.


Big Idea: For loops allows us to repeat an operation fast

Learning Results:

1) Create a for loop to repeat blocks of code

2) Execute the for loop with the debugger to see how it operates


Big Idea: Foreach loops simplify iteration through collections of items.

Learning Results:

1) Code a foreach loop

2) Understand how a foreach loop runs

3) Stepping through the execution of the foreach loop using the locals window


Big Idea: Do while loops run at least once because the condition that controls them is checked at the bottom of the loop

Lesson Objectives:

1) Code a simple do-while loop

3) Understand that this loop runs at least once

3) Observe the behavior of the loop as the program executes

Additional Resources:

1. More advanced example


Big Idea: A while loop can be used to collect input until a user wants to quit

Learning Results:

1) Learn how to collect input forever

2) Learn how to continue a loop

Section 3: Operators

Big Idea: This operator allows us to refine control over logical decision making.

Learning Results:

1) Understand how to use the && operator to check logical conditions

2) Understand that for this operator, both conditions must be true for the code following the "if" to execute

3) Understand that this operator is considered a "short-circuiting" operator because if one condition fails, the other is not checked


Big Idea: This operator allows us to refine our logical decision making.

Learning Results

1) Learn how to code an "or" statement in a simple financial application

2) Understand that the "or" statement in C# is inclusive, so it evaluates to true when one, or the other, or both conditions are true


Big Idea: These operators allow us to rewrite expressions in a very compact way

Learning Results:

1) Learn how to increment and decrement a variable using += and -=

2) Learn how to user various compound operators to divide and multiply

3) Learn how to use the post fix and prefix operator


Big Idea: Truth values of expressions are controllable.

Learning Results:

1) Understand how to reverse the truth value of boolean variables

2) Understand how to run if blocks using boolean variables


Big Idea: Replace if/else blocks with this operator

Learning Results:

1. Learn how to replace if/else blocks with the ternary operator

Additional Resources:

1. Advanced example


Big Idea: It's possible to combine logical operators in a variety of ways to produce more refined logic

Learning Results:

1. Understand how to combine the logical "and" and or operators

2. Understand how to build a simple program that can filter a list of characters

Section 4: Arrays and Methods

Big Idea: Functions allow us to break up software into discrete pieces that perform specific tasks well.

Learning Results

1) Understand how to create function

2) Learn the meaning of static, void and how to create a function name

3) Understand how to call a function

4) Attached are two PDF's with flow diagrams that describe in much more detail how methods work


Big Idea: Methods can accept and return values

Learning Results:

1. Learn how to create a method that can accept and return values

2. Understand the concept of a return data type and a parameter data type


Big Idea: Arrays allow us to store information in sequences, and gives us a compact syntax for manipulation this data.

Learning Results

1) Understand the concept of an array

2) Learn how to declare, and initialize arrays

3) Understand how to read arrays

4) Understand how to assign values to arrays

5) Learn how to work with arrays in a practical context

6) Attached is a PDF showing how to read lists into arrays


Big Idea: For loops work well with arrays because they give us an index we can use to manipulate arrays

Learning Results:

1) Create an array

2) Fill array with for loop

3) Display array values with foreach loop


Big Idea: Reference and simple types like behave differently when copied

Learning Results:

1. Understand how to copy by reference

2. Understand how to copy by value


Big Idea: The ref keyword allows us to modify value type variables in multiple places

Learning Results:

1) Learn how to force C# to pass basic types like integer by reference

2) Learn how to use the "ref" keyword in both function calls and function headers

3) Learn how to swap values


Big Idea: This keyword allows us to return multiple values from functions.

Learning Results:

1) Learn how to use the out keyword in function calls

2) Understand how to modify parameters with out keyword

3) Understand that this keyword allows returning multiple values from a function

4) Learn that this keyword does not require us to initialize variables with values


Big Idea: Two-dimensional arrays allow us to hold information, which is often times related. For example, a row can hold purchases for a person. Another row can hold purchases for another person and so on.

Learning Results:

1) Understand that a two-dimensional array is a table

2) Understand how to address each cell using (i,j), where i is the row index, and j is the column index

3) Understand the difference between the index and the actual value stored at the given index

4) There is also a PDF showing an approach to thinking like a programmer


Big Idea: Arrays are passed by reference. This means that the names are passed, but the data is not.

Learning Results:

1) Learn how to pass an array as an argument into a function

2) Learn how to go over the entries inside an array using a foreach loop

3) Understand that arrays are reference types, so no data is copied, but references are passed

4) Understand how to use an out parameter to return a value from a function


Big Idea: This keyword allows us to make methods flexible

Learning Results:

1) Learn how to use the params keyword

2) Learn how to make use of the params keyword in a method header


Big Idea: TryParse is a powerful method that allows creating more stable programs

Section 5: Fundamentals of Objected Oriented Programming

Big Idea: Classes allow us to group functionality into a single unit. We use them because the world around us can be divided into different types of objects. For example, the Console class we've used many times.

Learning Results:

1) Create a new class using the correct syntax

2) Write a constructor for the class

3) Declare an instance of the class, and initialize the instance

4) Understand that the default value for objects is null

5) Understand the concept of a reference as a name that refers to memory location


Big Idea: Methods make classes more powerful by adding various behaviors.

Learning Results:

1) Create a class with a constructor

2) Create a method that expresses the action of speaking

3) Create an instance of the person class and call the Speak method on the instance


Big Idea: Properties give us controlled access to fields

1. Create a class

2. Create a method

3. Create and use a property


Big Idea: Fields that contains information about entire classes are static and are reachable through static properties


Big Idea: Concepts like Math don't' have instance variables, but they do have lots of concrete actions expressible as methods


Big Idea: Use classes to build logical relationships, and save code. Place common data and behaviors in the parent class so they don't have to be recreated.

Learning Results:

1) Create a namespace

2) Create three classes within the namespace

3) Create a base class with a constructor

4) Create a child class, and derive from the base class

5) Understand the child class uses the constructor of the base class

6) Run the code, and observe the behavior in the locals window, and on the call stack

7) Attached is an image with more detail on inheritance


Big Idea: If a function can provide some default behavior that makes sense in some cases, but might not fit perfectly in every case, make it virtual so the implementation can be refined in child classes.

Learning Results:

1) Understand how to create a virtual function

2) Understand the reason for having virtual functions

3) Learn how to override virtual functions

4) There is an attached PDF with another example if you have trouble with the video

Virtual Methods
2 questions

Big Idea: The dynamic keyword allows operations to be resolved at run time, so a single piece of code can work with multiple data types.

Learning Results:

1) Learn how to create dynamic functions

2) Understand how to pass values into dynamic functions

3) Understand how a single function working with the dynamic type can accept several different types of data


Big Idea: The dynamic keyword adds flexibility to code. The var keyword is just a way for programmers to have to remember less.

Learning Results

1) Understand how var and dynamic types work

2) Understand how a dynamic variable can change values and types as a program runs

3) Understand how var is resolved to a specific type even in the editor window


Big Idea: Abstract classes represent abstract concepts. Abstract functions don't provide default code of any kind because it would not make sense to do so.

Learning Results:

1) Create an abstract class

2) Understand the purpose of abstract classes

3) Understand that methods declared as abstract must be overridden in child classes

4) Run the code and observe the behavior of the code in memory


Big Idea: Generic lists(and generics in general) are powerful because they allow us to operate on a great variety of data types easily.

Learning Results:

1) Create a student class

2) Create a function that operates on array instance variables

3) Use a list of integers to collect information

5) Run the code and see it behave live in memory


Big Idea: Polymorphism allows us to use objects in a flexible way.

Learning Results:

1) Understand the concept of polymorphism

2) Understand the meaning of the word polymorphism

3) Learn how to implement polymorphism in code


Big Idea: Learn how to use your own types as parameter types in functions

Learning Results:

1) Create a custom type

2) Create a class that uses the custom type, but does not inherit from it

3) Create a function that uses the custom type as an array parameter

4) Review the concept of an array initializer


1) The current method will show a count of 7, for example, if called twice, with two arrays of 3 and 4, for example. But it overrides the first array. Can you find a way to fix it?


Big Idea: Operator overloading allows us to assign new meanings to operators. For example, these can be used to create custom defitions of the equality operator.

Learning Results:

1) Learn the meaning of operator overloading

2) Learn when operator overloading is appropriate

3) Learn how to confirm that operator overloading is actually working as expected

4) Overloading the + operator to form the sum of vectors

5) Easy example available also


Big Idea: Delegates functions as function wrappers. They are used heavily in event driven programming in graphical user interface code.

Learning Results:

1) Learn how to declare a delegate

2) Learn what the purpose is of a delegate

3) Learn how a delegate can represent many different functions to write less code


Big Idea: Actions are simple delegates. You can chain them to call multiple functions easily.

Learning Results

1) Understand how to create an action

2) Understand the class hierarchy that leads to actions

3) Understand that actions encapsulate functions with one parameter

4) Learn how to use the list version of ForEach(Action..) construct


Big Idea: Events occur, and we write code, called "event handling code" to respond to these events.For example, button clicks.

Learning Results:

1) Learn how to declare an event

2) Learn how to chain functions up to an event through delegates

3) Understand the purpose of an event


Big Idea: Interfaces are contracts. Think of "can be used as" when thinking of interfaces. That's why many of them have names like "IEnumerable".

Learning Results:

1) Interfaces allow us to group objects by behaviors

2) Understand the fundamental difference between an interface, and a class

3) Understand that classes have a "IS A" type of relationship to their child classes

4) Understand that a class that implements an interface can DO, or CAN BE USED AS that interface type

5) It's very important to watch the second, attached example. 


Big Idea: Generic Interfaces allow a single interfaces to operate equally well with many different data types.

Learning Results

1) Understand how to view the code that defines a generic interface

2) Learn how to implement the method defined in the interface

3) Learn how to call the the method defined in the function

4) There is a supplementary video attached that illustrates generic interfaces more convincingly

5) In this example, we could have done without generic interfaces also


Big Idea: Access modifiers allow us to control code within a file, and across multiple files.

Learning Results:

1) Learn how to use the public keyword

2) Learn how to use the private keyword

3) Learn how to use the protected keyword

4) Learn how to spread a program across multiple files


Bid Idea: There are many functions for working with strings. These are among some of the most useful for cleaning up text.

Learning Results:

1) Learn how to apply six different string functions

2) Learn how to make a messy string look much neater

3) Attached is an image showing how to combine if/else blocks with strings


Note: Be sure to watch the video on adding references first.

Big Idea: Graphical user interfaces rely heavily on controls like buttons, and events like the Click event of button controls. We can construct graphical applications directly from console windows in a very careful, step by step fashion for maximum comprehension.

Learning Results

1) Understand how to create a couple class files

2) Understand how to split a single class over multiple files

3) Understand how to use such a class

4) Understand how to launch and use Windows Forms directly from console applications

5) Understand how to design a simple user interface in code without a visual designer

Section 6: Error Handling

Big Idea: Try/Catch Blocks allow us to have complete control over handling exceptional, but predictable errors in our applications.

Learning Results:

1) Understand the purpose of error checking

2) Understand the purpose of a try block

3) Understand the purpose of a catch block

4) Understand the purpose of a finally block

5) Use the locals window, and the call stack to observe the behavior of the code in memory

6) Construct a user interface, and run a foreach loop on the controls collection


Big Idea: Multiple catch blocks allow us to handle multiple predictable, but undesirable conditions in code. The messages also carry human friendly text.

Learning Outcomes:

1) Learn how to generate multiple kinds of exceptions

2) Learn how to catch multiple kinds of exceptions

3) Learn why exception objects are superior to code that does not use them


1) Extend the application to include the other operations of subtraction and addition, and place the calculator code in a separate class.

Section 7: Transition from console programs to graphical windows

Big Idea: Create a class and add a method


Big Idea: Apply string functions to parse input.

Learning Results: 

1) Build a user interface

2) Run the code to ensure it work


1) Extend the application to include an override of ToString

2) Add a new label and display the message "(4,5)=(4,5)" if two points are equal.

3) Be sure to position the label so it's visible

Section 8: Miscellaneous Topics

Big Idea: Indexers allow us to turn objects into arrays so we can step through them.

Learning Results:

1) Define an indexer in code

2) Understand the purpose of an indexer

3) Code a for loop, and use array notation to access values in the object

4) Code get and set blocks to read and assign values through an indexer


Big Idea: Writing and reading files are at the core of many software packages.

Learning Result:
1) Create a file on the hard drive

2) Save text typed into the console window to the file

3) Close stream to ensure no memory leaks

4) Open a stream to access the file

5) Retrieve text from file

6) Display text to the console window

7) Confirm file has been actually created and saved by searching for it in the file system


Big Idea: Using statements are very important because they ensure that resources are disposed of properly.

Learning Results

1) Understand how to code using blocks

2) Understand the purpose of using blocks

3) Perform basic file writing and reading

4) Understand that using blocks function as replacements for try/catch blocks


1) Wrap a using inside a try/catch, and try writing to a directory that does not exist. What's the message that results?


Big Idea: See how a fairly extensive application is made.

Learning Results

1) Make a Windows Forms user interface

2) Examine the auto generated code

3) Explore properties, and events

4) Write code to writing files

5) Writ code for reading files

6) Learn how the using statement is used to ensure that resources are cleaned up properly


Big Idea: You can customize the execution of your code, and code editor window with fine control.

Learning Results:

1) Understand the concept of a conditional function

2) Understand the concept of release and debug mode for software

3) Understand how to turn on debug and release modes in Visual Studio

4) Learn how to define a region that can be collapsed and expanded


1) Figure out how to pass arguments into the body of Main


Big Idea: Nullable types allow us to treat basic types, including arrays, as though they can take the value "null". This is useful in database applications, where information might not be known, and the value "null" is common.

Learning Results:

1) Learn how to do declare nullable types

2) Learn how to use nullable types

3) Learn what the purpose is of nullable types

4) Learn how to path a path parameter

5) Learn how to use named, nullable parameters


1) Extend the code to add a function called RecoverAuthorFromDisk(string path)

2) Be sure to use a "using" block to create, use and destroy resources properly


Big Idea: Dynamic link libraries allow us to store and use external features. Most software packages rely on DLL's very heavily. You can see this when you install software.

Learning Results:

1) Create a class library

2) Create a new console app

3) Add a reference to the DLL

4) Reference the namespace

5) Use functions from the DLL


1) Create a dll that contains a function for summing, and for finding averages. Make it one function that accepts an array of doubles, and returns the average, and the sum.Use the out keyword.


Big Idea: There are many functions for learning more about the directory structure of a computer.

Learning Results

1) Learn how to get all the files in a directory

2) Learn how to all the folders in a directory

3) Learn how to list them all using a foreach loop


1) Create a program like the one in the video, but allow the user to retrieve only those files that match a specific condition.

2) Also, be sure that the user can enter the path to a specific folder.

2) Extend the application from steps 1) and 2) above to include a try/catch in case a folder can't be found.


Big Idea: It's possible to nest namespaces. This is very common in the .NET framework.

Learning Results:

1) Understand how to create a dll with multiple namespaces

2) Understand how to call these namespaces in client code

3) Understand how to code a fully qualified name

4) Understand how to use the "using" block to avoid having to type long names

5) Understand how to use the features of Visual Studio to help resolve function calls correctly


1) Does removing the access modifier "public" from the classes in the lessons have an impact on the code?

2) Rewrite the code in the lesson so it uses non static methods.


Big Idea: You can build a working web browser in a few minutes.

Learning Results:

1) Understand how to use the split control

2) Learn how to use the web browser control

3) Learn how to write some basic code to navigate through pages

Section 9: Modern Language Features

Big Idea: Generic classes allow us to write a single piece of code, and have that code operate equally well on a great variety of data types. This is the power of generics.

Learning Results

1) Understand how to code a generic class

2) Understand how the purpose of a generic class

3) Understand how to use a generic class

4) Understand how T is replaced with a specific type at run time


Big Idea: Generic lists are powerful, and come with a rich set of functionality to help us save time.

Learning Results

1) Understand the concept of a generic list

2) Understand that generic lists are parametrized, which means that they can store different data types

3) Understand that there is a great variety of built in functions that can be used with generic lists

4) Learn how to use ForEach on each list item


Big Idea: Combine custom types, flexible generic lists, and file saving to produce an application.

Learning Results

1) Understand the concept of a generic to hold custom data types

2) Understand that generic lists are parametrized, which means that they can store different data types

3) Learn how to check for existing files

4) Learn how to append to existing files


Big Idea: Dictionaries allow us to store key/value pairs. These are used in saving and passing information.

Learning Results

1) Understand that the Dictionary class as shown here is generic

2) Understand the concept of a key-value pair

3) Understand how to view the key value pairs as a program runs

4) Understand how to save a dictionary to disk

5) Learn how to launch another program from within C# code


Big Idea: Lambdas are used heavily in modern C#. They go so far as to allow us to pass entire blocks of code as function arguments.

Learning Results

1) Learn the general concept of a Lambda expression

2) Learn how lambdas can be used to make delegates

3) Learn how lambda expressions are written

4) Learn how lambda statements are written


Big Idea: Funcs are delegates. They allow us to write functions compactly.

Learning Results

1) Understand how to use the Func keyword

2) Understand how to use a lambda expression with Func

3) Understand that Func creates a function wrapper

Section 10: Database and LINQ Basics

Big Idea: Microsoft SQL Server is a powerful database management system. This is an essential tool for any developer to know.

Learning Resources

1) Understand where to get SQL Server Express

2) Understand how to decided whether your system is 32 or 64 bit

3) Understand how to connect SQL Server to Visual Studio

4) Understand how to create a very simple database with a simple table

5) Be sure to say yes to integrated security during the installation process

6) Learn about the master data file (mdf), also called primary data file


Big Idea: Virtually all modern applications are database connected.

Learning Results

1) Write code for connecting to databases

2) Write code with the "using" block to ensure the resources involved in connecting to a database are cleaned up properly

3) Write code with the try/catch construct in place to ensure that any exceptions are caught

4) Take a look at the services available in Windows

5) Learn how to stop and start SQL Server from the services window

6) Learn how to get the connection string so it's perfect every time

7) Learn how to simulate a possible connection failure

8) Attached is a video with more detail on creating, altering and dropping stored procedures


Big Idea: Linq and generic lists allow you to collect a variety of data, and then search through it directly in your code.

Learning Results

1) Understand how to collect doubles from the user using a generic list

2) Understand how to write a simple LINQ query to get values out of a list

3) Understand how to display the results using a foreach

4) Learn that behind the scenes, the result of a Linq search is still an indexed quantity


Big Idea: Embedding lambda expressions in Linq produces expressive and powerful code.

Learning Results

1) Understand how to write lambda expressions

2) Understand how to embed lambda expressions in Linq queries

3) Understand how to use IEnumerable to create a list using Linq and Lambdas


Big Idea: XML is a powerful language that allows us to create data descriptions. We can access these documents, and query them with Linq.

Learning Results

1) Understand how to create a simple XML file

2) Understand how to connect to the XML file using C#

3) Understand how to retrieve data from the XML file

4) See again the role of IEnumerable in creating a list of objects through which we can step


Big Idea: Learn how Linq can make searching large quantities of text easy.

Learning Results

1) Understand how to read and convert input

2) Understand how to use a Linq query to count the number of times a string occurs

3) Learn how to use the keydown event on text boxes

Note: Amos observed that "word" is fine also in place of word.ToString()

Section 11: WPF Basics

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Tom Owsiak, Web, Math, Stats., and Physics Expert

  • I have nine years experience as a teacher of mathematics, physics, statistics, and programming. I worked for five years as a database programmer using various technologies such as .NET, Clipper, SQL, SQL Server, SAS, Excel, and others. I'm the publisher of one of the most successful programming courses on udemy, called "Learn C# With Visual Studio 2013". Currently, I work as a mathematics and computer science teacher at a college in NY.
  • Related Education:
  • Master of Science in Applied Statistical Computing, Kennesaw State University
  • Bachelor of Arts, Pure Mathematics, Queens College
  • Associates of Science in Computer Programming
  • Creator of more than 1620 math, physics, statistics and programming videos
  • Programmer of more than 500 educational simulations

Ready to start learning?
Take This Course