introduction svetlin nakov telerik corporation

51
Fundamentals of C# Programming Course Introduction Svetlin Nakov Telerik Corporation www.telerik. com

Upload: henry-harral

Post on 30-Mar-2015

234 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction Svetlin Nakov Telerik Corporation

Fundamentals of C# Programming

CourseIntroduction

Svetlin NakovTelerik

Corporationwww.telerik.com

Page 2: Introduction Svetlin Nakov Telerik Corporation

Table of Contents1. 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 Trainees2

Page 3: Introduction Svetlin Nakov Telerik Corporation

About TelerikWhat Makes Telerik so Successful?

Page 4: Introduction Svetlin Nakov Telerik Corporation

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 Microsoft Gold Certified Partner

4

Page 5: Introduction Svetlin Nakov Telerik Corporation

Why Telerik is Successful?

Hard Work 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

5

Page 6: Introduction Svetlin Nakov Telerik Corporation

Investing in People Telerik is constantly investing in people Everyday improvement of the

employee’s skills

Mentoring / coaching programs

Microsoft certification programs Telerik strongly supports the community Sponsors conferences for software

engineers (PDC, DevDays, TechEd, DevReach, …)

Sponsors books, contests and other events

Supports few University courses

6

Page 7: Introduction Svetlin Nakov Telerik Corporation

Telerik AcademyFree Trainings for Software Engineers

Page 8: Introduction Svetlin Nakov Telerik Corporation

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

8

Page 9: Introduction Svetlin Nakov Telerik Corporation

Telerik Software AcademyWhat is It? How It Works? The Learning Track

Page 10: Introduction Svetlin Nakov Telerik Corporation

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 Telerik development teams

Support the IT industry development

10

Page 11: Introduction Svetlin Nakov Telerik Corporation

Telerik Academy Learning Track

11

C# Fundamentals

(part II)

C# Fundamentals

(part I)

Dev Academy(part I)

QA Academy

DS Academy

Dev Academy(short course)

Dev Academy (parts II-XI)

300 attendees 180 attendees 120 attendees

30att.

40att.

70att.

20att.

30att.

20att.

~ 20-25 graduates hired~ 10-12 graduates hired~ 10-15 graduates hired

C# Fundamentals

(part III)

Support Basics

1 month

1 week4 months

2-3 months

Page 12: Introduction Svetlin Nakov Telerik Corporation

Trainers Team

Page 13: Introduction Svetlin Nakov Telerik Corporation

Trainers Team Svetlin Nakov, PhD

Manager Technical Training,Telerik Corp., Telerik Academy

20 years software developmentexperience

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

Page 14: Introduction Svetlin Nakov Telerik Corporation

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

Page 15: Introduction Svetlin Nakov Telerik Corporation

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

Page 16: Introduction Svetlin Nakov Telerik Corporation

Trainers Team (4) Alon Rotem

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:

http://alonintheworld.blogspot.com/

16

Page 17: Introduction Svetlin Nakov Telerik Corporation

Ilian Iliev Software Engineer, Telerik Corp. Stream Company Co-Founder  Student in Technical University

Computer Systems and Technologies

Contestant in Mathematics competitions

Graduate of the second season ofTelerik Software Academy

Email: ilian [at] ilievdev.net Blog: http://ilievdev.net

Trainers Team (5)

17

Page 18: Introduction Svetlin Nakov Telerik Corporation

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

Trainers Team (6)

18

Page 19: Introduction Svetlin Nakov Telerik Corporation

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

Trainers Team (7)

19

Page 20: Introduction Svetlin Nakov Telerik Corporation

Trainers Team (8) George Atanasov

WPF/Silverlight Developer,Telerik Corp.

Student in Sofia University Software Engineering

3.5 years software developmentexperience

3 years experience at 3D & graphic design

Contestant in the IT competitions E-mail: gogo.atn [at] gmail.com

20

Page 21: Introduction Svetlin Nakov Telerik Corporation

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

Trainers Team (9)

Page 22: Introduction Svetlin Nakov Telerik Corporation

C# Fundamentals:

Course ContentsWhat Topics Shall We

Cover?

Page 23: Introduction Svetlin Nakov Telerik Corporation

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

Prepare for learning the technologies

Web, databases, SQL, ASP.NET, XAML, etc.

23

Page 24: Introduction Svetlin Nakov Telerik Corporation

Course Topics: First Month

1. 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 24

Page 25: Introduction Svetlin Nakov Telerik Corporation

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 Sets25

Page 26: Introduction Svetlin Nakov Telerik Corporation

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 Exam26

Page 27: Introduction Svetlin Nakov Telerik Corporation

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

Part III: ~ 2 months @ 2 times weekly, 4 hours

27

Page 28: Introduction Svetlin Nakov Telerik Corporation

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

Easy to learn

Most Telerik products target the .NET platform

28

Page 29: Introduction Svetlin Nakov Telerik Corporation

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 betternot to be translated

29

Page 30: Introduction Svetlin Nakov Telerik Corporation

ExamsIntermediate

and Final Exams

Page 31: Introduction Svetlin Nakov Telerik Corporation

Exams Exams measure individual performance Serve as filter for skillful people

Half of the students pass forward

Exams are not the only filter!

31

Page 32: Introduction Svetlin Nakov Telerik Corporation

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 the course

32

Page 33: Introduction Svetlin Nakov Telerik Corporation

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? Quality of code – does it follow best

practices?

33

Page 34: Introduction Svetlin Nakov Telerik Corporation

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

Page 35: Introduction Svetlin Nakov Telerik Corporation

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

Page 36: Introduction Svetlin Nakov Telerik Corporation

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

Bug submissions in the Book – bonus up to 10%

36

Page 37: Introduction Svetlin Nakov Telerik Corporation

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%

Application with cover letter

37

Page 38: Introduction Svetlin Nakov Telerik Corporation

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

up to 10% Translation of some chapter of the

Book

38

Page 39: Introduction Svetlin Nakov Telerik Corporation

ResourcesWhat We Need in Addition to this

Course Content?

Page 40: Introduction Svetlin Nakov Telerik Corporation

The Textbook

The official textbook for this course

“Introduction to Programming with C#”, Nakov S. and his team, 2010

Freely downloadable from: www.introprogramming.info

40

The entire C# fundamentals course strictly follows the book contents

Page 41: Introduction Svetlin Nakov Telerik Corporation

Web Site & Discussion Group

Please subscribe to "Telerik Academy" discussion group in Google Groups:

Discuss the course exercises with your colleagues

Find solutions to the exercises

Share source code and ideas The C# Fundamentals course official web site: 41

http://csharpfundamentals.telerik.com

http://groups.google.com/group/telerikacademy

Page 42: Introduction Svetlin Nakov Telerik Corporation

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

Page 43: Introduction Svetlin Nakov Telerik Corporation

My Way to the Software

Engineering ProfessionOur Essay for the Software Academy

Engineers

Page 44: Introduction Svetlin Nakov Telerik Corporation

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 motivate yourself or to just leave the course

44

Page 45: Introduction Svetlin Nakov Telerik Corporation

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

Page 46: Introduction Svetlin Nakov Telerik Corporation

Requirements for All TraineesThe Training Program Requires 100% Commitment!

Page 47: Introduction Svetlin Nakov Telerik Corporation

Requirements for All Trainees

Basic computer skills

We don’t teach computer literacy

English

Ability to read technical documentation in English is enough

Very serious attitude

Long-term commitment

8 hours / day (average)

47

Page 48: Introduction Svetlin Nakov Telerik Corporation

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

Page 49: Introduction Svetlin Nakov Telerik Corporation

Invest in Yourself!

Invest in yourself!

Invest in your training!

Invest in your skills development!

49

… Unless you consider yourself a bad investment. Do you?

Page 50: Introduction Svetlin Nakov Telerik Corporation

Questions?

Questions?

Fundamentals of C# Programming Course

http://academy.telerik.com

Page 51: Introduction Svetlin Nakov Telerik Corporation

Introduce Yourself! Now introduce yourself to the others Who are you, what is your

background, why you came at the Telerik Software Academy, …?