350 likes | 472 Views
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
E N D
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
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
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
Academy at a Glance Kids Academy School Academy University Courses Algo Academy Software Academy C# Fundamentals Developer Support .NET Essentials QA Academy Job at Telerik Another Job
Free Courses for Students Courses for Students @ Telerik Academy High-Quality Code(starting 5 March) Mobile Development(startingOctober) Web Design with HTML5 (starting 13 and 15 March) Web Applicationswith 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
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
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. http://codecourse.telerik.com
Curriculum • Course Overview. Introduction to High-Quality Programming Code. Entrance Project (05.03.2012) • 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 DesignHigh-Quality Methods. Strong Cohesion and Loose Coupling (26.03.2012)
Curriculum (2) • Using Variables, Data, Expressions and Constants CorrectlyUsing Control Structures, Conditional Statements and Loops Correctly (02.04.2012) • Correctly Formatting the CodeCode Documentation, Comments and Self-Documenting Code. Code Conventions (09.04.2012) • Software Quality AssuranceTesting and DebuggingUnit Testing. Test-Driven Development (23.04.2012)
Curriculum (3) • Defensive Programming. Using Exceptions.Performance Tuning and Code OptimizationRefactoring Existing Code to Improve Its QualityCode 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.03.2012) • Course Projects: Assignment, Guidelines and Discussion(28.05.2012)
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
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
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
Trainers Team (4) • Alexander Vakrilov • Software Engineer, Telerik Corporation • 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 • E-mail: yordan.dimitrov [at] telerik.com • Blog: http://blogs.telerik.com/jordandimitrov/
Trainers Team (6) • Tsvyatko Konov • Software engineerTelerik Corporation,www.telerik.com • 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
Trainers Team (8) • Anton Angelov • Software engineer,Web TeamTelerik Corporation,www.telerik.com • Email: ilian [at] ilievdev.net
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
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 • 40questions (theory) • Final project 0 … 55 score • Refactoring and unit testing of low-quality code • The same language as the entrance project
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
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)
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 Sponsor:
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
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 academy@telerik.com http://forums.academy.telerik.com
High-Quality Programming Code Construction Questions? http://codecourse.telerik.com