1 / 27

High-Quality Programming Code Construction

High-Quality Programming Code Construction. Course Introduction. Svetlin Nakov. Telerik Corporation. www.telerik.com. About the Course. High-quality programming code course objectives Fundamental principles and practices for building high-quality software Focus on the source code

Download Presentation

High-Quality Programming Code Construction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. Requirements to the Students • Computer programming skills • At least on of the following languages: • C#, Java or C++ • Object-oriented programming • Abstraction, encapsulation, inheritance, polymorphism, exceptions handling • English language • All training materials are in English (intentionally, Telerik Academy policy)

  4. Course Curriculum

  5. Curriculum • Course Overview. Introduction to High-Quality Programming Code. Entrance Project • Fundamentals of Software Engineering • Naming Identifiers in the Source Code. Naming Classes, Methods, Variables, Parameters and Other Elements of the Code • Designing High-Quality Classes and Class Hierarchies. Best Practices in the Object-Oriented Design • High-Quality Methods. Strong Cohesion and Loose Coupling

  6. Curriculum (2) • Using Variables, Data, Expressions and Constants Correctly • Using Control Structures, Conditional Statements and Loops Correctly • Correctly Formatting the Code. Code Documentation, Comments and Self-Documenting Code. Code Conventions • Defensive Programming. Using Exceptions. Performance Tuning and Code Optimization • Code Integration. Refactoring Existing Code to Improve Its Quality

  7. Curriculum (3) • Software Quality Assurance. Testing and Debugging. Unit Testing. Test-Driven Development • Development Tools. IDEs. Change Management Systems. Code Analysis Tools. Automated Testing Tools. Automated Build Tools. Continuous Integration Tools • Test Covering the All Studied Topics • Course Projects: Assignment, Guidelines and Discussion • How to Become a Ninja Developer?

  8. Trainers Team

  9. Trainers Team • Svetlin Nakov • Manager Technical Training, Telerik Corporation, Telerik Academy • 15 years software development experience • E-mail: svetlin.nakov [at] telerik.com • Web site: www.nakov.com • Blog: http://nakov.com/blog

  10. Trainers Team (2) • Vesko Kolev • Software engineer, Telerik Corporation, www.telerik.com • E-mail: vesko.kolev [at] telerik.com • Blog: http://veskokolev.blogspot.com

  11. Trainers Team (3) • Stefan Dobrev • Software engineer, Telerik Corporation, www.telerik.com • E-mail: stefan.dobrev [at] telerik.com • Blog: http://blogs.telerik.com/stefandobrev/

  12. Trainers Team (4) • Yordan Dimitrov • Software engineer, Telerik Corporation, www.telerik.com • E-mail: yordan.dimitrov [at] telerik.com • Blog: http://blogs.telerik.com/jordandimitrov/

  13. Trainers Team (5) • Ivaylo Bratoev • Software engineer, Telerik Corporation, www.telerik.com • E-mail: ivaylo.bratoev [at] telerik.com • Blog: http://blogs.telerik.com/ivaylobratoev/

  14. Trainers Team (6) • Tsvyatko Konov • Software engineer, Telerik Corporation, www.telerik.com • E-mail: tsvyatko.konov [at] telerik.com • Blog: http://tsvyatkokonov.blogspot.com/

  15. Trainers Team (7) • Radoslav Kirilov • Software engineer, Telerik Corporation, www.telerik.com • E-mail: radoslav.kirilov [at] telerik.com • Blog: http://radoslavkirilov.blogspot.com/

  16. Trainers Team (8) • Nikolay Ganchev • Software engineer, Telerik Corporation, www.telerik.com • E-mail: nikolay.ganchev [at] telerik.com

  17. Course Schedule

  18. Course Schedule • Technical University – Sofia • Every Wednesday, 18:00-21:00, hall 1154 • Start: 10 February 2010 • Faculty of Mathematics and Informatics (FMI), Sofia University “St. Kliment Ohridski” • Every Tuesday, 18:00-21:00, hall 200 • Start: 23 February 2010

  19. Assessment Exams and Grades

  20. Assessment • Test (theory)  0 … 35 score • 35 questions (theory) • Entrance project  0 / 15 score • Small assignment to develop in C#, Java or C++ • Checked for correctness only • Final project  0 … 50 score • Refactoring of low-quality code • The same language as the entrance project • Adding unit tests

  21. Grades

  22. Certification and Awards

  23. Certification and Awards • Best students will get certification and awards • Certificate of achievement • Requires 90 score from tests / projects • Issued by Telerik Academy • Signed by the trainers team • Awards • Remarkable results • Top 5-10 students Sponsor:

  24. Recommended Books

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

  26. Please Register for the Course! • All attendees of the course should register at the course Web site: • We need registration to maintain communication will all attendees regarding schedule, projects, assignments, tests, etc. http://codecourse.telerik.com

  27. High-Quality Programming Code Construction ? Questions? ? ? ? ? ? ? ? ? ? http://codecourse.telerik.com

More Related