Skip to content

C# Programming (Beginner)


Course
Access code required
Enroll

Modules

Here is the course outline:

1. Introduction ... What You Need

In this module we are introduced to the instructor of the course and we discuss what software is required and how to use it.

2. Creating Your First C# App

In this module we will create our first Windows Form Application using various user interface controls including labels, textboxes, buttons and pictureboxes.

3. User Interface Controls ... The Radio Button

In this module we will become acquainted with naming conventions for the interface controls and how to use radiobuttons in a simple application

4. User Interface Controls ... The Scroll Bar and More

In this module we look at how to use Scroll Bars and the Numeric Up Down control. Then we discuss how to use the menu control. We conclude by working with multiple forms

5. Entering and Outputting Data ... The Concept of Storage

In this module we will: Become acquainted with the concept of computer storage Use variables and data types (int,double/string) Work with assignment statements Create a simple program which uses assignment statements Discuss the scope of variables

6. Math Operators

In this module we will: Work Arithmetic operators Learn about the Math class (so we can calculate square roots and powers. Learn to use the modulus operator % and integer arithmetic (eg 5/2 doesn't equal 2.5) Learn to cast... and know the difference between (double) 5/2 and (double) (5/2) Learn to convert numbers to strings and strings to numbers Create a simple Bank Savings program

7. Mathematical Applications

In this module we will: Learn to reference the Microsoft Visual Basic inputbox Create a program which determines the average of a set of numbers Apply the concepts learnt to solve a number of practical mathematical problems (see Resources)

8. Creating A Business Application

In this module we will: Create a practical applications "Venus Motor Sales" Learn to display numbers in currency format

9. Entering and Outputting Data ... Your Turn

In this module we will: Practice what you have learned by trying the MathAppProblem (located in resources)

10. Selection Part 1 ... The IF statement and Boolean Operators

In this module we will: Look at IF statement and write programs which utilize this structure. Guessing numbers game Ticket Sales based on age Quiz Marking program Look at relational operators == != > < Look at Boolean operators && ||

11. Selection Part 2 ... Practical Application

In this Module we will: Look at a practical application of selective processing by creating a program to calculate a Gas Utility bill which uses tiered pricing.

12. User Defined Dialogs

In this Module we will: Look at one of the ways a programmer can create a program that is user-friendly. To achieve this aim will will accept input via a dialog box. Work through examples that obtain input using Built In and User Defined (custom) Dialogs.

13. Repetition Part 1... The While Loop

In this module we will: Look at the concept of repetition (another name for loops) and its use in practical applications. Look at the use of the While Loop Look at user controlled repetition Look at counter controlled repetition

14. Repetition Part 2 ... User and Counter Controlled

In this module we will: work through counter controlled repetition problems work through user controlled repetition problems work through for loop problems

15. Repetition Part 3 ... Counters and Accumulators

In this module we will: Look at the difference between counters and accumulators Create several programs which determine averages using user controlled repetition with an inputbox using a user controlled repetition with a custom dialog Combine our knowledge of Selective and Repetitive programming to create a large scale solution to a averaging problem.

16. Repetition Part 4 ... The Combo and List Box Controls

In this module we will: Look at the Combo box control Look at the List box control

17. The Software Life Cycle... The 5 Steps

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 look at some fundamentals in the problem solving process, and we will look at a problem solving model to help us as computer programmers - the software life cycle. Thoroughly understand the problem Break the problem down into its component parts Arrange the solution in a clear and systematic way Translate the solution into a computer language

18. Flowcharts

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 module we will look at flowcharting a diagram, using symbols and arrows, which describes the solution to a computer problem in a step by step manner.

19. Error Handling and Debugging

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 Module we will Look at Syntax errors Look at Run-Time errors Look at Logic errors

20. Methods Part 1 ... Why Use ?

In this Module we will: Learn why and how to use subroutines or methods. Learn that a method is actually just a small program that can be called from with a program

21. Methods Part 2 ... Solving Practical Problems

In this Module we will: Practice using Methods to solve a number of practical problems

22. Introduction to Files

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 Module we will Learn to read from a data file Look at some simple applications that uses a data file

23. Summative Programming Problem... Forensic Analysis

In this Module we will: Look at how to create a program using what we have learned during this entire section. This will include submitting all the required documentation and code which encompasses the 5 step model of problem solving. Give you a chance to try the 5 step model by solving the Forensic problem.

24. Introduction to Object Oriented Programming... Classes and Objects

In this Module we will: Introduce you to some of the basic concepts of object oriented programming Learn to differentiate between a class and an object Learn to create a class Learn about fields,properties,methods and constructors Learn how instances are created Create a simple application that use classes

25. Intermediate OOP Concepts ... Inheritance and Encapsulation

In this Module we will: Review the basic concepts of classes,objects,fields,properties,methods and constructors Look at the concept of encapsulation Look at the concept of Static Methods Look at method overloading Look at the concept of inheritance

26. Introduction to String Functions

In this Module we will: Be introduced to String class methods Determine the length of a string of text Extract a subset of characters from a string of text Create a program that performs a letter count

27. String Accumulators and Concatentation

In this Module we will: Introduce the concept of String accumulators and concatenation and show how they can be used to re-form strings and numbers. Discuss the importance of string manipulations in the real world

28. Code Validations Part 1 ... The Check Digit

In this Module we will: Introduce you to a practical application of Strings called code validations (in this case business product codes a pre-cursor to Cryptography

29. Code Validations Part 2 ... Credit Card Validation

In this Module we will: Challenge you to create a program which will validate a credit card number

30. Introduction to One Dimensional Arrays Part 1 ... Why Use

In this Module we will: Introduce the concept one-dimensional arrays, which are multi-part variables "buckets" containing other "buckets". Discuss "Why" they should be used Learn how to declare, store , calculate and display the contents of an array structure.

31. Introduction to One Dimensional Arrays Part 2 ... Practice

In this Module we will: Practice the One Dimensional Arrays concepts we learned in the previous lecture

32. One Dimensional Array Application ... Class Statistics

In this Module we will: Create a one-dimensional array application involving student marks that will determine the average mark and highest/lowest marks

33. The Bubble Sort

In this Module we will: Discuss the concept of sorting and why arrays are necessary to create an efficient program. Introduce a number of sorting techniques including the bubble sort.

34. One Dimensional Array Counters

In this Module we will: Introduced to the concept of array counters and why they are used. Code a simple application which uses array counters

35. Introduction to Two Dimensional Arrays ... Why Use?

In this Module we will: Introduce the concept of two dimensional arrays. Two dimensional arrays are useful for storing tables of information. They contain rows and columns of data which are the same data type. Discuss where and why they are used. Learn how to declare a two dimensional array, store values inside it, display the contents on screen and perform row and column calculations.

36. Two Dimensional Array Applications Part 1 ... Quiz Score Analysis

In this Module we will Use two dimensional arrays in a practical application We will create a program which performs an analysis of Quiz scores for a number of students and a number of quizzes.

37. Two Dimensional Array Applications Part 2 ... Supermarket Sales

In this Module we will: Give you a chance to test out your skills with a practical problem to try ... "The Supermarket Problem"

38. Introduction to Random Numbers Part 1 ... Probabilistic Simulations

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 Module we will Introduced to the concept of random numbers Discuss where random numbers are used Write some simple application programs to demonstrate the concept.

39. Introduction to Random Numbers Part 2 ... Modelling Events

In this Module we will Use our knowledge of Random Numbers to simulate (model) a number of random event problems

40. Introduction to Random Numbers Part 3 ... Review and Extension

In this Module we will Review and extend our knowledge of Random numbers Look at a coin toss problem Look at a dice simulation

41. Application of Random Numbers Part 1 ... Plinko Game

In this Module we will Create a simple Math Game simulation Create the game Card Wars Create an simple probabilistic simulation of a pinball game (similar to the plinko game on the Price is Right).

42. Application of Random Numbers Part 2 ... Shooting Gallery Game

In this Module we will Practice what we have learned using random numbers and simulate a Shooting Gallery Game.

43. Random Selection Without Duplication ... Casino Roulette

In this Module we will Introduce to the concept of random selection without duplication. This involves games where repetition of winners is not allowed. Create an application (prizes) which utilizes the concept

44. Discrete Random Distributions ... The Dartboard Problem

In this Module we will Introduce to the concept of building discrete random distributions Create an application which utilizes the concept

45. Introduction To Graphics Part 1... The Graphics Class

In this Module we will Learn about the graphics coordinates of the screen Learn how to access (instantiate) and use the C# graphics class to draw lines,rectangles,ellipses and load images from a file Create a simple dice roll graphical simulation

46. Introduction To Graphics Part 2... Drawing on a Panel

In this Module we will: Learn how to draw on a Panel control Learn how to create any color using Color.FromArgb

47. Creating Bar Charts Part 1 ... The Concept of Scaling

In this Module we will use our knowledge of graphics and arrays to create a bar chart. Learn about the concept of scaling

48. Creating Bar Charts Part 2 ... Dice Roller Histogram Problem

In this Module we will put to use our knowledge of scaling and bar chart creation to display a histogram of an event involving rolling dice.

49. Mouse Events ... Creating an Etch A Sketch Program

In this Module we will Learn about the Mouse Events MouseDown, MouseUp and MouseMove Write several programs that incorporate mouse movement including a drawing program.

50. Animation Part 1 ... Timers and Image Arrays

In this Module we will Learn what timers are and how to use them Learn how to use an array of images using images placed in pictureboxes on the form using images stored in an external files

51. Animations Part 2 ... Creating Your Own Animations

In this Module we will: Learn how to extract frames of images from animated gifs that can be used in your animations Learn to create (draw) your own images that will become the individual frames of your animation

52. Animations Part 3 ... Sample Application ... Slot Machine Game

In this Module we will Look at two applications of in place computer animation Look at the Dice Roll Game Look at the Slot Machine Game

53. Animations Part 4 ... Moving Objects Across the Screen

In this Module we will Make our objects move across the screen using the .Top and .Left properties Discover how to check for the screen edges (top,bottom,left and right) Discover how to make an object bounce off the wall or reappear around the other side

54. Animations Part 5 ... The Car Race Challenge

In this Module we will Give you the challenge to create a simple two car race ... with some hints (help) of course !

55. Animations Part 6A ... Using the DrawImage Command

In this Module we will Learn about another way to move objects across the screen using the DrawImage command

56. Animations Part 6B ... Adding Transparency to Images

In this Module we will Learn how to create transparent gifs/png

57. Animations Part 7 ... Collision Detection and Keyboard Events

In this Module we will: Learn about the 4 requirements for collision Learn how to detect keyboard events using the KeyDown Event Create a simple application to implement both of these concepts

58. Animations Part 8 ... No Picture Boxes Just Image Files

In this Module we will Learn how to animate without using pictureboxes Learn that everything is an image object including the background Learn that instead of wiping the screen with the backcolor we now redraw the background graphic over the current state of the animation

59. Animation Part 9 ... Sound Effects

In this Module we will Learn how to incorporate sound into a C# program Learn how to use two techniques to create sound , the System.Media technique and using the Windows Media Player

60. Animation Part 10 ... Falling Objects Game

In this Module we will Learn how to create a simple Falling Objects game Learn how to incorporate image arrays for the falling objects to reduce coding Leave you with the challenge to create your own falling objects game

61. Advanced Animations Part 1 ... Double Buffering

In the Module we will Learn to use some advanced animation techniques including using "double buffering" to reduce screen flicker during game creation Create some simple animations incorporating double buffering

62. Advanced Animations Part 2 ... The Mouse, Panels and Double Buffering

In this Module we will Learn to use the mouse with double buffering Learn about double buffering on a panel

63. Advanced Animations Part 3 ... Creating a Game - The Basic Game Loop

In this Module we will Learn about the basic game loop While (game is runing) check for input (keyboard/mouse) update all objects in the game (position) draw all the objects in the game refresh the screen (force a repaint) Work through several sample games making incremental improvements as we go along

64. Advanced Animations Part 4 ... The Space Shooter Game

In this Module we will Create a Space Shooter Game Leave you with the challenge to create your own game

Back to top