0. Course Introduction

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

description

Course Objectives About Telerik Course Contents Exams Next Level Trainings

Transcript of 0. Course Introduction

Page 1: 0. Course Introduction

Fundamentals of C# Fundamentals of C# Programming Programming

CourseCourseIntroductionIntroduction

Svetlin NakovSvetlin NakovTelerik Telerik

CorporationCorporationwww.telerik.www.telerik.comcom

Page 2: 0. Course Introduction

Table of ContentsTable of Contents

1.1. About TelerikAbout Telerik

2.2. Course ObjectivesCourse Objectives

3.3. Course ContentsCourse Contents

4.4. ExamsExams

5.5. Next Level TrainingsNext Level Trainings

6.6. ResourcesResources

7.7. Requirements for All TraineesRequirements for All Trainees

2

Page 3: 0. Course Introduction

About TelerikAbout TelerikWhat Makes Telerik so Successful?What Makes Telerik so Successful?

Page 4: 0. Course Introduction

About TelerikAbout Telerik What Telerik does?What Telerik does?

Leading vendor of ASP.NET AJAX, Leading vendor of ASP.NET AJAX, Silverlight, WPF and Windows Forms Silverlight, WPF and Windows Forms components, ORM, Reporting, and components, ORM, Reporting, and CMS solutions and VS PluginsCMS solutions and VS Plugins

Headquartered in BulgariaHeadquartered in Bulgaria With offices in Boston and MunichWith offices in Boston and Munich

250 employees – mostly developers250 employees – mostly developers Employer #1 in Bulgaria for 2010Employer #1 in Bulgaria for 2010 Microsoft Gold Certified PartnerMicrosoft Gold Certified Partner

4

Page 5: 0. Course Introduction

Why Telerik is Why Telerik is Successful?Successful?

Hard WorkHard Work Essential to the success of any Essential to the success of any

companycompany Constant ImprovementConstant Improvement

Adaptive to changesAdaptive to changes Open CommunicationOpen Communication

Everyday we get feedback and improve Everyday we get feedback and improve our products and work processesour products and work processes

Good PeopleGood People The greatest capital of the companyThe greatest capital of the company

5

Page 6: 0. Course Introduction

Investing in PeopleInvesting in People Telerik is constantly investing in peopleTelerik is constantly investing in people

Everyday improvement of the employee’s Everyday improvement of the employee’s skillsskills

Mentoring / coaching programsMentoring / coaching programs

Microsoft certification programsMicrosoft certification programs Telerik strongly supports the communityTelerik strongly supports the community

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

Sponsors books, contests and other eventsSponsors books, contests and other events

Supports few University coursesSupports few University courses6

Page 7: 0. Course Introduction

Course ObjectivesCourse ObjectivesWhy We Teach This Course?Why We Teach This Course?

Page 8: 0. Course Introduction

Telerik Academy Telerik Academy Training Program Training Program

ObjectivesObjectives Train young people in software Train young people in software

engineering with the .NET technologiesengineering with the .NET technologies Practical training with lots of practicePractical training with lots of practice

Cutting edge technologies from Cutting edge technologies from MicrosoftMicrosoft

Software engineering skillsSoftware engineering skills Supplement the University educationSupplement the University education Hire the best students in the Telerik Hire the best students in the Telerik

development teamsdevelopment teams Support the IT industry developmentSupport the IT industry development

8

Page 9: 0. Course Introduction

Learning & Filtering Learning & Filtering ProcessProcess

9

Page 10: 0. Course Introduction

Course ObjectivesCourse Objectives ““Fundamentals of C# Programming” Fundamentals of C# Programming”

course:course: Give the trainees the fundamental computer Give the trainees the fundamental computer

programming knowledge and skillsprogramming knowledge and skills

Establish the logical and algorithmic thinkingEstablish the logical and algorithmic thinking

Development of problems solving skillsDevelopment of problems solving skills

Learn basic data structures, algorithms and Learn basic data structures, algorithms and object-oriented programming (OOP) object-oriented programming (OOP) conceptsconcepts

Prepare for learning the technologiesPrepare for learning the technologies

Web, databases, SQL, ASP.NET, AJAX, WPF, Web, databases, SQL, ASP.NET, AJAX, WPF, etc.etc.

10

Page 11: 0. Course Introduction

C# C# Fundamentals: Fundamentals:

Course Course ContentsContentsWhat Topics Shall We What Topics Shall We

Cover?Cover?

Page 12: 0. Course Introduction

Course Topics – First Course Topics – First MonthMonth

1.1. Introduction to ProgrammingIntroduction to Programming

2.2. Primitive Data Types and VariablesPrimitive Data Types and Variables

3.3. Operators, Expressions and Operators, Expressions and StatementsStatements

4.4. Console Input / OutputConsole Input / Output

5.5. Conditional StatementsConditional Statements

6.6. LoopsLoops

7.7. ArraysArrays

8.8. Numeral SystemsNumeral Systems

9.9. MethodsMethods 12

Page 13: 0. Course Introduction

Course Topics – Second Course Topics – Second MonthMonth

10.10.Intermediate ExamIntermediate Exam

11.11.Recursion and Recursive Recursion and Recursive AlgorithmsAlgorithms

12.12.Creating and Using ObjectsCreating and Using Objects

13.13.Exceptions HandlingExceptions Handling

14.14.Strings and Text ProcessingStrings and Text Processing

15.15.Defining ClassesDefining Classes

16.16.Text FilesText Files

17.17.Linear Data StructuresLinear Data Structures

18.18.Trees and GraphsTrees and Graphs 13

Page 14: 0. Course Introduction

Course Topics – Third Course Topics – Third MonthMonth

19.19.Dictionaries, Hash Tables and SetsDictionaries, Hash Tables and Sets

20.20.Algorithms Complexity and Data Algorithms Complexity and Data StructuresStructures

21.21.Object-Oriented Programming Object-Oriented Programming FundamentalsFundamentals

22.22.High-Quality Programming CodeHigh-Quality Programming Code

23.23.Methodology of Problems SolvingMethodology of Problems Solving

24.24.Problems Solving Practice #1Problems Solving Practice #1

25.25.Problems Solving Practice #2Problems Solving Practice #2

26.26.Problems Solving Practice #3Problems Solving Practice #3

27.27.Final ExamFinal Exam 14

Page 15: 0. Course Introduction

Training DurationTraining Duration LecturesLectures

37 hours (12 + 25)37 hours (12 + 25) Practical exercisesPractical exercises

55 hours (16 + 39)55 hours (16 + 39) HomeworkHomework

~ 108 hours (34 + 74)~ 108 hours (34 + 74) Exam: 2 x 6 hoursExam: 2 x 6 hours AllocationAllocation

Part I: 1 month @ 2 times weekly, 4 hoursPart I: 1 month @ 2 times weekly, 4 hours Part II: 2 months @ 2 times weekly, 4 Part II: 2 months @ 2 times weekly, 4

hourshours15

Page 16: 0. Course Introduction

Why C# and .NET Why C# and .NET Framework?Framework?

Microsoft is one of the industry leadersMicrosoft is one of the industry leaders

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

The C# languageThe C# language

Contemporary object-oriented languageContemporary object-oriented language

Widespread and very popularWidespread and very popular

Easy to learnEasy to learn

All Telerik products target the .NET All Telerik products target the .NET platformplatform

16

Page 17: 0. Course Introduction

Why English?Why English?

Why the slides are in English?Why the slides are in English? English is the native language of English is the native language of

the software engineersthe software engineers Forget about not to learning it!Forget about not to learning it! Specific terminology is better not to Specific terminology is better not to

be translatedbe translated

17

Page 18: 0. Course Introduction

ExamsExamsIntermediate Intermediate

and Final and Final ExamExam

Page 19: 0. Course Introduction

Intermediate ExamIntermediate Exam Exams measure individual performanceExams measure individual performance

Serve as filter for skillful peopleServe as filter for skillful people

Half of the students pass forwardHalf of the students pass forward

Exams are not the only filter!Exams are not the only filter! Intermediate examIntermediate exam

3-5 practical problems for 6 hours3-5 practical problems for 6 hours

Covers all learned topics to the momentCovers all learned topics to the moment

Solutions are evaluated for correctness Solutions are evaluated for correctness onlyonly

Best students continue in Part II of the Best students continue in Part II of the coursecourse

19

Page 20: 0. Course Introduction

Final ExamFinal Exam The final exam is the ultimate filterThe final exam is the ultimate filter

4-5 practical problems for 6 hours4-5 practical problems for 6 hours Covers the entire course contentsCovers the entire course contents More complex problemsMore complex problems

Need of more skills and logical thinkingNeed of more skills and logical thinking Evaluation of the solutions:Evaluation of the solutions:

Correctness – are the solutions well Correctness – are the solutions well tested?tested?

Efficiency – are data structures used Efficiency – are data structures used efficiently?efficiently?

Quality of code – does it follow best Quality of code – does it follow best practices?practices? 20

Page 21: 0. Course Introduction

The Next Level The Next Level TrainingsTrainingsWhat Happens after the Course?What Happens after the Course?

Page 22: 0. Course Introduction

22

115 people

60 people 15-20 people

Telerik Academy Telerik Academy Learning TrackLearning Track

5-10 people

5-10 people

Page 23: 0. Course Introduction

ResourcesResourcesWhat We Need in Addition to this What We Need in Addition to this

Course?Course?

Page 24: 0. Course Introduction

The TextbookThe Textbook

The official textbook for this courseThe official textbook for this course ““Introduction to Programming Introduction to Programming

with C#”, Nakov S. and his team, with C#”, Nakov S. and his team, 20102010

Freely downloadable from: Freely downloadable from: www.introprogramming.infowww.introprogramming.info

24

The entire course strictly follows The entire course strictly follows the book contentsthe book contents

The book is still under The book is still under developmentdevelopment http://tiny.cc/intro-cs-nov-2010http://tiny.cc/intro-cs-nov-2010

Page 25: 0. Course Introduction

Our Discussion GroupOur Discussion Group Please subscribe to "Telerik Please subscribe to "Telerik

Academy" discussion group in Academy" discussion group in Google Groups:Google Groups: http://groups.google.com/group/http://groups.google.com/group/

telerikacademytelerikacademy

Download the lecture materials and Download the lecture materials and the demonstration examplesthe demonstration examples

Discuss the course exercises with Discuss the course exercises with your colleaguesyour colleagues

Share source codeShare source code and ideasand ideas25

Page 26: 0. Course Introduction

Required SoftwareRequired Software Software needed for this course:Software needed for this course:

Microsoft WindowsMicrosoft Windows

Microsoft Visual Studio 2010 or Microsoft Visual Studio 2010 or Visual C# 2010 Express Edition (free Visual C# 2010 Express Edition (free version of VS 2010)version of VS 2010)

.NET Framework 4.0.NET Framework 4.0

26

Page 27: 0. Course Introduction

The TrainersThe Trainers The principal trainer The principal trainer

Svetlin NakovSvetlin Nakov

Manager Technical Training,Manager Technical Training, Telerik Corporation Telerik Corporation

15 years experience as software15 years experience as software engineer, consultant and trainer engineer, consultant and trainer

Author of 6 books about computer Author of 6 books about computer programmingprogramming

Winner in tens of programmingWinner in tens of programming Olympiads and contests Olympiads and contests

PhD in Computer SciencePhD in Computer Science 27

Page 28: 0. Course Introduction

The Trainers (2)The Trainers (2) Assistant trainerAssistant trainer

Doncho MinkovDoncho Minkov

Junior Technical Trainer at TelerikJunior Technical Trainer at Telerik

Graduated the Telerik AcademyGraduated the Telerik Academy

Student in Sofia UniversityStudent in Sofia University

Formal contestant in the National Formal contestant in the National Olympiads in InformaticsOlympiads in Informatics

28

Page 29: 0. Course Introduction

Requirements for All Requirements for All TraineesTraineesThe Training Program Requires 100% The Training Program Requires 100% Commitment!Commitment!

Page 30: 0. Course Introduction

Requirements for All Requirements for All TraineesTrainees

Basic computer skillsBasic computer skills

We don’t teach computer literacyWe don’t teach computer literacy

EnglishEnglish

Ability to read technical Ability to read technical documentation in English is enoughdocumentation in English is enough

Long-term commitmentLong-term commitment

8 hours / day (average)8 hours / day (average)

30

Page 31: 0. Course Introduction

Full CommitmentFull Commitment Key factors for succeeding in the Key factors for succeeding in the

Telerik Academy Training ProgramTelerik Academy Training Program Solid motivationSolid motivation

““Wise guysWise guys”” are not welcome are not welcome

Serious attitudeSerious attitude

Willingness for really hard workWillingness for really hard work

All your timeAll your time

50% in class (for the lectures and 50% in class (for the lectures and exercises)exercises)

50% at home (for the homework)50% at home (for the homework) 31

Page 32: 0. Course Introduction

Invest in Yourself!Invest in Yourself!

Invest in yourself!Invest in yourself! Invest in your Invest in your

training!training! Invest in your skills Invest in your skills

development!development!

32

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

Page 33: 0. Course Introduction

QuestionsQuestions??

QuestionsQuestions??

Fundamentals of C# Fundamentals of C# Programming CourseProgramming Course

http://academy.telerik.com