c# programming course – part i

37
Telerik Software Academy academy.telerik.com C# Programming Course – Part I About the Course

Upload: oona

Post on 14-Feb-2016

32 views

Category:

Documents


0 download

DESCRIPTION

C# Programming Course – Part I. About the Course. Telerik Software Academy. academy.telerik.com. Table of Contents. Course Objectives Course Program Trainers Team Examination Learning Resources. C# Programming. C# Programming: Objectives & Program. What Topics Shall We Cover?. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: C# Programming Course – Part I

Telerik Software Academyacademy.telerik.com

C# ProgrammingCourse – Part I

About the Course

Page 2: C# Programming Course – Part I

Table of Contents1. Course Objectives

2. Course Program

3. Trainers Team

4. Examination

5. Learning Resources

2

C# Programming

Page 3: C# Programming Course – Part I

C# Programming: Objectives &

ProgramWhat Topics Shall We Cover?

Page 4: C# Programming Course – Part I

C# Track Objectives The C# Programming track at the Academy: 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

Learn to produce high-quality code Prepare for learning the software

technologies HTML5, DB & SQL, Cloud, ASP.NET,

XAML, …

4

Page 5: C# Programming Course – Part I

C# Part I – Course Topics

1. Introduction to Programming2. Primitive Data Types and Variables3. Operators, Expressions and

Statements4. Console Input / Output5. Conditional Statements6. Loops7. Exam Preparation8. C# Practical Exam

5

Page 6: C# Programming Course – Part I

C# Part II – Course Topics

1. Arrays and Matrices2. Numeral Systems3. Methods4. Creating and Using Objects5. Strings and Text Processing6. Problem Solving Methodology7. Exam Preparation8. C# Practical Exam

6

Page 7: C# Programming Course – Part I

OOP – Course Topics1. Object-Oriented Programming Basics2. Defining Classes: Constructors,

Visibility3. Defining Classes: Fields, Properties,

Methods4. Exceptions Handling5. OOP Principles: Abstraction,

Encapsulation, Inheritance, Polymorphism

6. Interfaces, Abstract Classes, Templates, Indexers

7. Team Work: Creating OOP Game8. Design Patterns9. OOP Exam Preparation10.OOP Practical Exam

7

Page 8: C# Programming Course – Part I

High-Quality Code – Topics

1. Definition of High-Quality Code. Entrance Project

2. Naming the Identifiers. Code Formatting3. High-Quality Classes. High-Quality

Methods4. Correct Usage of Variables, Constants,

Conditional Statements and Loops5. Defensive Programming and Exceptions6. Code Documentation and Self-

Documenting Code7. Unit Testing and Test-Driven

Development (TDD)8. Code Refactoring. Refactoring Patterns9. Practical Project & Defense

8

Page 9: C# Programming Course – Part I

Data Structures & Algo – Topics

1. Linear Data Structures: Lists, Stacks, Queues

2. Trees and Graphs. Balanced Search Trees

3. Dictionaries, Hash-Tables and Sets4. Complexity of Algorithms. Data

Structures Efficiency5. Sorting and Searching Algorithms6. Dynamic Programming7. Recursion and Combinatorics8. Graph and Tree Algorithms9. Problem Solving Methodology10.Exam Preparation & Practical Exam

9

Page 10: C# Programming Course – Part I

Trainers Team

Page 11: C# Programming Course – Part I

Trainers Team Svetlin Nakov, PhD

Manager Technical Training @Telerik Corp.

20 years software developmentexperience

10+ years experience as trainer Author of 6 books Speaker at hundreds of events E-mail: svetlin.nakov [at]

telerik.com Web site / Blog: http://nakov.com 11

Page 12: C# Programming Course – Part I

Trainers Team (2) Nikolay Kostov

Team Lead, Senior Developerand Trainer @ Telerik Corp.

Student in Sofia University Computer Science

IT and Informatics competitions contestant

Champion from Telerik Software Academy

Email: nikolay.kostov [at] telerik.com

Blog: http://nikolay.it 12

Page 13: C# Programming Course – Part I

Trainers Team (3) Doncho Minkov

Senior Technical Trainer @Telerik Corp.

Student in Sofia University Software Engineering

Contestant in the Informatics competitions

Champion from Telerik Software Academy

Email: doncho.minkov [at] telerik.com

Blog: http://minkov.it

Page 14: C# Programming Course – Part I

George Georgiev Technical Trainer @ Telerik Corp. Informatics and IT competitions

contestant and winner Student in Sofia University

Software engineering Champion from Telerik Software

Academy E-mail: georgi.georgiev [at]

telerik.com Blog: http://itgeorge.net

Trainers Team (4)

Page 15: C# Programming Course – Part I

Trainers Team (5) Ivaylo Kenov

Technical Trainer @ Telerik Corp. Mathematical competitions

contestant Champion from Telerik Software

Academy E-mail: ivaylo.kenov [at] telerik.com Champion in OOP and DSA

15

Page 16: C# Programming Course – Part I

Volunteer Assistants Assistants will aid you in your journey Students from Telerik Academy

(Spring 2013) Top results in all programming

exams

16

Page 17: C# Programming Course – Part I

C# Programming Course – More

Details Duration, Languages, Technologies

Page 18: C# Programming Course – Part I

Training Duration – C# Part I

Lectures: ~ 15-20 hours (@ YouTube) Practical exercises: ~ 24 hours Homework: ~ 50-100 hours Exam: 6 hours

Allocation Timeframe

Late Oct 2013 – Early Dec 2013 Exam: Early Dec 2013

18

Page 19: C# Programming Course – Part I

Why C# and .NET Framework?

Microsoft is very strong industry leader .NET Framework and C# are the

primary development technologies in the MS ecosystem

The C# language Modern object-oriented language Widespread and very popular Easy to learn Easy to switch to other languages

19

Page 20: C# Programming Course – Part I

Why English? Why the slides are in English?

English is the native languageof the software engineers

Just learn it! Specific terminology should

be in English Translations are

inaccurate and funny

20

Page 21: C# Programming Course – Part I

C# Part I Exams

Examination Criteria

Page 22: C# Programming Course – Part I

Exams @ Software Academy

Exams measure the individual performance Serve as filter for the most skillful

people Score formed by many components:

Exam results, forums activity, homework, lectures attendance, etc.

22

Page 23: C# Programming Course – Part I

Scoring System for C# Part I

Exam – 65% Serves as primary pass / fail criteria

Team work – 10% Attendance in class – 10% Homework + evaluation – 10% + 5% Forums activity – bonus up to 5% Helping the other students – bonus

up to 5%

23

Page 24: C# Programming Course – Part I

C# Part I Exams Practical Programming Exam

5 practical problems for 6 hours Covers all learned topics up to the

moment Automated judge system & real-

time feedback Solutions are evaluated for

correctness only

24

Page 25: C# Programming Course – Part I

Homework Peer Reviews

Everyone will get feedback for their homework

Everyone will give feedback for few random homework submissions Students submit homework

anonymously Please exclude your name from the

submissions! For each homework submitted

Students evaluate 3 random homeworks

From the same topic, after the deadline

Give written feedback, at least 200 characters

Low-quality feedback report for punishment

25

Page 26: C# Programming Course – Part I

Attendance in Class We encourage live participation

Top performers throughout the years have always spent lots of time in the academy halls

Register your presence @ barcode scanners Last check-in is listed in your

student profile Scanners are next to the doors Use Student ID Card Check in

+/- 30 min.before / after lecture starts

26

Page 27: C# Programming Course – Part I

Pass / Excellence / Fail Criteria

Criteria for pass / pass with excellence / fail Pass with excellence

Very high exam results or

High total results Pass

Average total results Fail

Low total results or low exam results 27

Page 28: C# Programming Course – Part I

C# Exam – Sample Problem

Write a program that enters a positive integer number N from the console and prints two symmetric triangles of size N separated by a vertical line, just like in the examples below:

28

N = 2

| * | *** | **

N = 3

| * | * ** | ***** | ***

N = 5

| * | * ** | ** *** | *** **** | ********* | *****

N = 1

|* | *

Page 29: C# Programming Course – Part I

The Judge System at the Exam

All exams will be tested automatically Through our online judge system (

BG Coder) During the exam preparation you

will practice how to use the automated judge system

You can register at any time to practice

How the testing (judge) system works? You submit your C# source code It tests your solution against

predefined tests For each test passed you get some

score

29

Page 30: C# Programming Course – Part I

Homework Assignments Doing your homework is very important! Programming can only be

learned through a lot of practice! After each lecture there are a few exercises Try to solve them in class The rest are your homework

Homework assignments due 2 weeks after each lecture – no excuses for being late Deadlines are final & enforced by

the system Submit homework through

telerikacademy.com

30

Page 31: C# Programming Course – Part I

ResourcesWhat We Need in Addition to this

Course Content?

Page 32: C# Programming Course – Part I

The C# Textbook

A very helpful resource for the course

“Fundamentals of Programming with C#”, Nakov S. and his team, 2013

Freely downloadable from: www.introprogramming.info

32

The C# track is based on the book C# Part I chapters 1..6 (up to Loops)

Page 33: C# Programming Course – Part I

Course Web Site & Forums

Register for the "Telerik Academy Forums":

Discuss the course exercises with your colleagues

Find solutions for the exercises Share source code / discuss ideas

The C# Part I official web site:33

http://forums.academy.telerik.com/questions/csharp-programming/csharp-part-1

telerikacademy.com/Courses/Courses/Details/144

Page 34: C# Programming Course – Part I

Telerik IntegratedLearning System (TILS)

The Telerik Integrated Learning System (TILS) www.telerikacademy.com Important resource for all students Homework submissions Reports about your results Presence cards (barcodes) Calendar, team work Etc. 34

Page 35: C# Programming Course – Part I

Required Software Software needed for this course:

Microsoft Windows (XP / Win7 / Win8)

Microsoft Visual Studio 2013 or Visual Studio Express 2013 (free version of VS 2013) Visual Studio 2010, 2012 is also OK

.NET Framework 4.5 (included in Visual Studio)

35

Page 36: C# Programming Course – Part I

форум програмиране, форум уеб дизайнкурсове и уроци по програмиране, уеб дизайн – безплатно

програмиране за деца – безплатни курсове и уроцибезплатен SEO курс - оптимизация за търсачки

уроци по уеб дизайн, HTML, CSS, JavaScript, Photoshop

уроци по програмиране и уеб дизайн за ученициASP.NET MVC курс – HTML, SQL, C#, .NET, ASP.NET MVC

безплатен курс "Разработка на софтуер в cloud среда"

BG Coder - онлайн състезателна система - online judge

курсове и уроци по програмиране, книги – безплатно от Наков

безплатен курс "Качествен програмен код"

алго академия – състезателно програмиране, състезанияASP.NET курс - уеб програмиране, бази данни, C#, .NET, ASP.NET

курсове и уроци по програмиране – Телерик академия

курс мобилни приложения с iPhone, Android, WP7, PhoneGapfree C# book, безплатна книга C#, книга Java, книга C# Дончо Минков - сайт за програмиране

Николай Костов - блог за програмиранеC# курс, програмиране, безплатно

?? ? ?

??? ?

?

? ?

??

?

?

? ?

Questions?

?

C# Programming Course – Part I

http://academy.telerik.com

Page 37: C# Programming Course – Part I

Free Trainings @ Telerik Academy

Fundamentals of C# ProgrammingTrack of Courses csharpfundamentals.telerik.com

Telerik Software Academy academy.telerik.com

Telerik Academy @ Facebook facebook.com/TelerikAcademy

Telerik Software Academy Forums forums.academy.telerik.com