A 16 Hour C# Course With Microsoft Visual Studio 2013
- 16 hours on-demand video
- 3 articles
- 125 downloadable resources
- Full lifetime access
- Access on mobile and TV
- Certificate of Completion
Get your team access to 4,000+ top Udemy courses anytime, anywhere.Try Udemy for Business
- 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#
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.
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
Big Idea: It's your work space, so you can be as productive as want, and make Visual Studio your own.
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
1. Link to additional detail on changing fonts
Big Idea: Printing a single line of text
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: People expect applications to produce professional 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.
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
1. Describing an object with different data types
2. Understanding that C# is strongly typed
3. Data types shown are boolean, decimal and string
1. Code to copy and paste
2. Data types in C#
Big Idea: Programs are machines. They accept input, operate on the input, and produce output.
1. Reading string input
2. Converting to numerical form
3. Doing a useful calculation and producing output
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.
1) Understand the purpose of the keyword const
2. Important Note: trying to change a constant after its set gives an error
Big Idea: Making decisions results from having options. Programs should be flexible, and respond smartly based on user choice.
1. Creating and using if/else blocks
2. Understanding how such blocks execute
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: Computers excel especially at performing routine tasks much faster than humans. Loops fit into this scheme.
1. Create a counter variable
2. Create and run a while loop
3. Run loop step by step to be sureit's 100% clear
1. Commented code to copy and paste
2. More complex example on the page where the code is stored
Big Idea: Switch blocks allow us to replace if/else if/else blocks so multiple variable values can be checked
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: Do while loops run at least once because the condition that controls them is checked at the bottom of the loop
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
1. More advanced example
Big Idea: This operator allows us to refine control over logical decision making.
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.
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
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: It's possible to combine logical operators in a variety of ways to produce more refined logic
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
Big Idea: Functions allow us to break up software into discrete pieces that perform specific tasks well.
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: Arrays allow us to store information in sequences, and gives us a compact syntax for manipulation this data.
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: The ref keyword allows us to modify value type variables in multiple places
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.
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.
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.
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: 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.
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.
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: 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.
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.
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
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.
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.
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.
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.
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: Learn how to use your own types as parameter types in functions
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.
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.
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.
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.
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".
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.
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.
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.
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.
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
Big Idea: Try/Catch Blocks allow us to have complete control over handling exceptional, but predictable errors in our applications.
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.
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.
Big Idea: Apply string functions to parse input.
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
Big Idea: Indexers allow us to turn objects into arrays so we can step through them.
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.
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.
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.
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.
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.
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.
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.
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.
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: 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.
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.
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.
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.
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.
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.
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
Big Idea: Microsoft SQL Server is a powerful database management system. This is an essential tool for any developer to know.
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.
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.
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.
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.
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.
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()
My name is Tom Owsiak.
I'm the author of "Beginning C# Hands-On-The Core Language" from Packt Publishing. Let's take a look at every this course has to offer.
I have an updated version of a similar course with Visual Studio 2017.
Please search "Learn C# with Visual Studio 2017 and Console Programs"
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#
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
"Learn C# with Visual Studio 2017 and Console Programs". This one has lots of exercises.
- Programming Novices
- People Who Understand That Rushing In General Results in Shallow Understanding
- People Who Like To Check Their Understanding