Creating and Running Your First C# Program
: http://eembdersler.wordpress.com ◦ Choose the EEE-425Programming Languages (Fall)
Textbook reading schedule
Pdf lecture notes
Updated class syllabus
Midterm and final exams grades
Answers of Midterm and Final Exam
2
Texts and Other Course Materials ◦ Programming C#, 4th Edition - Jesse Liberty (You may down this
version the book from Internet - It is your responsibility to download it or buy the book from http://www.amazon.com/Programming-C-Jesse-Liberty/dp/B00006AVR5)
◦ Beginning.C.Sharp.3.0.An.Introduction ◦ Internet Materials
Grading : ◦ Assignments 20% ◦ Midterm 20% ◦ Final : 20% ◦ Project : 40% ◦ Bonus : 10% ( If you follow all course –no exception, you will get ◦ extra 10% of your grade)
Total 110%
3
This course contains material that
demands intense mental work and an
unusual amount of time commitment.
Student dedication is advised.
4
5
Instructor’s expectations: ◦ Homework. Read chapters prior to class from the textbook ◦ Expect 2-4 hours outside classroom activities; Reading ◦ Participate. Ask questions. Contribute. Actively participate
in the exercises. Consider the classroom to be a mental gymnasium where it’s ok to run, fall, and get up again
◦ Take notes. Why let any idea get away? Taking notes will help you concentrate and organize your
thoughts Notes allow you to take a refresher any time in the future.
◦ Enjoy yourself. Start relaxed and you’ll leave refreshed, inspired, and recharged Forget about what’s happening at home or at work This is your time. Get all you can out of this course and have a
good time ◦ Excessive Late assignments: 10% penalty from the grade
assigned for each day ( maximum 2 days)
6
Refer to the syllabus for details regarding ◦ Academic dishonesty
NOCHEATHING is allowed for all materials.
Given and taken person will be punished with less notes( 0)
◦ Attendance : 70% of Lectures
◦ Special attention for the class
Covers (most of) the C# language and some of the most useful .NET API’s.
Should not be your first programming class. ◦ Assume you know C++ and basic object-oriented
programming.
Requires (lots of) practice / reading. ◦ C# and .NET cannot be learned thoroughly in this
brief course.
7
Require ◦ do all assignments
Assignments are ◦ You will not be given a detailed grade
◦ Show me that you understand the concepts, and can write C# code
Do a project that related with technical EEE by using C# ( It is important to apply your knowledge to one problem)
Note : Pls dont just directly copy the code from Internet or somewhere as your project- If we know that is copied somewhere we will penalty its grade as 0 (zero)
8
Missing class sessions Failure to do homework Poor sleeping, drinking, eating, and physical exercise habits
Failure to follow textbook Failure to prioritize and budget time for study, work, and social activities
Copying other people’s homework, quiz, or exam (Read “Academic Integrity”)
9
To do well in this class, you have to
work really hard.
You need to be prepared to dedicate a
significant amount of time and
mental effort on this class.
10
can determine your grade in this class
can make the choice to be successful
can choose how you use your time
can do the work of learning
11
1. What is Computer Programming?
2. Your First C# Program
3. What is .NET Framework?
4. What is Visual Studio?
5. What is MSDN Library?
12
13
Computer programming: creating a sequence of instructions to enable the computer to do something
14
Definition by Google
Define a task/problem
Plan your solution ◦ Find suitable algorithm to solve it
◦ Find suitable data structures to use
Write code
Fix program error (bugs)
Make your customer happy
15
= Specification
= Design
= Implementation
= Testing & Debugging
= Deployment
Wikipedia.org definition. ◦ Object-oriented.
◦ Primarily imperative or procedural.
LINQ adds some functional programming language capabilities.
◦ Structured (as opposed to monolithic).
◦ Strongly typed.
◦ ISO and ECMA standardized.
16
17
Sample C# program:
using System; class HelloCSharp { static void Main() { Console.WriteLine("Hello, C#"); } }
18
19
using System; class HelloCSharp { static void Main() { Console.WriteLine("Hello, C#"); } }
Include the standard
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"
20
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.
21
using System ; class HelloCSharp { static void Main( ) { Console . WriteLine ("Hello, C#" ) ;Console. WriteLine ( "Hello again" ) ;}}
Such formatting makes the
source code unreadable.
Programming language
◦ A syntax that allow to give instructions to the computer
C# features:
◦ New cutting edge language
◦ Extremely powerful
◦ Easy to learn
◦ Easy to read and understand
◦ Object-oriented
22
Live Demo-Example 01-01, 01-02
23
24
Environment for execution of .NET programs
Powerful library of classes
Programming model
Common execution engine for many programming languages ◦ C#
◦ Visual Basic .NET
◦ Managed C++
◦ ... and many others
25
Operating System (OS)
Common Language Runtime (CLR)
Base Class Library (BCL)
ADO.NET, LINQ and XML (Data Tier)
WCF and WWF (Communication and Workflow Tier)
ASP.NET Web Forms, MVC, AJAX Mobile Internet Toolkit
Windows Forms
WPF Silverlight
C# C++ VB.NET J# F# JScript Perl Delphi …
Building blocks of .NET Framework
26
FCL
CLR
Common Language Runtime (CLR) ◦ Managed execution environment
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
27
CLR
Framework Class Library (FCL)
◦ Provides basic functionality to developers:
Console applications
WPF and Silverlight rich-media applications
Windows Forms GUI applications
Web applications (dynamic Web sites)
Web services, communication and workflow
Server & desktop applications
Applications for mobile devices
28
29
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
30
Single tool for:
◦ Writing code in many languages (C#, VB, …)
◦ Using different technologies (Web, WPF, …)
◦ For different platforms (.NET CF, Silverlight, …)
Full integration of most development activities (coding, compiling, testing, debugging, deployment, version control, ...)
Very easy to use!
31
32
Compiling, Running and Debugging C# Programs
33
1. File New Project ... 2. Choose C# console application 3. Choose project directory and name
34
4. Visual Studio creates some source code for you
35
Namespace
not
required
Class name
should be changed
Some imports
are not
required
The process of compiling includes: ◦ Syntactic checks
◦ Type safety checks
◦ Translation of the source code to lower level language (MSIL)
◦ Creating of executable files (assemblies)
You can start compilation by ◦ Using Build->Build Solution/Project
◦ Pressing [F6] or [Shift+Ctrl+B]
36
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!
37
The process of debugging application includes: ◦ Spotting an error
◦ Finding the lines of code that cause the error
◦ Fixing the code
◦ Testing to check if the error is gone and no errors are introduced
Iterative and continuous process
38
Visual Studio has built-in debugger
It provides: ◦ Breakpoints
◦ Ability to trace the code execution
◦ Ability to inspect variables at runtime
39
40
Complete documentation of all classes and their functionality ◦ With descriptions of all methods, properties, events,
etc.
◦ With code examples
Related articles
Library of samples
Use local copy or the Web version at http://msdn.microsoft.com/
41
Questions?
42
1. Create, compile and run a “Hello C#”
console application.
2. Modify the application to print your name.
3. Write a program to print the numbers 1,
101 and 1001.
4. Create console application that prints your
first and last name.
43
6. Create a console application that prints the current date and time.
7. Create a console application that calculates and prints the square of the number 12345.
8. Write a program that prints the first 10 members of the sequence: 2, -3, 4, -5, 6, -7, ...
9. Write a program to read your age from the console and print how old you will be after 10 years.
44