SlideShare a Scribd company logo
Introduction to Programming
Creating and Running
Your First C# Program
Svetlin Nakov
Technical Trainer
www.nakov.com
Software University
http://softuni.bg
2
1. What is Computer Programming?
2. Your First C# Program
3. What is C#?
4. What is .NET Framework?
5. What is Visual Studio?
 Compiling, Running and
Debugging C# Programs
6. What is MSDN Library?
Table of Contents
What is Computer Programming?
4
Computer programming: creating a sequence of
instructions to enable the computer to do something
Define: Computer Programming
Definition by Google
5
 Define a task / problem
 Plan your solution
 Find suitable algorithm / data structures to use
 Find suitable libraries / platforms / frameworks
 Write source code (step by step)
 Fix program errors (bugs)
 Install, configure and run the software
 Fix / improve the software over the time
Software Development Phases
= Specification
= Architecture / Design
= Implementation
= Testing & Debugging
= Deployment
= Maintenance
Your First C# Program
Sample C# program:
using System;
class HelloCSharp
{
static void Main()
{
Console.WriteLine("Hello, C#");
}
}
First Look at C#
7
C# Code – How It Works?
8
using System;
class HelloCSharp
{
static void Main()
{
Console.WriteLine("Hello, C#");
}
}
Include the standard .NET
namespace "System"
Define a class called
"HelloCSharp"
Define the Main()
method – the
program entry point
Print a text on the console by calling the
method "WriteLine" of the class "Console"
9
The C# Code Should Be Well Formatted
using System;
class HelloCSharp
{
static void Main()
{
Console.WriteLine("Hello, C#");
}
}
The { symbol should be
alone on a new line.
The block after the { symbol
should be indented by a TAB.
The } symbol should be
under the corresponding {.
Class names should use PascalCase
and start with a CAPITAL letter.
10
Example of Bad Code Formatting
using
System
;
class HelloCSharp {
static
void Main( ) { Console
. WriteLine ("Hello, C#" ) ;Console.
WriteLine ( "Hello again"
) ;}}
Such formatting makes the
source code unreadable
11
 C# is a modern programming language
 A syntax that allows to give instructions to the computer
 C# features:
 Extremely powerful
 Easy to learn
 Easy to read and understand
 Object-oriented
 Functional programming features
What is "C#"?
12
 A programming language
 C#
 Problem to solve
 IDE, compilers, SDK
 Visual Studio, .NET Framework SDK
 Set of useful standard classes
 Microsoft .NET Framework FCL
 Help documentation
 MSDN Library
What You Need to Program?
Your First C# Program
Live Demo
What is .NET
Framework?
15
 Environment for execution of .NET programs (CLR)
 Powerful library of classes (FCL)
 Programming model
 Common execution engine for many programming languages
 C#
 Visual Basic .NET
 Managed C++
 ... and many others
What is .NET Framework?
 The building blocks of .NET Framework
16
Inside .NET Framework
Operating System (Windows / Linux)
FCL
CLR
Languages
OS
Common Language Runtime (CLR) + DLR (for Dynamic Languages)
Base Class Library (BCL) – I/O, Threading, Collections, Strings, …
ADO.NET, Entity Framework, LINQ, XML (Data Tier)
ASP.NET
MVC, Web Forms,
Web API, SignalR
WCF, WWF (Communication / Workflow Tier)
WPF &
XAML
Windows
Store Apps
Windows
Forms
Silverlight,
WP7 / WP8
C# VB.NET Managed C++ F# Python Delphi …
17
 Common Language Runtime (CLR)
 Managed execution environment (virtual machine)
 Executes .NET applications
 Controls the execution process
 Automatic memory management (garbage collection)
 Programming languages integration
 Multiple versions support for assemblies
 Integrated type safety and security
CLR – The Heart of .NET Framework
CLR
18
 Framework Class Library (FCL)
 Provides basic classes for developers:
 Console applications
 Web applications and web services
 XAML, WPF, Silverlight rich-media applications
 Windows Forms and WPF GUI applications
 Windows Store applications
 Database applications
 Applications for mobile devices
Framework Class Library
What is Visual Studio?
20
 Visual Studio – Integrated Development Environment (IDE)
 Development tool that helps us to:
 Write code
 Design user interface
 Compile code
 Execute / test / debug applications
 Browse the help
 Manage project's files
Visual Studio
21
 Single tool for:
 Writing code in many languages (C#, VB.NET, Python, …)
 Using different technologies (Web Forms, MVC, WPF, EF, WCF, …)
 For different platforms (Win8, Silverlight, Windows Phone, …)
 Full integration of most development activities (coding,
compiling, testing, debugging, deployment, version control, ...)
 Very easy to use!
Benefits of Visual Studio
22
Visual Studio – Example
Visual Studio
Compiling, Running and Debugging C# Programs
24
1. File  New  Project ...
2. Choose Visual C#  Console Application
3. Choose project directory and name
Creating New Console Application
25
4. Visual Studio creates some source code for you
Creating New Console Application (2)
Namespace
not required
Class name
should be
changed
Most imports are
not required
File name
should be
changed
26
 The process of compiling includes:
 Syntactic checks
 Type safety checks
 Translation of the source code to lower level language (MSIL)
 Creating executable files (assemblies)
 You can start compilation by
 Using Build->Build Solution/Project
 Pressing [F6] or [Shift+Ctrl+B]
Compiling the Source Code
27
 The process of running application includes:
 Compiling (if project not compiled)
 Starting the application
 You can run application by:
 Using Debug->Start menu
 By pressing [F5] or [Ctrl+F5]
* NOTE: Not all types of projects are able to be started!
Running Programs
28
 The process of debugging application includes:
 Spotting an error
 Finding the lines of code that cause the error
 Fixing the error in the code
 Testing to check if the error is gone and no new
errors are introduced
 Iterative and continuous process
 Debuggers help a lot
Debugging The Code
29
 Visual Studio has a
built-in debugger
 It provides:
 Breakpoints
 Ability to trace the code
execution
 Ability to inspect
variables at runtime
Debugging in Visual Studio
Visual Studio
Compiling, Running and Debugging
C# Programs – Live Demo
Visual Studio
Blank Solution
Creating a Solution without any Projects
32
 A Visual Studio blank solution
 Solution with no projects in it
 Projects to be added later
 Why we need a blank
solution in Visual Studio?
 First create a blank solution for your homework
 Then create a project for each assignment from the homework
What Is a Blank Solution?
33
Creating a Blank Solution in Visual Studio
Visual Studio Blank Solution
Live Demo
What is MSDN
Library?
 Complete documentation of all classes and their functionality
 With descriptions of all methods, properties, events, etc.
 With code examples
 For all Microsoft technologies
 Related articles
 Library of samples
 MSDN Library is available at
msdn.microsoft.com/library
36
What is MSDN Library?
37
 Search in Google for certain class / method / property
 E.g.
 Or
 Or
 Use Visual Studio's built-in help system
 Press [F1] in Visual Studio in the code
 Browse http://msdn.microsoft.com
How to Use MSDN Library?
Press [F1] to view
the documentation
MSDN Library
Browsing the Documentation – Live Demo
39
 Programming: creating a sequence of instructions
(source code)
 C#: modern programming language, easy to learn
 C# programs: class + main method + code in it
 .NET Framework – a modern platform for
software development by Microsoft
 Visual Studio – powerful IDE for .NET developers:
write / compile / execute / debug code
 MSDN Library – the C# and .NET documentation
Summary
?
Introduction to Programming
http://softuni.bg/courses/csharp-basics
License
 This course (slides, examples, demos, videos, homework, etc.)
is licensed under the "Creative Commons Attribution-
NonCommercial-ShareAlike 4.0 International" license
41
 Attribution: this work may contain portions from
 "Fundamentals of Computer Programming with C#" book by Svetlin Nakov & Co. under CC-BY-SA license
 "C# Part I" course by Telerik Academy under CC-BY-NC-SA license
Free Trainings @ Software University
 Software University Foundation – softuni.org
 Software University – High-Quality Education,
Profession and Job for Software Developers
 softuni.bg
 Software University @ Facebook
 facebook.com/SoftwareUniversity
 Software University @ YouTube
 youtube.com/SoftwareUniversity
 Software University Forums – forum.softuni.bg

More Related Content

PPTX
03. Operators Expressions and statements
PPTX
06.Loops
PPTX
02. Primitive Data Types and Variables
PPTX
04. Console Input Output
PPTX
07. Arrays
PPTX
05. Conditional Statements
PPTX
Windows form application - C# Training
PPT
C sharp
03. Operators Expressions and statements
06.Loops
02. Primitive Data Types and Variables
04. Console Input Output
07. Arrays
05. Conditional Statements
Windows form application - C# Training
C sharp

What's hot (20)

PPT
JAVA Variables and Operators
PPT
C# basics
PPT
Introduction To C#
PPTX
C# lecture 2: Literals , Variables and Data Types in C#
PPT
.NET Framework Overview
PPT
Exception Handling
PDF
OOPs & Inheritance Notes
PPT
OOP V3.1
PPTX
C# 101: Intro to Programming with C#
PPTX
C# classes objects
PPTX
CSharp Presentation
PPTX
DOCX
Java Programs Lab File
PPTX
Telerik Test studio
PPTX
I/O Streams
PPTX
Object Oriented Programming with C#
PPTX
Introduction to Selection control structures in C++
PPSX
C lecture 4 nested loops and jumping statements slideshare
PDF
C Programming Storage classes, Recursion
PPT
Storage classes
JAVA Variables and Operators
C# basics
Introduction To C#
C# lecture 2: Literals , Variables and Data Types in C#
.NET Framework Overview
Exception Handling
OOPs & Inheritance Notes
OOP V3.1
C# 101: Intro to Programming with C#
C# classes objects
CSharp Presentation
Java Programs Lab File
Telerik Test studio
I/O Streams
Object Oriented Programming with C#
Introduction to Selection control structures in C++
C lecture 4 nested loops and jumping statements slideshare
C Programming Storage classes, Recursion
Storage classes
Ad

Similar to 01. Introduction to Programming (20)

PPTX
LECTURE 1 - Introduction to Programming.pptx
PPTX
01. introduction to-programming
PPT
01 Introduction to programming
PPT
Introduction to Programming Lesson 01
PDF
Lecture-1&2.pdf Visual Programming C# .net framework
DOC
Csharp Hands On Lab Paul Yao
DOCX
Srgoc dotnet_new
PDF
Membangun Desktop App
PDF
Unit -II Introduction to visual programming.pdf
DOCX
The seven pillars of aspnet
DOCX
The Seven Pillars Of Asp.Net
PPT
Intro1
PPTX
A Sneak Peek At Visual Studio 2010 And .Net Framework 4.0
PPTX
Visual Studio 2012 introduction
PPTX
PDF
Event Driven programming(ch1 and ch2).pdf
DOCX
C# tutorial
PDF
tybsc it asp.net full unit 1,2,3,4,5,6 notes
PDF
Dotnet basics
LECTURE 1 - Introduction to Programming.pptx
01. introduction to-programming
01 Introduction to programming
Introduction to Programming Lesson 01
Lecture-1&2.pdf Visual Programming C# .net framework
Csharp Hands On Lab Paul Yao
Srgoc dotnet_new
Membangun Desktop App
Unit -II Introduction to visual programming.pdf
The seven pillars of aspnet
The Seven Pillars Of Asp.Net
Intro1
A Sneak Peek At Visual Studio 2010 And .Net Framework 4.0
Visual Studio 2012 introduction
Event Driven programming(ch1 and ch2).pdf
C# tutorial
tybsc it asp.net full unit 1,2,3,4,5,6 notes
Dotnet basics
Ad

More from Intro C# Book (20)

PPTX
17. Java data structures trees representation and traversal
PPTX
Java Problem solving
PPTX
21. Java High Quality Programming Code
PPTX
20.5 Java polymorphism
PPTX
20.4 Java interfaces and abstraction
PPTX
20.3 Java encapsulation
PPTX
20.2 Java inheritance
PPTX
20.1 Java working with abstraction
PPTX
19. Java data structures algorithms and complexity
PPTX
18. Java associative arrays
PPTX
16. Java stacks and queues
PPTX
14. Java defining classes
PPTX
13. Java text processing
PPTX
12. Java Exceptions and error handling
PPTX
11. Java Objects and classes
PPTX
09. Java Methods
PPTX
05. Java Loops Methods and Classes
PPTX
07. Java Array, Set and Maps
PPTX
03 and 04 .Operators, Expressions, working with the console and conditional s...
PPTX
02. Data Types and variables
17. Java data structures trees representation and traversal
Java Problem solving
21. Java High Quality Programming Code
20.5 Java polymorphism
20.4 Java interfaces and abstraction
20.3 Java encapsulation
20.2 Java inheritance
20.1 Java working with abstraction
19. Java data structures algorithms and complexity
18. Java associative arrays
16. Java stacks and queues
14. Java defining classes
13. Java text processing
12. Java Exceptions and error handling
11. Java Objects and classes
09. Java Methods
05. Java Loops Methods and Classes
07. Java Array, Set and Maps
03 and 04 .Operators, Expressions, working with the console and conditional s...
02. Data Types and variables

Recently uploaded (20)

PDF
Paper PDF World Game (s) Great Redesign.pdf
PDF
“Google Algorithm Updates in 2025 Guide”
PDF
LABUAN4D EXCLUSIVE SERVER STAR GAMING ASIA NO.1
PPTX
EthicalHack{aksdladlsfsamnookfmnakoasjd}.pptx
PDF
Dantes Peak Lessons English About Dantes Peak Lessons English About
PPTX
introduction about ICD -10 & ICD-11 ppt.pptx
PDF
Decoding a Decade: 10 Years of Applied CTI Discipline
PDF
Triggering QUIC, presented by Geoff Huston at IETF 123
PPTX
PPT_M4.3_WORKING WITH SLIDES APPLIED.pptx
PPTX
international classification of diseases ICD-10 review PPT.pptx
PPTX
ENCOR_Chapter_10 - OSPFv3 Attribution.pptx
PDF
Generative AI Foundations: AI Skills for the Future of Work
PDF
WebRTC in SignalWire - troubleshooting media negotiation
PDF
Project English Paja Jara Alejandro.jpdf
PPTX
Slides PPTX World Game (s) Eco Economic Epochs.pptx
PDF
Testing WebRTC applications at scale.pdf
PPTX
Introduction to Information and Communication Technology
PPTX
QR Codes Qr codecodecodecodecocodedecodecode
PPTX
nagasai stick diagrams in very large scale integratiom.pptx
PPTX
Job_Card_System_Styled_lorem_ipsum_.pptx
Paper PDF World Game (s) Great Redesign.pdf
“Google Algorithm Updates in 2025 Guide”
LABUAN4D EXCLUSIVE SERVER STAR GAMING ASIA NO.1
EthicalHack{aksdladlsfsamnookfmnakoasjd}.pptx
Dantes Peak Lessons English About Dantes Peak Lessons English About
introduction about ICD -10 & ICD-11 ppt.pptx
Decoding a Decade: 10 Years of Applied CTI Discipline
Triggering QUIC, presented by Geoff Huston at IETF 123
PPT_M4.3_WORKING WITH SLIDES APPLIED.pptx
international classification of diseases ICD-10 review PPT.pptx
ENCOR_Chapter_10 - OSPFv3 Attribution.pptx
Generative AI Foundations: AI Skills for the Future of Work
WebRTC in SignalWire - troubleshooting media negotiation
Project English Paja Jara Alejandro.jpdf
Slides PPTX World Game (s) Eco Economic Epochs.pptx
Testing WebRTC applications at scale.pdf
Introduction to Information and Communication Technology
QR Codes Qr codecodecodecodecocodedecodecode
nagasai stick diagrams in very large scale integratiom.pptx
Job_Card_System_Styled_lorem_ipsum_.pptx

01. Introduction to Programming

  • 1. Introduction to Programming Creating and Running Your First C# Program Svetlin Nakov Technical Trainer www.nakov.com Software University http://softuni.bg
  • 2. 2 1. What is Computer Programming? 2. Your First C# Program 3. What is C#? 4. What is .NET Framework? 5. What is Visual Studio?  Compiling, Running and Debugging C# Programs 6. What is MSDN Library? Table of Contents
  • 3. What is Computer Programming?
  • 4. 4 Computer programming: creating a sequence of instructions to enable the computer to do something Define: Computer Programming Definition by Google
  • 5. 5  Define a task / problem  Plan your solution  Find suitable algorithm / data structures to use  Find suitable libraries / platforms / frameworks  Write source code (step by step)  Fix program errors (bugs)  Install, configure and run the software  Fix / improve the software over the time Software Development Phases = Specification = Architecture / Design = Implementation = Testing & Debugging = Deployment = Maintenance
  • 6. Your First C# Program
  • 7. Sample C# program: using System; class HelloCSharp { static void Main() { Console.WriteLine("Hello, C#"); } } First Look at C# 7
  • 8. C# Code – How It Works? 8 using System; class HelloCSharp { static void Main() { Console.WriteLine("Hello, C#"); } } Include the standard .NET namespace "System" Define a class called "HelloCSharp" Define the Main() method – the program entry point Print a text on the console by calling the method "WriteLine" of the class "Console"
  • 9. 9 The C# Code Should Be Well Formatted using System; class HelloCSharp { static void Main() { Console.WriteLine("Hello, C#"); } } The { symbol should be alone on a new line. The block after the { symbol should be indented by a TAB. The } symbol should be under the corresponding {. Class names should use PascalCase and start with a CAPITAL letter.
  • 10. 10 Example of Bad Code Formatting using System ; class HelloCSharp { static void Main( ) { Console . WriteLine ("Hello, C#" ) ;Console. WriteLine ( "Hello again" ) ;}} Such formatting makes the source code unreadable
  • 11. 11  C# is a modern programming language  A syntax that allows to give instructions to the computer  C# features:  Extremely powerful  Easy to learn  Easy to read and understand  Object-oriented  Functional programming features What is "C#"?
  • 12. 12  A programming language  C#  Problem to solve  IDE, compilers, SDK  Visual Studio, .NET Framework SDK  Set of useful standard classes  Microsoft .NET Framework FCL  Help documentation  MSDN Library What You Need to Program?
  • 13. Your First C# Program Live Demo
  • 15. 15  Environment for execution of .NET programs (CLR)  Powerful library of classes (FCL)  Programming model  Common execution engine for many programming languages  C#  Visual Basic .NET  Managed C++  ... and many others What is .NET Framework?
  • 16.  The building blocks of .NET Framework 16 Inside .NET Framework Operating System (Windows / Linux) FCL CLR Languages OS Common Language Runtime (CLR) + DLR (for Dynamic Languages) Base Class Library (BCL) – I/O, Threading, Collections, Strings, … ADO.NET, Entity Framework, LINQ, XML (Data Tier) ASP.NET MVC, Web Forms, Web API, SignalR WCF, WWF (Communication / Workflow Tier) WPF & XAML Windows Store Apps Windows Forms Silverlight, WP7 / WP8 C# VB.NET Managed C++ F# Python Delphi …
  • 17. 17  Common Language Runtime (CLR)  Managed execution environment (virtual machine)  Executes .NET applications  Controls the execution process  Automatic memory management (garbage collection)  Programming languages integration  Multiple versions support for assemblies  Integrated type safety and security CLR – The Heart of .NET Framework CLR
  • 18. 18  Framework Class Library (FCL)  Provides basic classes for developers:  Console applications  Web applications and web services  XAML, WPF, Silverlight rich-media applications  Windows Forms and WPF GUI applications  Windows Store applications  Database applications  Applications for mobile devices Framework Class Library
  • 19. What is Visual Studio?
  • 20. 20  Visual Studio – Integrated Development Environment (IDE)  Development tool that helps us to:  Write code  Design user interface  Compile code  Execute / test / debug applications  Browse the help  Manage project's files Visual Studio
  • 21. 21  Single tool for:  Writing code in many languages (C#, VB.NET, Python, …)  Using different technologies (Web Forms, MVC, WPF, EF, WCF, …)  For different platforms (Win8, Silverlight, Windows Phone, …)  Full integration of most development activities (coding, compiling, testing, debugging, deployment, version control, ...)  Very easy to use! Benefits of Visual Studio
  • 23. Visual Studio Compiling, Running and Debugging C# Programs
  • 24. 24 1. File  New  Project ... 2. Choose Visual C#  Console Application 3. Choose project directory and name Creating New Console Application
  • 25. 25 4. Visual Studio creates some source code for you Creating New Console Application (2) Namespace not required Class name should be changed Most imports are not required File name should be changed
  • 26. 26  The process of compiling includes:  Syntactic checks  Type safety checks  Translation of the source code to lower level language (MSIL)  Creating executable files (assemblies)  You can start compilation by  Using Build->Build Solution/Project  Pressing [F6] or [Shift+Ctrl+B] Compiling the Source Code
  • 27. 27  The process of running application includes:  Compiling (if project not compiled)  Starting the application  You can run application by:  Using Debug->Start menu  By pressing [F5] or [Ctrl+F5] * NOTE: Not all types of projects are able to be started! Running Programs
  • 28. 28  The process of debugging application includes:  Spotting an error  Finding the lines of code that cause the error  Fixing the error in the code  Testing to check if the error is gone and no new errors are introduced  Iterative and continuous process  Debuggers help a lot Debugging The Code
  • 29. 29  Visual Studio has a built-in debugger  It provides:  Breakpoints  Ability to trace the code execution  Ability to inspect variables at runtime Debugging in Visual Studio
  • 30. Visual Studio Compiling, Running and Debugging C# Programs – Live Demo
  • 31. Visual Studio Blank Solution Creating a Solution without any Projects
  • 32. 32  A Visual Studio blank solution  Solution with no projects in it  Projects to be added later  Why we need a blank solution in Visual Studio?  First create a blank solution for your homework  Then create a project for each assignment from the homework What Is a Blank Solution?
  • 33. 33 Creating a Blank Solution in Visual Studio
  • 34. Visual Studio Blank Solution Live Demo
  • 36.  Complete documentation of all classes and their functionality  With descriptions of all methods, properties, events, etc.  With code examples  For all Microsoft technologies  Related articles  Library of samples  MSDN Library is available at msdn.microsoft.com/library 36 What is MSDN Library?
  • 37. 37  Search in Google for certain class / method / property  E.g.  Or  Or  Use Visual Studio's built-in help system  Press [F1] in Visual Studio in the code  Browse http://msdn.microsoft.com How to Use MSDN Library? Press [F1] to view the documentation
  • 38. MSDN Library Browsing the Documentation – Live Demo
  • 39. 39  Programming: creating a sequence of instructions (source code)  C#: modern programming language, easy to learn  C# programs: class + main method + code in it  .NET Framework – a modern platform for software development by Microsoft  Visual Studio – powerful IDE for .NET developers: write / compile / execute / debug code  MSDN Library – the C# and .NET documentation Summary
  • 41. License  This course (slides, examples, demos, videos, homework, etc.) is licensed under the "Creative Commons Attribution- NonCommercial-ShareAlike 4.0 International" license 41  Attribution: this work may contain portions from  "Fundamentals of Computer Programming with C#" book by Svetlin Nakov & Co. under CC-BY-SA license  "C# Part I" course by Telerik Academy under CC-BY-NC-SA license
  • 42. Free Trainings @ Software University  Software University Foundation – softuni.org  Software University – High-Quality Education, Profession and Job for Software Developers  softuni.bg  Software University @ Facebook  facebook.com/SoftwareUniversity  Software University @ YouTube  youtube.com/SoftwareUniversity  Software University Forums – forum.softuni.bg