Course Code: cpb
C# is a fantastic programming language that combines the best parts of C++, Java, and Visual Basic all into one language. This first lesson briefly explores the history of programming languages and then explore the .NET framework.
Armed with some background, you will now proceed to installing the C# compiler, and then you will write, compile, and run your first C# program. Although you will start with a small program, it will be clear even small C# programs can be a bit tricky. This lesson gives you a great opportunity to practice working with the compiler, something that you will be using for the remainder of the course.
Now that you're comfortable with compiling and running simple programs, you will shift to math. But you will be learning about the basic math operators that C# provides. And because you will need a place to save the results of your calculations, you will also learn about variables and their data types.
This lesson is your first step into modular programming with methods. Methods are a helpful tool because they allow you to break up big programs into smaller, more manageable parts. First you will start learning a few built-in methods that are available. Then you will learn how to write your own methods and call them in your program. Hopefully you will agree that this way of programming makes it easier to tackle large problems.
This lesson continues building on the concept of methods. You will learn about methods that don't return any value, which help make your program modular. This lesson also covers method overloading, which can help improve the readability of your programs by reusing method names within the same code file.
By this point in the course, you will be comfortable doing the basics of C#: working with variables, math, and methods. In this lesson, you will learn about the if statement and how you can use it to let the computer choose which set of statements to execute based on some condition.
This lesson continues your investigation of the decision structure by taking a look at more complex if statements. You will also learn how to use the switch statement to make decisions in your programs as well. This ability to have multiple programming structures is sort of like having another tool in your tool belt. Sometimes a job is far easier to do if you just use the right tool. You may not always need to use every tool, but it's good to know what tools are there and how to use them. You will find the same is true in programming.
Keeping with the theme of programming structures, you will now look at the repetition structure. Just as there were different ways to implement the decision structure, there are a couple of ways to work with loops. This lesson focuses on the while loop, the for loop, and the do loop. Each structure works the same in that they allow you to repeat statements, but each one is a little different. Here you will learn their differences and add to the tools in your tool belt.
One of the most useful applications of loops is arrays, so it makes sense for you to build on your knowledge of loops and explore array variables in this lesson. You will learn how to create and access array variables.
Object-oriented programming is a big topic, and C# is an object-oriented language. You will write a class that will store the data necessary to keep track of the time. Since you're writing this class, you will have the ability to take this code and add it to any program that needs to store information about the time, such as appointment books and scheduling programs.
Obviously, computer programs are big time savers and really help you to automate things. But in order for a program to be really useful, it needs to be able to save data for use later. In this lesson, you will learn how to read from and write to external data files, so you can store your user data forever.
In your final lesson, you will learn programs with a Graphical User Interface (GUI). While C# has an Integrated Development Environment (IDE) that gives you the ability to easily create GUI applications, the code that's generated is buried deep in the file structure. You will also learn how to build your own GUI without an IDE. By doing this, you will be far better prepared for working with IDEs in the future because you will know exactly what's going on behind the scenes.
Mike Orsega has a Bachelor's Degree in Physics from Pennsylvania State University and a Master's Degree in Applied Math from the University of Georgia. He is currently working on a Ph.D. in Computer Science at the University of Tennessee. Mike teaches programming both online and in the classroom and has more than five years of online teaching experience in subjects ranging from basic computer literacy to C# and Alice programming.
There are no prerequisites to take this course.
The instructional materials required for this course are included in enrollment and will be available online.
Instructor-Led: A new session of each course begins each month. Please refer to the session start dates for scheduling.
Self-Paced: You can start this course at any time your schedule permits.
Instructor-Led: Once a session starts, two lessons will be released each week, for the 6 week duration of your course. You will have access to all previously released lessons until the course ends.
Self-Paced: You have three-month access to the course. After enrolling, you can learn and complete the course at your own pace, within the allotted access period.
Instructor-Led: The interactive discussion area for each lesson automatically closes 2 weeks after each lesson is released, so you're encouraged to complete each lesson within two weeks of its release.
Self-Paced: There is no time limit to complete each lesson, other than completing all lessons before your three-month access.
Instructor-Led: The Final Exam will be released on the same day as the last lesson. Once the Final Exam has been released, you will have 2 weeks plus 10 days to complete the Final and finish any remaining lessons in your course. No further extensions can be provided beyond these 10 days.
Self-Paced: Because this course is self-paced, no extensions will be granted after the start of your enrollment.
Being a COBOL programmer, I got the impression that C# is a complicated, intimidating programming language. But when I took this course, my impression has totally changed."
From 0 to programming in 12 fantastic chapters. WOW!"
Good writing style, professional but not stiff -- invites communication."
It was a well-written course and will be helpful to those who will work with C# everyday."
The course was well written and useful for the true beginner."
The labs were fun, challenging, and reinforced the material. The text was terrific; it explained the concepts in great detail, provided a challenge and had me craving the next lesson. The text was written as if he were speaking directly to me."
While I was not an absolute beginner to programming, I was to C#. I found this course to be not only helpful in learning the C# language but in learning the .net structure as well (I found it enhancing my VB skills too). The instructor had the lessons well planned and was more interactive and helpful with the students than some traditional classes I've taken."