Course Introduction Svetlin Nakov Telerik Corporation
About Telerik Academy About the Course Requirements Course Curriculum The Trainers Team Course Schedule Assessment Certification and Awards Recommended Books 2
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
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
Software Academy C# Fundamentals QA Academy.NET Essentials Developer Support Job at Telerik University Courses School Academy Kids Academy 6 Algo Academy Another Job
Courses for Telerik Academy High-Quality Code (starting 5 March) Mobile Development (starting October) 7 Web Applications with ASP.NET MVC (starting October) Cloud Development (starting 14 March) Web Design with HTML5 (starting 13 and 15 March) Windows 8 Development (starting October)
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
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
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
1. Course Overview. Introduction to High-Quality Programming Code. Entrance Project ( ) 2. Fundamentals of Software Engineering ( ) 3. Naming Identifiers in the Source Code. Naming Classes, Methods, Variables, Parameters and Other Elements of the Code ( ) 4. Designing High-Quality Classes and Class Hierarchies. Best Practices in the Object-Oriented Design High-Quality Methods. Strong Cohesion and Loose Coupling ( ) 12
5. Using Variables, Data, Expressions and Constants Correctly Using Control Structures, Conditional Statements and Loops Correctly ( ) 6. Correctly Formatting the Code Code Documentation, Comments and Self- Documenting Code. Code Conventions ( ) 7. Software Quality Assurance Testing and Debugging Unit Testing. Test-Driven Development ( ) 13
8. Defensive Programming. Using Exceptions. Performance Tuning and Code Optimization Refactoring Existing Code to Improve Its Quality Code Integration ( ) 9. Development Tools. IDEs. Change Management Systems. Code Analysis Tools. Automated Testing Tools. Automated Build Tools. Continuous Integration Tools ( ) 10. Test Covering the All Studied Topics ( ) 11. Course Projects: Assignment, Guidelines and Discussion ( ) 14
Svetlin Nakov, PhD Manager Technical Training Telerik Corporation 21 years software development experience Author of 6 books Speaker of hundreds of events svetlin.nakov [at] telerik.com Web site:
Nikolay Kostov Technical Trainer Telerik Corporation Telerik Academy 3 rd year student in FMI nikolay.kostov [at] telerik.com Web site:
Doncho Minkov Technical Trainer Telerik Corporation Telerik Academy 4 th year student in FMI doncho.minkov [at] telerik.com Web site:
Alexander Vakrilov Software Engineer, Telerik Corporation Telerik Corporation Telerik Corporation 19 alexander.vakrilov [at] telerik.com Twitter: Twitter:
Yordan Dimitrov Team Leader, Team Pulse, Telerik Corporation, yordan.dimitrov [at] telerik.com Blog:
Tsvyatko Konov Software engineer Telerik Corporation, tsvyatko.konov [at] telerik.com Blog:
Ilian Iliev Software engineer, Telerik Corporation, ilian [at] ilievdev.net Blog:
Anton Angelov Software engineer, Web Team Telerik Corporation, anton.angelov [at] telerik.com 23
Telerik Academy Every Monday, 19:00-22:00, Telerik Academy Hall Start: 5 th March 2012 Wedding Mall, 2 nd floor Capacity: 250 places Located in: Mladost 1A, Alexander Malinov blvd
Exams and Grades
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 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
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
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:
Code Complete, 2nd Edition, Steve McConnell, ISBN , Refactoring: Improving the Design of Existing Code, Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts, ISBN , Test Driven Development: By Example, Kent Beck, ISBN
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
Questions?