High-Quality Programming Code Construction

35
High-Quality Programming Code Construction Course Introduction Svetlin Nakov Telerik Corporation www.telerik. com

description

High-Quality Programming Code Construction. Course Introduction. Svetlin Nakov. Telerik Corporation. www.telerik.com. Table of Contents. About Telerik Academy About the Course Requirements Course Curriculum The Trainers Team Course Schedule Assessment Certification and Awards - PowerPoint PPT Presentation

Transcript of High-Quality Programming Code Construction

High-Quality Programming Code

ConstructionCourse Introduction

Svetlin NakovTelerik

Corporationwww.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 initiatives5

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

Courses for Students @ Telerik AcademyHigh-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)

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:

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

Course Curriculum

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

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

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

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

19

Email: alexander.vakrilov [at] telerik.com

Twitter: http://twitter.com/ufsa

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/

Trainers Team (6) Tsvyatko Konov

Software engineerTelerik Corporation,www.telerik.com

21

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

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

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 TeamTelerik 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. 3125

AssessmentExams 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 Remarkable results Top 5-10 students 31

Sponsor:

Recommended Books

Recommended BooksCode Complete, 2nd Edition, Steve McConnell, ISBN 0735619670, http://www.cc2e.comRefactoring: 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:

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

High-Quality Programming Code

ConstructionQuestions?

http://codecourse.telerik.com