SlideShare uma empresa Scribd logo
1 de 36
High-Quality Programming
        Code Construction
                             Course Introduction


Svetlin Nakov
Manager Technical Training
http://www.nakov.com
Telerik Software Academy
academy.telerik.com
Table of Contents
 About Telerik Academy

 About the Course

 Requirements

 Course Curriculum

 The Trainers Team

 Course Schedule

 Assessment

 Certification and Awards

 Recommended Books                              2
About Telerik
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
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
Academy at a Glance
                         Kids Academy


University Courses      School Academy       Algo Academy



                     Software Academy
                       C# Fundamentals


   .NET Essentials       QA Academy       Developer Support




              Job at Telerik             Another Job
                                                              6
Free Courses for Students

  Courses for Students @ Telerik Academy

   High-Quality Code          Mobile Development
   (starting 5 March)          (starting October)


                               Web Applications
 Web Design with HTML5
                               with ASP.NET MVC
(starting 13 and 15 March)
                               (starting October)


  Cloud Development          Windows 8 Development
  (starting 14 March)           (starting October)



                                                     7
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 behavior

                                                          8
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
Registration
 All students should register for the course at:

      http://codecourse.telerik.com

 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
Course Curriculum
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
     Design
     High-Quality Methods. Strong Cohesion and Loose
     Coupling (26.03.2012)
                                                          12
Curriculum (2)
5.   Using Variables, Data, Expressions and Constants
     Correctly
     Using Control Structures, Conditional Statements
     and Loops Correctly (02.04.2012)
6.   Correctly Formatting the Code
     Code Documentation, Comments and Self-
     Documenting Code. Code Conventions (09.04.2012)
7.   Software Quality Assurance
     Testing and Debugging
     Unit Testing. Test-Driven Development (23.04.2012)

                                                          13
Curriculum (3)
8.    Defensive Programming. Using Exceptions.
      Performance Tuning and Code Optimization
      Refactoring Existing Code to Improve Its Quality
      Code 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
Trainers Team
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
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
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
Trainers Team (4)

 Alexander Vakrilov

  Software Engineer,
   Telerik Corporation
  Email: alexander.vakrilov [at] telerik.com
  Twitter: http://twitter.com/ufsa




                                                19
Trainers Team (5)
 Yordan Dimitrov

  Team Leader,
   Team Pulse,
   Telerik Corporation,
   www.telerik.com
  E-mail: yordan.dimitrov [at] telerik.com
  Blog: http://blogs.telerik.com/jordandimitrov/



                                                    20
Trainers Team (6)
 Tsvyatko Konov

  Software engineer
   Telerik Corporation,
   www.telerik.com
  E-mail: tsvyatko.konov [at] telerik.com
  Blog: http://tsvyatkokonov.blogspot.com/




                                                21
Trainers Team (7)
 Ilian Iliev

   Software engineer,
    Telerik Corporation,
    www.telerik.com
   Email: ilian [at] ilievdev.net
   Blog: http://ilievdev.net




                                                    22
Trainers Team (8)
 Anton Angelov

  Software engineer,
   Web Team
   Telerik Corporation,
   www.telerik.com
  Email: anton.angelov [at] telerik.com




                                                23
Course Schedule
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
Assessment
Exams and Grades
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
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
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
Certification and Awards
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
                                     Sponsor:
   Remarkable results
   Top 5-10 students

                                                       31
Recommended Books
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
Contact us
 If you have any questions you can contact us:


              academy@telerik.com

 You can write in our forum:


   http://forums.academy.telerik.com

   Other students may help you
   You may help other students
   We will answer you, too
                                                  34
High-Quality Programming
                                                                                                                                        Code Construction




    курсове и уроци по програмиране, уеб дизайн – безплатно     BG Coder - онлайн състезателна система - online judge
          курсове и уроци по програмиране – Телерик академия    форум програмиране, форум уеб дизайн
               уроци по програмиране и уеб дизайн за ученици    ASP.NET курс - уеб програмиране, бази данни, C#, .NET, ASP.NET




                                                                                                                                              http://academy.telerik.com
           програмиране за деца – безплатни курсове и уроци     ASP.NET MVC курс – HTML, SQL, C#, .NET, ASP.NET MVC
                безплатен SEO курс - оптимизация за търсачки     алго академия – състезателно програмиране, състезания
курсове и уроци по програмиране, книги – безплатно от Наков     курс мобилни приложения с iPhone, Android, WP7, PhoneGap
       уроци по уеб дизайн, HTML, CSS, JavaScript, Photoshop    Дончо Минков - сайт за програмиране
       free C# book, безплатна книга C#, книга Java, книга C#   Николай Костов - блог за програмиране
                    безплатен курс "Качествен програмен код"
       безплатен курс "Разработка на софтуер в cloud среда"     C# курс, програмиране, безплатно
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

Mais conteúdo relacionado

Destaque

Measuring the Code Quality Using Software Metrics
Measuring the Code Quality Using Software MetricsMeasuring the Code Quality Using Software Metrics
Measuring the Code Quality Using Software MetricsGeetha Anjali
 
Agile code quality metrics
Agile code quality metricsAgile code quality metrics
Agile code quality metricsGil Nahmias
 
SonarQube - The leading platform for Continuous Code Quality
SonarQube - The leading platform for Continuous Code QualitySonarQube - The leading platform for Continuous Code Quality
SonarQube - The leading platform for Continuous Code QualityLarry Nung
 
14. Defining Classes
14. Defining Classes14. Defining Classes
14. Defining ClassesIntro C# Book
 
Code quality
Code qualityCode quality
Code qualityProvectus
 
20. Object-Oriented Programming Fundamental Principles
20. Object-Oriented Programming Fundamental Principles20. Object-Oriented Programming Fundamental Principles
20. Object-Oriented Programming Fundamental PrinciplesIntro C# Book
 
Python - code quality and production monitoring
Python - code quality and production monitoringPython - code quality and production monitoring
Python - code quality and production monitoringDavid Melamed
 
Measure and Improve code quality. Using automation.
Measure and Improve code quality.  Using automation.Measure and Improve code quality.  Using automation.
Measure and Improve code quality. Using automation.Vladimir Korolev
 
17. Trees and Graphs
17. Trees and Graphs17. Trees and Graphs
17. Trees and GraphsIntro C# Book
 

Destaque (10)

Measuring the Code Quality Using Software Metrics
Measuring the Code Quality Using Software MetricsMeasuring the Code Quality Using Software Metrics
Measuring the Code Quality Using Software Metrics
 
Agile code quality metrics
Agile code quality metricsAgile code quality metrics
Agile code quality metrics
 
SonarQube - The leading platform for Continuous Code Quality
SonarQube - The leading platform for Continuous Code QualitySonarQube - The leading platform for Continuous Code Quality
SonarQube - The leading platform for Continuous Code Quality
 
14. Defining Classes
14. Defining Classes14. Defining Classes
14. Defining Classes
 
Code quality
Code qualityCode quality
Code quality
 
20. Object-Oriented Programming Fundamental Principles
20. Object-Oriented Programming Fundamental Principles20. Object-Oriented Programming Fundamental Principles
20. Object-Oriented Programming Fundamental Principles
 
Python - code quality and production monitoring
Python - code quality and production monitoringPython - code quality and production monitoring
Python - code quality and production monitoring
 
Measure and Improve code quality. Using automation.
Measure and Improve code quality.  Using automation.Measure and Improve code quality.  Using automation.
Measure and Improve code quality. Using automation.
 
17. Trees and Graphs
17. Trees and Graphs17. Trees and Graphs
17. Trees and Graphs
 
Aspects Of Code Quality meetup
Aspects Of Code Quality   meetupAspects Of Code Quality   meetup
Aspects Of Code Quality meetup
 

Último

Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxGrade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxkarenfajardo43
 
Indexing Structures in Database Management system.pdf
Indexing Structures in Database Management system.pdfIndexing Structures in Database Management system.pdf
Indexing Structures in Database Management system.pdfChristalin Nelson
 
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxDIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxMichelleTuguinay1
 
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Association for Project Management
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Projectjordimapav
 
How to Manage Buy 3 Get 1 Free in Odoo 17
How to Manage Buy 3 Get 1 Free in Odoo 17How to Manage Buy 3 Get 1 Free in Odoo 17
How to Manage Buy 3 Get 1 Free in Odoo 17Celine George
 
4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptxmary850239
 
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...Nguyen Thanh Tu Collection
 
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...DhatriParmar
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfVanessa Camilleri
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
Sulphonamides, mechanisms and their uses
Sulphonamides, mechanisms and their usesSulphonamides, mechanisms and their uses
Sulphonamides, mechanisms and their usesVijayaLaxmi84
 
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...DhatriParmar
 
CLASSIFICATION OF ANTI - CANCER DRUGS.pptx
CLASSIFICATION OF ANTI - CANCER DRUGS.pptxCLASSIFICATION OF ANTI - CANCER DRUGS.pptx
CLASSIFICATION OF ANTI - CANCER DRUGS.pptxAnupam32727
 
Mythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWMythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWQuiz Club NITW
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
MS4 level being good citizen -imperative- (1) (1).pdf
MS4 level   being good citizen -imperative- (1) (1).pdfMS4 level   being good citizen -imperative- (1) (1).pdf
MS4 level being good citizen -imperative- (1) (1).pdfMr Bounab Samir
 
Tree View Decoration Attribute in the Odoo 17
Tree View Decoration Attribute in the Odoo 17Tree View Decoration Attribute in the Odoo 17
Tree View Decoration Attribute in the Odoo 17Celine George
 

Último (20)

Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxGrade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
 
Indexing Structures in Database Management system.pdf
Indexing Structures in Database Management system.pdfIndexing Structures in Database Management system.pdf
Indexing Structures in Database Management system.pdf
 
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxDIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
 
Faculty Profile prashantha K EEE dept Sri Sairam college of Engineering
Faculty Profile prashantha K EEE dept Sri Sairam college of EngineeringFaculty Profile prashantha K EEE dept Sri Sairam college of Engineering
Faculty Profile prashantha K EEE dept Sri Sairam college of Engineering
 
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Project
 
How to Manage Buy 3 Get 1 Free in Odoo 17
How to Manage Buy 3 Get 1 Free in Odoo 17How to Manage Buy 3 Get 1 Free in Odoo 17
How to Manage Buy 3 Get 1 Free in Odoo 17
 
4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx
 
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
 
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdf
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
Sulphonamides, mechanisms and their uses
Sulphonamides, mechanisms and their usesSulphonamides, mechanisms and their uses
Sulphonamides, mechanisms and their uses
 
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
 
CLASSIFICATION OF ANTI - CANCER DRUGS.pptx
CLASSIFICATION OF ANTI - CANCER DRUGS.pptxCLASSIFICATION OF ANTI - CANCER DRUGS.pptx
CLASSIFICATION OF ANTI - CANCER DRUGS.pptx
 
Mythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWMythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITW
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
MS4 level being good citizen -imperative- (1) (1).pdf
MS4 level   being good citizen -imperative- (1) (1).pdfMS4 level   being good citizen -imperative- (1) (1).pdf
MS4 level being good citizen -imperative- (1) (1).pdf
 
Tree View Decoration Attribute in the Odoo 17
Tree View Decoration Attribute in the Odoo 17Tree View Decoration Attribute in the Odoo 17
Tree View Decoration Attribute in the Odoo 17
 

High-Quality Programming Code Construction - Course Introduction

  • 1. High-Quality Programming Code Construction Course Introduction Svetlin Nakov Manager Technical Training http://www.nakov.com Telerik Software Academy academy.telerik.com
  • 2. Table of Contents  About Telerik Academy  About the Course  Requirements  Course Curriculum  The Trainers Team  Course Schedule  Assessment  Certification and Awards  Recommended Books 2
  • 4. 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
  • 5. 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
  • 6. Academy at a Glance Kids Academy University Courses School Academy Algo Academy Software Academy C# Fundamentals .NET Essentials QA Academy Developer Support Job at Telerik Another Job 6
  • 7. Free Courses for Students Courses for Students @ Telerik Academy High-Quality Code Mobile Development (starting 5 March) (starting October) Web Applications Web Design with HTML5 with ASP.NET MVC (starting 13 and 15 March) (starting October) Cloud Development Windows 8 Development (starting 14 March) (starting October) 7
  • 8. 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 behavior 8
  • 9. 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
  • 10. Registration  All students should register for the course at: http://codecourse.telerik.com  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
  • 12. 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 Design High-Quality Methods. Strong Cohesion and Loose Coupling (26.03.2012) 12
  • 13. Curriculum (2) 5. Using Variables, Data, Expressions and Constants Correctly Using Control Structures, Conditional Statements and Loops Correctly (02.04.2012) 6. Correctly Formatting the Code Code Documentation, Comments and Self- Documenting Code. Code Conventions (09.04.2012) 7. Software Quality Assurance Testing and Debugging Unit Testing. Test-Driven Development (23.04.2012) 13
  • 14. Curriculum (3) 8. Defensive Programming. Using Exceptions. Performance Tuning and Code Optimization Refactoring Existing Code to Improve Its Quality Code 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
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. Trainers Team (4)  Alexander Vakrilov  Software Engineer, Telerik Corporation  Email: alexander.vakrilov [at] telerik.com  Twitter: http://twitter.com/ufsa 19
  • 20. Trainers Team (5)  Yordan Dimitrov  Team Leader, Team Pulse, Telerik Corporation, www.telerik.com  E-mail: yordan.dimitrov [at] telerik.com  Blog: http://blogs.telerik.com/jordandimitrov/ 20
  • 21. Trainers Team (6)  Tsvyatko Konov  Software engineer Telerik Corporation, www.telerik.com  E-mail: tsvyatko.konov [at] telerik.com  Blog: http://tsvyatkokonov.blogspot.com/ 21
  • 22. Trainers Team (7)  Ilian Iliev  Software engineer, Telerik Corporation, www.telerik.com  Email: ilian [at] ilievdev.net  Blog: http://ilievdev.net 22
  • 23. Trainers Team (8)  Anton Angelov  Software engineer, Web Team Telerik Corporation, www.telerik.com  Email: anton.angelov [at] telerik.com 23
  • 25. 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
  • 27. 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
  • 28. 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
  • 29. 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
  • 31. 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 Sponsor:  Remarkable results  Top 5-10 students 31
  • 33. 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
  • 34. Contact us  If you have any questions you can contact us: academy@telerik.com  You can write in our forum: http://forums.academy.telerik.com  Other students may help you  You may help other students  We will answer you, too 34
  • 35. High-Quality Programming Code Construction курсове и уроци по програмиране, уеб дизайн – безплатно BG Coder - онлайн състезателна система - online judge курсове и уроци по програмиране – Телерик академия форум програмиране, форум уеб дизайн уроци по програмиране и уеб дизайн за ученици ASP.NET курс - уеб програмиране, бази данни, C#, .NET, ASP.NET http://academy.telerik.com програмиране за деца – безплатни курсове и уроци ASP.NET MVC курс – HTML, SQL, C#, .NET, ASP.NET MVC безплатен SEO курс - оптимизация за търсачки алго академия – състезателно програмиране, състезания курсове и уроци по програмиране, книги – безплатно от Наков курс мобилни приложения с iPhone, Android, WP7, PhoneGap уроци по уеб дизайн, HTML, CSS, JavaScript, Photoshop Дончо Минков - сайт за програмиране free C# book, безплатна книга C#, книга Java, книга C# Николай Костов - блог за програмиране безплатен курс "Качествен програмен код" безплатен курс "Разработка на софтуер в cloud среда" C# курс, програмиране, безплатно
  • 36. 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