270 likes | 411 Views
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
E N D
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 • 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 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)
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
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
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?
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
Trainers Team (2) • Vesko Kolev • Software engineer, Telerik Corporation, www.telerik.com • E-mail: vesko.kolev [at] telerik.com • Blog: http://veskokolev.blogspot.com
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/
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/
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/
Trainers Team (6) • Tsvyatko Konov • Software engineer, Telerik Corporation, www.telerik.com • E-mail: tsvyatko.konov [at] telerik.com • Blog: http://tsvyatkokonov.blogspot.com/
Trainers Team (7) • Radoslav Kirilov • Software engineer, Telerik Corporation, www.telerik.com • E-mail: radoslav.kirilov [at] telerik.com • Blog: http://radoslavkirilov.blogspot.com/
Trainers Team (8) • Nikolay Ganchev • Software engineer, Telerik Corporation, www.telerik.com • E-mail: nikolay.ganchev [at] telerik.com
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
Assessment Exams and Grades
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
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:
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
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
High-Quality Programming Code Construction ? Questions? ? ? ? ? ? ? ? ? ? http://codecourse.telerik.com