36
High-Quality Programming Code Construction Course Introduction Svetlin Nakov Telerik Software Academy academy.telerik.com Manager Technical Training http://www.nakov.com http://codecourse.telerik.com/

High-Quality Programming Code Construction - Course Introduction

Embed Size (px)

DESCRIPTION

High-Quality Code @ Telerik Academyhttp://codecourse.telerik.com/The website and all video materials language is in BulgarianAbout Telerik AcademyAbout the CourseRequirementsCourse CurriculumThe Trainers TeamCourse ScheduleAssessmentCertification and AwardsRecommended Books

Citation preview

Page 1: High-Quality Programming Code Construction - Course Introduction

High-Quality Programming

Code ConstructionCourse Introduction

Svetlin Nakov

Telerik Software Academyacademy.telerik.com

Manager Technical Traininghttp://www.nakov.com

http://codecourse.telerik.com/

Page 2: High-Quality Programming Code Construction - Course Introduction

Table of Contents About Telerik Academy About the Course Requirements Course Curriculum The Trainers Team Course Schedule Assessment Certification and Awards Recommended Books 2

Page 3: High-Quality Programming Code Construction - Course Introduction

About Telerik

Page 4: High-Quality Programming Code Construction - Course Introduction

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 With offices in USA, Germany,

Australia, India

More than 500 employees – mostly developers

Employer #1 in Bulgaria for 2010 Microsoft Gold Certified Partner

4

Page 5: High-Quality Programming Code Construction - Course Introduction

About Telerik Academy Telerik Academy is an initiative Telerik for training of young software engineers Software Academy

.NET Essentials, QA Academy, Dev-Support

Student Courses School Academy Algo Academy Kids Academy Contests and other

free initiatives

5

Page 6: High-Quality Programming Code Construction - Course Introduction

Software AcademyC#

Fundamentals

QA Academy

.NET Essentials

Developer Support

Job at Telerik

University Courses

School Academy

Kids Academy

Academy at a Glance

6

Algo Academy

Another Job

Page 7: High-Quality Programming Code Construction - Course Introduction

Courses for Students @ Telerik Academy

High-Quality Code (starting 5 March)

Mobile Development(starting October)

Free Courses for Students

7

Web Applicationswith ASP.NET MVC (starting October)

Cloud Development(starting 14 March)

Web Design with HTML5

(starting 13 and 15 March)

Windows 8 Development

(starting October)

Page 8: High-Quality Programming Code Construction - Course Introduction

About the Course High-quality programming code

course objectives Fundamental principles and practices

for building high-quality software

Focus on the source code What is high-quality code?

Easy-to-read

Easy-to-understand

Easy-to-modify

Correct behavior8

Page 9: High-Quality Programming Code Construction - Course Introduction

Requirements to the Students

Computer programming skills At least one of the following

languages: C#, Java, C++ or PHP

Object-oriented programming Abstraction, encapsulation,

inheritance, polymorphism, exceptions handling

English language All training materials are in English

(intentionally, Telerik Academy policy)

Registration

9

Page 10: High-Quality Programming Code Construction - Course Introduction

Registration All students should register for the course at:

Registration is important! Registration allows the trainers

contact you regarding the course projects, exams, etc.

Registered students are assigned to work on one of the course projects

On the link you can find all the materials, videos, homework, etc.

10

http://codecourse.telerik.com

Page 11: High-Quality Programming Code Construction - Course Introduction

Course Curriculum

Page 12: High-Quality Programming Code Construction - Course Introduction

Curriculum

1. Course Overview. Introduction to High-Quality Programming Code. Entrance Project (05.03.2012)

2. Fundamentals of Software Engineering (19.03.2012)

3. Naming Identifiers in the Source Code. Naming Classes, Methods, Variables, Parameters and Other Elements of the Code (12.03.2012)

4. Designing High-Quality Classes and Class Hierarchies. Best Practices in the Object-Oriented DesignHigh-Quality Methods. Strong Cohesion and Loose Coupling (26.03.2012)

12

Page 13: High-Quality Programming Code Construction - Course Introduction

Curriculum (2)

5. Using Variables, Data, Expressions and Constants CorrectlyUsing Control Structures, Conditional Statements and Loops Correctly (02.04.2012)

6. Correctly Formatting the CodeCode Documentation, Comments and Self-Documenting Code. Code Conventions (09.04.2012)

7. Software Quality AssuranceTesting and DebuggingUnit Testing. Test-Driven Development (23.04.2012)

13

Page 14: High-Quality Programming Code Construction - Course Introduction

Curriculum (3)

8. Defensive Programming. Using Exceptions.Performance Tuning and Code OptimizationRefactoring Existing Code to Improve Its QualityCode Integration (07.05.2012)

9. Development Tools. IDEs. Change Management Systems. Code Analysis Tools. Automated Testing Tools. Automated Build Tools. Continuous Integration Tools (14.05.2012)

10. Test Covering the All Studied Topics (21.05.2012)

11. Course Projects: Assignment, Guidelines and Discussion (28.05.2012)

14

Page 15: High-Quality Programming Code Construction - Course Introduction

Trainers Team

Page 16: High-Quality Programming Code Construction - Course Introduction

Trainers Team

Svetlin Nakov, PhD Manager Technical Training

Telerik Corporation

21 years software development experience

Author of 6 books

Speaker of hundreds of events

E-mail: svetlin.nakov [at] telerik.com

Web site: www.nakov.com

16

Page 17: High-Quality Programming Code Construction - Course Introduction

Trainers Team (2)

Nikolay Kostov

Technical Trainer

Telerik Corporation

Telerik Academy

3rd year student in FMI

E-mail: nikolay.kostov [at] telerik.com

Web site: www.nikolay.it

17

Page 18: High-Quality Programming Code Construction - Course Introduction

Trainers Team (3)

Doncho Minkov

Technical Trainer

Telerik Corporation

Telerik Academy

4th year student in FMI

E-mail: doncho.minkov [at] telerik.com

Web site: www.minkov.it

18

Page 19: High-Quality Programming Code Construction - Course Introduction

Trainers Team (4)

Alexander Vakrilov Software Engineer,

Telerik Corporation

19

Email: alexander.vakrilov [at] telerik.com

Twitter: http://twitter.com/ufsa

Page 20: High-Quality Programming Code Construction - Course Introduction

Trainers Team (5)

Yordan Dimitrov

Team Leader, Team Pulse, Telerik Corporation, www.telerik.com

20

E-mail: yordan.dimitrov [at] telerik.com

Blog: http://blogs.telerik.com/jordandimitrov/

Page 21: High-Quality Programming Code Construction - Course Introduction

Trainers Team (6)

Tsvyatko Konov

Software engineerTelerik Corporation,www.telerik.com

21

E-mail: tsvyatko.konov [at] telerik.com

Blog: http://tsvyatkokonov.blogspot.com/

Page 22: High-Quality Programming Code Construction - Course Introduction

Trainers Team (7) Ilian Iliev

Software engineer,Telerik Corporation,www.telerik.com

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

22

Page 23: High-Quality Programming Code Construction - Course Introduction

Trainers Team (8) Anton Angelov

Software engineer,Web TeamTelerik Corporation,www.telerik.com

Email: anton.angelov [at] telerik.com

23

Page 24: High-Quality Programming Code Construction - Course Introduction

Course Schedule

Page 25: High-Quality Programming Code Construction - Course Introduction

Course Schedule

Telerik Academy

Every Monday, 19:00-22:00,Telerik Academy Hall

Start: 5th March 2012

Wedding Mall, 2nd floor

Capacity: 250 places

Located in: Mladost 1A,Alexander Malinov blvd. 31

25

Page 26: High-Quality Programming Code Construction - Course Introduction

AssessmentExams and Grades

Page 27: High-Quality Programming Code Construction - Course Introduction

Assessment Entrance project 0 … 10 score

Small assignment in C#, PHP, Java or C++

Checked for correctness only Homework 0 … 15 score Test (theory) 0 … 20 score

40 questions (theory) Final project 0 … 55 score

Refactoring and unit testing of low-quality code The same language as the entrance

project

27

Page 28: High-Quality Programming Code Construction - Course Introduction

Entrance Projects Entrance projects aim to check the entrance level of all course attendees Simple programs to be developed at

home Console applications, no GUI / Web

interface Allowed languages: C#, PHP, Java

and C++ Evaluation:

Projects will be checked for correctness only

Do not care for code quality Do not create GUI

28

Page 29: High-Quality Programming Code Construction - Course Introduction

Sample Entrance Projects

Project #1 Tic-tac-toe Game 2 players play in the console

Project #2 Bulls and Cows Game 2 players play in the console

Project #3 Hang-Man Game 2 players play in the console (no

visualization) 29

Page 30: High-Quality Programming Code Construction - Course Introduction

Certification and Awards

Page 31: High-Quality Programming Code Construction - Course Introduction

Certification and Awards

Best students will get certification and awards

Certificate of achievement Up to 10% of the students will get a

certificate Issued by Telerik Academy Signed by the trainers team

Awards Remarkable results Top 5-10 students 31

Sponsor:

Page 32: High-Quality Programming Code Construction - Course Introduction

Recommended Books

Page 33: High-Quality Programming Code Construction - Course Introduction

Recommended Books

Code Complete, 2nd Edition, Steve McConnell, ISBN 0735619670, http://www.cc2e.com

Refactoring: Improving the Design of Existing Code, Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts, ISBN 0201485672, http://martinfowler.com/

Test Driven Development: By Example, Kent Beck, ISBN 0321146530

33

Page 34: High-Quality Programming Code Construction - Course Introduction

Contact us If you have any questions you can contact us:

You can write in our forum:

Other students may help you

You may help other students

We will answer you, too 34

[email protected]

http://forums.academy.telerik.com

Page 35: High-Quality Programming Code Construction - Course Introduction

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

програмиране за деца – безплатни курсове и уроцибезплатен 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, PhoneGap

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

?

? ? ??

?? ?

?

?

?

??

?

?

? ?

Questions?

?

High-Quality Programming Code

Construction

http://academy.telerik.com

Page 36: High-Quality Programming Code Construction - Course Introduction

Free Trainings @ Telerik Academy

“High-Quality Programming Code" course @ Telerik Academy codecourse.telerik.com

Telerik Software Academy academy.telerik.com

Telerik Academy @ Facebook facebook.com/TelerikAcademy

Telerik Software Academy Forums forums.academy.telerik.com