introduction to oop in c# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/oop/lectures and...
TRANSCRIPT
![Page 1: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/1.jpg)
Instructor: Bakhyt Bakiyev
Lecture 1
![Page 2: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/2.jpg)
Recommendations
Prerequisites for this course: Programming in Java / C++
In this course called “Object Oriented Programming” we will not
start from beginning of the programming course like “what is an
integer, what is double, what is if-else or loops, etc.”, instead we
will see how to program windows form applications for desktop.
![Page 3: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/3.jpg)
Grading policy Midterm-1 :
All Lab work marks up to lab7 = 25 marks
All homework marks up to hw6 = 5 marks
Midterm1 = 25 + 5 = 30
Midterm-2 :
All lab work marks from lab8 to lab12 = 10 marks
All homework marks from hw7 to hw12 = 5 marks
Mini project = 15 marks
Midterm2 = 10 + 5 + 15 = 30
Final = 40
Total = M1 + M2 + Final = 30 + 30 + 40 = 100
![Page 4: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/4.jpg)
C# Overview
C# is a modern, general-purpose, object-oriented programming
language developed by Microsoft.
C# was developed by Anders Hejlsberg and his team during the
development of .Net Framework.
![Page 5: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/5.jpg)
Writing C# Programs on Linux or Mac OS:
Although the.NET Framework runs on the Windows operating
system, there are some alternative versions that work on other
operating systems. Mono is an open-source version of the .NET
Framework which includes a C# compiler and runs on several
operating systems, including various flavors of Linux and Mac
OS.
Mono can be run on many operating systems including Android,
BSD, iOS, Linux, OS X, Windows, Solaris and UNIX.
![Page 6: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/6.jpg)
C# Program Structure
Let us look at a simple code that would print the words "Hello World":
using System;
namespace HelloWorldApplication
{
class HelloWorld
{
static void Main(string[] args)
{
/* my first program in C# */
Console.WriteLine("Hello World");
Console.ReadKey();
}
}
}
When the above code is compiled and executed, it produces the following result:
Hello World
![Page 7: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/7.jpg)
Let us look at various parts of the previuos program:
The first line of the program using System; - the using keyword is used to include the System namespace in the program.
The next line has the namespace declaration. A namespace is a collection of classes.
The next line has a class declaration, the class HelloWorld contains the data and method definitions that your program uses. The HelloWorld class has only one method Main.
The next line defines the Main method, which is the entry point for all C# programs. The Main method states what the class will do when executed
The next line /*...*/ will be ignored by the compiler and it has been put to add additional comments in the program.
The Main method specifies its behavior with the statement Console.WriteLine("Hello World"); WriteLine is a method of the Console class defined in the System namespace. This statement causes the message "Hello, World!" to be displayed on the screen.
The last line Console.ReadKey(); This makes the program wait for a key press and it prevents the screen from running and closing quickly when the program is launched from Visual Studio .NET.
![Page 8: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/8.jpg)
It's worth to note the following points:
C# is case sensitive.
All statements and expression must end with a semicolon (;).
The program execution starts at the Main method.
Unlike Java, file name could be different from the class name.
![Page 9: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/9.jpg)
Compile & Execute a C# Program:
If you are using Visual Studio.Net for compiling and
executing C# programs then click the Run button or the F5
key to run the project.
![Page 10: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/10.jpg)
You can compile a C# program by using the command-
line instead of the Visual Studio IDE:
Open a text editor and add the above-mentioned code.
Save the file as helloworld.cs
Open the command prompt tool and go to the directory where
you saved the file.
Type csc helloworld.cs and press enter to compile your code.
If there are no errors in your code, the command prompt will
take you to the next line and would generate helloworld.exe
executable file.
Next, type helloworld to execute your program.
You will be able to see "Hello World" printed on the screen.
![Page 11: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/11.jpg)
C# Basic Syntax
In Object-Oriented Programming methodology, a program
consists of various objects that interact with each other by
means of actions. The actions that an object may take are
called methods. Objects of the same kind are said to have the
same type or, more often, are said to be in the same class.
![Page 12: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/12.jpg)
Example using System;
namespace RectangleApplication
{ class Rectangle
{ // member variables
double length, width;
public void Acceptdetails()
{ length = 4.5; width = 3.5; }
public double GetArea()
{ return length * width; }
public void Display()
{ Console.WriteLine("Length: {0}", length);
Console.WriteLine("Width: {0}", width);
Console.WriteLine("Area: {0}", GetArea());
}}
class ExecuteRectangle
{ static void Main(string[] args)
{ Rectangle r = new Rectangle();
r.Acceptdetails();
r.Display();
Console.ReadLine();
}}}
![Page 13: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/13.jpg)
When that code is compiled and executed, it produces the
following result:
Length: 4.5
Width: 3.5
Area: 15.75
![Page 14: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/14.jpg)
Note:
You already familiar with console based applications from previous
years but in this course let’s see how to work with windows form
applications.
![Page 15: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/15.jpg)
In this course we use Microsoft Visual studio 2010 to learn programming in C#
![Page 16: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/16.jpg)
We mostly work on developing
Windows form applications in C#
![Page 17: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/17.jpg)
We learn how to develop windows forms and
buttons and many other things in C#
![Page 18: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/18.jpg)
![Page 19: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/19.jpg)
And we will learn a little bit programming in C#
![Page 20: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/20.jpg)
Topic: Message Boxes
![Page 21: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/21.jpg)
Now for the showed example if I press F5
keyword then output will be as below:
![Page 22: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/22.jpg)
Exercise-1
![Page 23: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/23.jpg)
Topic: Variables
String:
![Page 24: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/24.jpg)
Integer:
![Page 25: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/25.jpg)
Bool:
![Page 26: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/26.jpg)
Object: Object can take any type of variables.
![Page 27: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/27.jpg)
Topic: If-else
![Page 28: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/28.jpg)
![Page 29: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/29.jpg)
Topic: Swicth-case
![Page 30: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/30.jpg)
Topic: Mathematical operators
![Page 31: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/31.jpg)
Output:
Note: It is not limited, the same operations you can do with subtraction, multiplication and division.
![Page 32: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/32.jpg)
Exercise-2
![Page 33: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/33.jpg)
Topic: Array
Example-1: String Array
Or in this way:
![Page 34: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/34.jpg)
Example-3: Integer Array
Or in this way:
![Page 35: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/35.jpg)
Topic: Lists
Example: String List
Or in this way:
![Page 36: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/36.jpg)
Example: Integer List
![Page 37: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/37.jpg)
Topic: Loops
Example: “For” loop
![Page 38: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/38.jpg)
Or in this way:
Or in this way:
![Page 39: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/39.jpg)
Example: “Foreach” loop with string
![Page 40: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/40.jpg)
Example : “Foreach” loop with integer
![Page 41: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/41.jpg)
Example : “Foreach” loop with integer list
![Page 42: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/42.jpg)
Example: “while” loop
![Page 43: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/43.jpg)
Example: “do-while” loop
![Page 44: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/44.jpg)
Lab assignment
Create a calculator application
![Page 45: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented](https://reader034.vdocuments.net/reader034/viewer/2022050807/5c69bc6b09d3f25e418b56ab/html5/thumbnails/45.jpg)
End of Lecture 1
Download materials from:
http://instructor.sdu.edu.kz/~bakhyt/