You are on page 1of 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
2

Recommended Books

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
4

Microsoft Gold Certified Partner

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 (starting 5 March) Mobile Development (starting October)

Web Design with HTML5 (starting 13 and 15 March)

Web Applications with ASP.NET MVC (starting October)

Cloud Development (starting 14 March)

Windows 8 Development (starting October)

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.
3.

Fundamentals of Software Engineering (19.03.2012)


Naming Identifiers in the Source Code. Naming Classes, Methods, Variables, Parameters and Other Elements of the Code (12.03.2012) 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

4.

Curriculum (2)
5.

Using Variables, Data, Expressions and Constants Correctly Using Control Structures, Conditional Statements and Loops Correctly (02.04.2012) Correctly Formatting the Code Code Documentation, Comments and SelfDocumenting Code. Code Conventions (09.04.2012) Software Quality Assurance Testing and Debugging Unit Testing. Test-Driven Development (23.04.2012)
13

6.

7.

Curriculum (3)
8.

Defensive Programming. Using Exceptions. Performance Tuning and Code Optimization Refactoring Existing Code to Improve Its Quality Code Integration (07.05.2012) Development Tools. IDEs. Change Management Systems. Code Analysis Tools. Automated Testing Tools. Automated Build Tools. Continuous Integration Tools (14.05.2012) Test Covering the All Studied Topics (21.05.2012) Course Projects: Assignment, Guidelines and Discussion (28.05.2012)
14

9.

10. 11.

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

, SEO - , , HTML, CSS, JavaScript, Photoshop free C# book, C#, Java, C# " " " cloud "

BG Coder - - online judge , ASP.NET - , , C#, .NET, ASP.NET ASP.NET MVC HTML, SQL, C#, .NET, ASP.NET MVC , iPhone, Android, WP7, PhoneGap - - C# , ,

http://academy.telerik.com

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

You might also like