You are on page 1of 51

Fundamentals of C#

Programming
Course
Introduction

Svetlin Nakov
Telerik
Corporation
www.telerik
.com

Table of Contents
1. About

Telerik
2. Telerik Academy
3. Software Academy
4. Trainers Team
5. Course Contents
6. Exams
7. Teaching Resources
8. The Software Engineering Essay
9. Requirements for All Trainees
2

About Telerik
What Makes Telerik so Successful?

About Telerik

What Telerik does?


Leading vendor of ASP.NET AJAX,
Silverlight, WPF, Window Phone 7
and ASP.NET MVC components,
ORM, Reporting, and CMS solutions
and Visual Studio plugins

Headquartered in Bulgaria
Offices in USA, Canada, UK,
Germany, Australia
450 employees mostly developers

Employer #1 in Bulgaria for 2010


4

Hard Work

Why Telerik is
Successful?

Essential to the success of any


company

Constant Improvement
Adaptive to changes

Open Communication
Everyday we get feedback and
improve our products and work
processes

Good People
The greatest capital of the company

Investing in People

Telerik is constantly investing in


people
Everyday improvement of the
employees skills
Mentoring / coaching programs
Microsoft certification programs

Telerik strongly supports the


community
Sponsors conferences for software
engineers (PDC, DevDays, TechEd,
DevReach, )

Telerik Academy
Free Trainings for Software Engineers

About Telerik Academy


Telerik Academy is an initiative for
Telerik for training of young
software engineers
Four main streams

Software Academy
.NET Essentials
QA Academy
Developer Support

School Academy
Kids Academy
Student Courses

Telerik Software
What is It? How It Works? The
Academy
Learning Track

Software Academy
Training Program
Objectives
Train young people in software
engineering with the .NET
technologies
Practical training with lots of
practice
Cutting edge technologies from
Microsoft
Software engineering skills

Supplement the University


education
Hire the best students in the

10

Telerik Academy
Learning
Track
C#
C#

C#
Fundamentals
(part I)
300 attendees

1 month

4 months

30
att.

Fundamentals
(part II)
180 attendees
30
att.

Dev Academy
(part I)

Support
Basics

1 week

Dev Academy
(parts II-XI)

20
att.

QA
Academy

Fundamentals
(part III)
120 attendees
Dev Academy
(short course)

70
att.

40
att.

2-3 months

DS Academy

20
att.

~ 20-25 graduates hired


~ 10-12 graduates hired
~ 10-15 graduates hired

11

Trainers Team

Trainers Team

Svetlin Nakov, PhD


Manager Technical Training,
Telerik Corp., Telerik Academy
20 years software development
experience
10+ years experience as trainer
Author of 6 books
Speaker of hundreds of events
E-mail: svetlin.nakov [at]
telerik.com
Web site / Blog: http://nakov.com
13

Trainers Team (2)

Doncho Minkov
Technical Trainer,
Telerik Corp, Telerik Academy
Student in Sofia University
Software Engineering

Contestant in the Informatics


competitions
Graduate of the first season of
Telerik Software Academy
Email: doncho.minkov [at]
telerik.com
Blog: http://minkov.it

Trainers Team (3)

Nikolay Kostov
Technical Trainer, Telerik Corp.
Student in Sofia University
Computer Science

Contestant in the IT and Informatics


competitions
Graduate of the second season of
Telerik Software Academy
Email: nikolay.kostov [at]
telerik.com
Blog: http://nikolay.it

Alon Rotem

Trainers Team (4)

Senior .NET developer,


Sitefinity CMS, Telerik Corp
Member of Telerik's Telerockers
Working in the IT industry since 1996
Experienced with .NET technologies
since 2006

Industrially experienced with


C#, C++, Visual Basic and VBA, Delphi,
classic ASP and ASP.NET, all frontend
and backend development

Email: alon.rotem [at] telerik.com


Blog:

16

Trainers Team (5)

Ilian Iliev
Software Engineer, Telerik Corp.
StreamCompany Co-Founder
Student in Technical University
Computer Systems and Technologies

Contestant in Mathematics
competitions
Graduate of the second season of
Telerik Software Academy
Email: ilian [at] ilievdev.net
Blog: http://ilievdev.net
17

Trainers Team (6)

Dimitar Dimitrov
Software Developer,
Sitefinity CMS, Telerik Corp
Student in Technical University
Computer Science

Graduate of the second season of


Telerik Software Academy
Email: dimitar.dimitrov [at]
telerik.com

18

Trainers Team (7)

Antonio Stoilkov
Developer Trainee,
Telerik Corp.
Student in New Bulgarian University
Informatics

Contestant in the IT competitions


Graduate of the second season of
Telerik Software Academy
Email: antonio.stoilkov [at]
gmail.com
19

Trainers Team (8)

George Atanasov
WPF/Silverlight Developer,
Telerik Corp.
Student in Sofia University
Software Engineering

3.5 years software development


experience
3 years experience at 3D & graphic
design
Contestant in the IT competitions
E-mail: gogo.atn [at] gmail.com
20

Trainers Team (9)

George Georgiev
Informatics and IT competitions
contestant
AcademyZ trainer
C++, OpenGL, C#

Student in Sofia University


Software engineering

Third season of Telerik Software


Academy trainee
E-mail: georgi.stef.georgiev [at]
gmail.com

C#
Fundamentals:
Course
What Topics Shall We
Contents
Cover?

Course Objectives

Fundamentals of C# Programming
course:
Give the trainees the fundamental
computer programming knowledge
and skills
Establish the logical and algorithmic
thinking
Development of problems solving
skills

Learn basic data structures,


algorithms and object-oriented
programming (OOP) concepts

23

Course Topics: First


Month

Introduction to Programming
2. Primitive Data Types and Variables
3. Operators, Expressions and
Statements
4. Console Input / Output
5. Conditional Statements
6. Loops
7. Intermediate Exam #1
8. Arrays
9. Numeral Systems
10.Methods
1.

24

Course Topics: Second 2


Months

11. Recursion

and Recursive Algorithms


12. Creating and Using Objects
13. Exceptions Handling
14. Strings and Text Processing
15. Defining Classes
16. Text Files
17. Intermediate Exam #2
18. Linear Data Structures
19. Trees and Graphs
20. Dictionaries, Hash Tables and Sets

25

Course Topics: Last 2


Months
21. Algorithms

Complexity and Data

Structures
22. Object-Oriented Programming
Fundamentals
23. Lambda Expressions and LINQ
24. High-Quality Programming Code
25. Methodology of Problems Solving
26. Problems Solving Practice #1
27. Problems Solving Practice #2
28. Problems Solving Practice #3
29. Final Exam

26

Training Duration

Lectures: 39 hours (11 + 9 + 19)

Practical exercises: 55 hours (13 + 17


+ 25)

Homework: ~ 108 hours (38 + 60 + 74)

Exams: 3 x 6 hours

Allocation
Part I: ~ 1 month @ 2 times weekly, 4
hours
Part II: ~ 1.5 months @ 2 times
weekly, 4 hours

27

Why C# and .NET


Framework?

Microsoft is one of the industry


leaders
.NET Framework and C# are the
primary development technologies
in the MS ecosystem

The C# language
Contemporary object-oriented
language
Widespread and very popular

28

Why English?

Why the slides are in English?


English is the native language of
the software engineers
Forget about not learning it!
Specific terminology is better
not to be translated

29

Exams

Intermediate
and Final
Exams

Exams

Exams measure individual


performance
Serve as filter for skillful people
Half of the students pass forward
Exams are not the only filter!

31

Intermediate Exams

Intermediate exam #1
3-5 practical problems for 6 hours
Covers all learned topics up to the
moment
Solutions are evaluated for
correctness only
Best students continue in Part II of
the course

Intermediate exam #2
Similar to intermediate exam #1
Best students continue in Part III of

32

Final Exam

The final exam is the ultimate filter


4-5 practical problems for 6-8 hours
Covers the entire course content
More complex problems
Need of more skills and logical
thinking

Evaluation of the solutions:


Correctness are the solutions well
tested?
Efficiency are data structures used
efficiently?

33

The Exams Testing


System

All exams will be tested


automatically

Through our online judge system


You will be able to test working with
the system right before the exam

How the Testing (Judge) System


works?
You submit C# files
It tests your solution with
predefined tests
34

Homework Assignments
Homework assignments are due in
1 week after each lecture
Submission instructions will be
published at the course Web site
Expect this week a form for
homework submission
The C# Game

Submit your everyday work


progress in our web form on the
course web site
35

Scoring System for


Exam #1

For the intermediate exam #1

Exam 75%
Essay 10%
Homework + C# Game 15%
Forums activity bonus up to 10%
Measured as percentage of the total
discussions

Helping the other students bonus


up to 10%
Each student's points who is helped
him

36

Scoring System for


Exam #2

For the intermediate exam #2

Exam 80%
Homework + C# Game 20%
Forums activity bonus up to 10%
Bug submissions in the Book
bonus 10%
Helping the other students bonus
up to 10%
Translation of some chapter of the
Book

Bonus up to 10%

37

Scoring for the Final


Exam

For the final exam

Exam 80%
Homework + C# Game 20%
Bug submissions in the Book
bonus 10%
All problems from the Book bonus
10%
Solved with detailed description (by
template)

Forums activity bonus up to 10%


Helping the other students bonus

38

Resources

What We Need in Addition to this


Course Content?

The Textbook
The official textbook for this
course
Introduction to
Programming with C#,
Nakov S. and his team,
2010
Freely downloadable from:
The entirewww.introprogramming.inf
C# fundamentals
o
course strictly
follows the book

contents
40

Web Site & Discussion


Group

Please subscribe to "Telerik


Academy" discussion group in
Google Groups:
http://

groups.google.com/group/telerikacademy

Discuss the course exercises with


your colleagues
Find solutions to the exercises
Share source code and ideas

The
C#
Fundamentals
course
http://csharpfundamentals.telerik.c
official
web site:
om
41

Required Software

Software needed for this course:


Microsoft Windows
Microsoft Visual Studio 2010 or
Visual C# 2010 Express Edition (free
version of VS 2010)
.NET Framework 4.0

42

My Way to the
Software
Engineering
Our Essay for the Software Academy
Profession
Engineers

Essay Objective

Answer some questions about


yourself
Is the "software engineer"
profession right for me?
Am I motivated enough to become a
software engineer?
Am I ready to spent enough time to
master the profession?
What makes a software engineer
capable and successful
professional?

To realize what to expect and to

44

Essay Objective (2)

Write the essay on yourself


This is what you think of the
profession, your what is your
motivation and passion to become
or not a software engineer?
Don't cheat, you will be caught!

Use the template and answer the


questions with your own words
Expected length: 5 to 10 pages
Deadline: 2 weeks after this
presentation

45

Requirements for All


The Training
Program Requires 100%
Trainees
Commitment!

Requirements for All


Trainees

Basic computer skills

We dont teach computer literacy

English
Ability to read technical
documentation in English is enough

Very serious attitude

Long-term commitment
8 hours / day (average)
47

Full Commitment

Key factors for succeeding in the


Telerik Academy Training Program
Solid motivation
Wise guys are not welcome

Serious attitude
Willingness for really hard work

All your time


50% in class (for the lectures and
exercises)
50%-500% at home (for the
homework)

48

Invest in Yourself!
Invest in
yourself!
Invest in your
training!
Invest in your
skills
development!
Unless you consider
yourself
a bad investment. Do you?

49

Fundamentals of C#
Programming Course

Questions
?

http://academy.telerik.com

Introduce Yourself!

Now introduce yourself to the


others
Who are you, what is your
background, why you came at the
Telerik Software Academy, ?

You might also like