Students will learn to create their own computer programs and video games using the C# programming language. No prior programming experience is assumed. This is a course for We will introduce all the required programming skills from the ground up. This programming course is meant for We cover C# syntax but more importantly we introduce the You get paid for solving problems everything else is just a technicality.
Students will learn to create their own computer programs and video games using the C# programming language. No prior programming experience is assumed. This is a course for We will introduce all the required programming skills from the ground up. This programming course is meant for We cover C# syntax but more importantly we introduce the You get paid for solving problems everything else is just a technicality.
Our focus will be working with Visual Studio on WINDOWS machines . All coding examples are fully compatible with the LATEST Visual Studio Edition (As of 2024 Visual Studio Community 2022) for This type of learning process - which is considered the standard approach is great for communicating the fundamentals. It allows you to focus on the most important and basic programming concepts you will need to understand, and is often presented through the output of a static, text-based console window. However, learning a language in this console vacuum can also be bland and boring, and can often lead to students becoming disengaged entirely.
Students are more likely to remain engaged by learning how to build Windows applications from day one in tandem with learning the C# programming language. Therefore, my lectures are designed to keep you engaged with the process of learning C# fundamentals by presenting them through a series of lessons aimed at creating simple, Windows Form based applications. This course, by jumping right into apps with a Graphical User Interface, allows the learner to feel like they are learning concepts that produce a tangible result.
I walk you carefully through every possible feature you can imagine, and I use hundreds of existing projects you can learn from, or expand on to make your own project. It's worth sifting through a dozen mediocre Udemy courses to find a gem like this. It's pretty close to a one stop shop for taking you from knowing nothing about WinForms, to building your own whole applications.
C# is a masterpiece in language design.
C# doesn’t have all the associated headaches of C++, nor the drudge work of Java—but contains almost all of their advantages.
C# is versatile: you can write web apps, games, desktop software, iOS and Android apps, and so forth. Probably the only area where Python beats C# is AI and Data Analytics , quite possibly due to the Python libraries and the established knowledge-user-base around it.
In modern web development, with C# you don’t even have to write client side Javascript. Blazor is a C# framework that enables you to build interactive client side applications with only Should you need to use Javascript, Blazor also supports interoperability with JavaScript libraries.
In game development, using C# (Monogame engine) you can get started in your programming journey by directly writing games which is more fun than dry exercises.
This course has more hours of video instruction (18 + hours) , lectures (90+) and exercises and supplemental resources (400+) than virtually any other Introductory C# course offered on Udemy. All for one low price.
Students will be exposed to all the stages in software development and develop problem-solving skills as well as learn the syntax of the C# language.
The challenges and applications are drawn from a variety of situations in the home, school and workplace. They address a wide spectrum of interests including business, science, math, art, music, and especially
My goal is not just to show you how to program, but to help you understand what you are doing, and why you are doing it. I am online daily to respond to any problems you may encounter.
Not only do the videos show you how to become a programmer in great detail, but each time an important concept is taught, I offer you a challenge that is designed to help you really understand what you have just learned.
You will go away and complete the challenge, and then come back and see the challenge answered and explained in detail in the video, allowing you to check your results.
Here's how I will help you to succeed:
o Each lecture starts with a list of objectives and speaking notes
o Every example covered in the lecture is available for download in the resources section including the objectives/speaking notes
o Almost every lecture has a set of Practice problems with full solutions provided
o My style of writing and teaching follows the KISS principle : Keep It Super Simple.
I try to stay away from fancy computer terminology and try to teach like am speaking to a brand new user with little to no previous knowledge on the subject matter, etc. and I am always available for help, replying most times within a day.
This is NOT a static course, updates are made several times a month, with new Lectures and Challenge Problems (114 + as of Dec 2024 fully solved) added on a continual basis.
And finally please do not judge a book by it's cover don't judge the course by the title or this small description section, if you want to know exactly all the topics covered please go to:
C# is a programming language developed by Microsoft. C# has power of C++ since it's derived from C and C++. It is simpler than Visual Basic. Besides that, C# is a Java like language for web programming. Microsoft says, that C# is the best language to develop its .NET Framework applications.
Here's what you need:
Visual Studio Express 2015 or greater
WinRAR
Course Demos
Here is what you are going to learn... lots of practical applications.. here is a sampling
In this Lecture we will
Create your first Windows Applications using various user interface controls
In this Lecture we will
In this Lecture we will
A recap of some of the concepts covered in creating your first app and using a number of the key controls like the text box , command button and picturebox.
In this Lecture we will
In this Lecture we will
In the Lecture we will
In this Lecture we will
In this Lecture we will
This quiz recaps variables, assignment statements and mathematical programming
In this Lecture we will
In this Lecture we will
In this Lecture we will
In this Lecture we will
In this Lecture we will
In this Lecture we will
In this Lecture we will
A recap of "if" statements and loops (while,for) and combo boxes
Problem solving has been described as the process of finding certain information that is not known, from a set of information that is known. In other words, problem solving is not an end result but rather a process. The end result is only worthwhile if the process is followed.
Problem solving is also an activity based on logic and, as such, requires some kind of structure to be present to aid us in our quest.
In this Lecture we will
It would be unfair to ask anyone to solve problems without effective tools to help along the way. The nature of programming requires programmers to first solve the problem at hand, then create an ordered set of instructions that will teach the computer how to solve the problem. There are a variety of problem solving models that assist the programmer in the problem solving stage.
In this Lecture we will
Why do software companies keep sending you updates, patches and fixes?
Computer programs that fail are common. By fail, we mean that a tiny error can cause a program to misbehave or crash. Most users are familiar with "crashing", from our own experience with computers. We have all heard amazing stories about software glitches that cause banks to lose millions or spacecraft to crash.
It may be impossible to guarantee that programs are error-free, but careful programming can help.
A program may encounter problems as it executes. It may have trouble reading data, there might be illegal characters in the data, or an array index might go out of bounds. C# has built in error and exception handling that enables programs to deal with such problems. Programs can recover from errors and keep on running.
In this Lecture we will
In this Lecture we will
In this Lecture we will
To this point, all the data that we have used when executing our programs has been entered from the keyboard. Similarly, all the output that has been produced from our programs has been to the screen. We must realize that not all input and output occurs this way, in fact, the majority of input for a computer program comes from data files that are stored on a disk or hard drive. When we create a document in a word processor, we see it on the screen; however, if we want to store that information, so that we can use or edit it at a later date, we must output the data to some secure storage medium. In the next few lessons, we will see how data storage and retrieval works.
Data produced from a program as the result of successful processing, can be output to a file for storage, rather than simply to the screen. Once stored, the data can be accessed for further processing, used as input for programs, searched for specific information, sorted, updated ... you get the idea!
Everyone using a computer deals with files. When you turn on your computer, the computer loads files. When you start a piece of software, the computer loads files. When you type solutions to the questions in this unit and save them (hopefully), the computer is saving or writing to a file. We use files to store information that is not being used by the computer at the present time.
Can you think of any useful program that doesn't use files? Files are a very important concept to understand, because any really useful piece of software uses files. Even your video games store your high scores.
In this Lecture we will
In this Lecture we will
A recap of the software life cycle, methods, and data files.
In this Lecture we will
In this Lecture we will
A recap of beginner OOP concepts
In this Lecture we will
In this Lecture we will
In this Lecture we will
In this Lecture we will
A recap of C# String Functions and their applications
In this Lecture we will
In this Lecture we will
In this Lecture we will
In this Lecture we will
In this Lecture we will
In this Lecture we will
In this Lecture we will
In this Lecture we will
A recap of One Dimensional and Two Dimensional Arrays
As our programming experience becomes more complex and detailed, are you taking the time to help others? Do you visit the discussion area regularly to see if you can support those experiencing difficulty? By working and learning together, we can share the challenges as well as the successes.
In this Lecture we will
In this Lecture we will
In this Lecture we will
In this Lecture we will
In this Lecture we will
In this Lecture we will
In this Lecture we will
A recap of random numbers and their applications to game simulations
In this Lecture we will
In this Lecture we will
In this Lecture we will
In this Lecture we will
In this Lecture we will
A recap of C# Graphics Basics, specifically using the Graphics Class
In this Lecture we will
In this Lecture we will
In this Lecture we will
In this Lecture we will
In this Lecture we will
In this Lecture we will
In this Lecture we will
In this Lecture we will
In this Lecture we will
In this Lecture we will
In this Lecture we will
In the Lecture we will
In this Lecture we will
In this Lecture we will
In this Lecture we will
Our final recap covers basic animation with timers and arrays right through to double buffering (back buffering).
In this Lecture we will
Recap course content
Discuss appropriate content for future learning
In this Lecture we will:
In the Lecture we will challenge you with the: "Four In A Row" Problem
Background
Given a positive integer, tell whether it is equal to the sum of four consecutive integers.
In the Lecture we will challenge you with the: "Anything you can do , I can do better" Problem
Background
You have a colleague that is extremely competitive and always tries to “top” one of your stories. If you say your car is fast, your colleague will say his or her car is faster. If you say your car is faster, your colleague will say his or her car is fastest. After a few such conversations, you realize that you can always predict what your colleague will say next.
To demonstrate how annoying this is, you decide to write a program that can accurately predict the responses of your colleague. Your task is to write this program. Specifically, given any adjective, your program will return its comparative form by appending “er” to it. Note that if the adjective already ends in “e”, you should only append “r”. If your program is given an adjective already in its comparative form, your program should return the superlative form of the adjective created by simply replacing the “er” with “est”. Your program should consider any string that ends in “er” to be an adjective in comparative form.
In the Lecture we will challenge you with the: "Crashing Words" Problem
Background
Two words of the same length, which have the same letter in the same position are said to crash. For example, the words CRUSH and BURST have length five and have S in the fourth position. Write a program to read two words at a time from a data file called words.txt. You may assume the words are the same length and are in upper case. If the words do not crash, a message is printed out in the top left hand corner of the screen. If, however, the words crash, the word, which comes first in alphabetical order, will be printed vertically starting on the first row of the screen and the other word will be printed horizontally starting in the first column of the screen so that the words intersect at the first crash location.
In the Lecture we will challenge you with the: "Add Times" Problem
Background
In this problem we are going to represent time in the format days hours minutes. So, using a 24hr clock , 3 15 45 would mean 3 days 15 hours and 45 minutes.
You are to write a program that reads in pairs of times in this format then outputs the sum of the times.
For example: Let's say the first time is 3 15 45 and the second time is 2 12 35. Then the required sum is 6 4 20 ( 6 days 4 hours 20 minutes).
In the Lecture we will challenge you with the: "Waiting Long" Problem
Background
Do you ever get tired of waiting for something to happen? The Gotta-Have-It Gadget Company thinks there is a market for a small device that can tell you how long you have been waiting. In its normal mode, it simply counts the minutes from start to stop. In the advanced mode, you can enter a start time and a stop time and it will tell you how many minutes have elapsed.
The Gotta-Have-It Gadget Company has hired you to program the advanced option. You are to write a program that will accept two times and determine how much time has transpired between them. Times will be entered in a 24-hour format. The first time will always be before the second time (but it may be larger - from 21:01 to 7:11 is 590 minutes). Your input will be the times in hours and minutes (HHMM - 21:01 would be 2101 for input). Your program should stop when the start time is 0. One minute after midnight would be represented as 1 (0 hours).
In the Lecture we will challenge you with the: "It's All Good " Problem
Background
Jimmie Flowers, known as Agent 13 is back!. However, he has a secret that until now nobody has noticed (although we aren't sure how we missed it!). Jimmie can't stand to have objects that are not properly aligned. If any object is slanted, he feels compelled to adjust that object.
Jimmie needs your help, though! He wants you to take bricks (which we will represent by just one of their edges) and determine if they are slanted or not.
The Problem:
Given two unique points on a line, determine if the line is a horizontal or vertical line.
In the Lecture we will challenge you with the: "Primitive Typewriters" Problem
In the Lecture we will challenge you with the "Tipping Point" Problem
Background
You are given a common die sitting on a table in a specific orientation. It sits on the table in front of you with a 1 showing on its top face, a 2 showing on its front face, and a 3 showing on its right face. Because the die is ordinary you should know that the total of the numbers on opposite sides of the die add up to 7. Thus the die has a 4 on its left face, a 5 on its back face, and a 6 hidden on its bottom face resting on the table. The die can tip over to reveal a new number based upon the direction of tipping. You can tip the die AWAY, TOWARD, LEFT or RIGHT.
Given the initial die configuration and a sequence of tip instructions, you must determine the number that remains on the top face of the die after all tips have been completed.
In the Lecture we will challenge you with the "Square The Word" Problem
Background
Read a word and create a square pattern as follows:
a) From the top left corner the word reads left to right
b) From the top left corner the word reads top to bottom
c) From the bottom right corner the word reads from bottom to top
d) From the bottom right corner the word reads right to left
In the Lecture we will challenge you with the Credit Card Problem
Background
The Luhn algorithm, also known as the "modulus 10" or "mod 10" algorithm, is a simple checksum formula used to validate a variety of identification numbers, such as credit card numbers. The formula verifies a number using its included check digit, which is usually appended to a partial account number to generate the full account number. This account number must pass the following test:
1. Counting from the rightmost digit (which is the check digit) and moving left, double the value of every even-positioned digit (note: The first position/digit is considered in
position 0 a even position) . For any digits that are doubled and become 10 or more, take the two numbers and add them together. For example, 1111 becomes 2121, while 8763 becomes 7733 (from 2×6=12 → 1+2=3 and 2×8=16 → 1+6=7).
2. Add all these digits together. For example, if 1111 becomes 2121, then 2+1+2+1 is 6; and 8763 becomes 7733, so 7+7+3+3 is 20.
3. If the total ends in 0 (put another way, if the total modulus 10 is congruent to 0), then the number is valid according to the Luhn formula; else it is not valid. So, 1111 is not valid (as shown above, it comes out to 6), while 8763 is valid (as shown above, it comes out to 20).
In this Lecture we will challenge you with the Time Clock Problem
Background
You need to compute the total time a worker has worked on a single calendar day given two time stamps of the form “HH:MM”. The numbers MM can be in the range of “00” to “59” while HH is in the range “01” through “12”. This is an archaic time stamp clock that doesn’t even record AM or PM values. The system has worked well in the past because no-one has ever worked longer than an 8 hour shift.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.