Course Introduction

advertisement
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
 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
Job at Telerik
Developer Support
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)
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 SelfDocumenting 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
Questions?
http://codecourse.telerik.com
Download