Course Program, Evaluation, Exams, Resources Telerik Software Academy High-Quality Code
Next step in Telerik Software Academy The High-Quality Code Course Program The Trainers Team Evaluation Exams Teamwork Resources for the Course Recommended Books Top 10 Students in Module 1 2
Starting the Next (Second) Module in the Telerik Software Academy
The C# Programming track at the Academy: Academy Give the trainees the fundamental computer programming knowledge and skills Establish the logical and algorithmic thinking Development of problems solving skills Learn basic data structures, algorithms and object-oriented programming (OOP) concepts Learn to produce high-quality code Prepare for learning the software technologies HTML 5, DB & SQL, Cloud, Web, Mobile, QA, … 4
High-Quality Code Continuation of OOP course Quality coding, unit testing, refactoring, software engineering, design patterns, SOLID Lectures once a week The course exam? Practical exam (peer evaluation) 2 test exams Teamwork project 5
What Will Be Cover in the Course?
1. Course Overview. Introduction to High-Quality Programming Code. Code Formatting 2. Correctly Naming Identifiers in the Code (Classes, Properties, Methods, Parameters, Variables, etc.) Code Documentation and Comments 3. Using Variables, Data, Expressions and Constants. Using Control Structures, Conditional Statements and Loops 4. High-Quality Methods. Cohesion and Coupling. High-Quality Classes and Class Hierarchies 7
5. Defensive Programming and Exceptions. Performance Tuning and Code Optimization 6. Unit Testing. Test-Driven Development (TDD) 7. Code Refactoring. Refactoring Patterns. Effective Debugging: Tools and Techniques 8. Development Tools. IDEs. Change Management Systems. Code Analysis Tools. Automated Testing Tools. Automated Build Tools. Continuous Integration Tools. Team Collaboration Tools 9. First Test Exam (60 questions for 75 minutes) 8
10. SOLID Principles. Other Principles in Quality Coding 11. Design Patterns: the Classical GoF Patterns. Introduction to Design Patterns. Creational, Structural and Behavioral Patterns. 3 lectures 12. Second Test (40 questions for 50 minutes) 13. Fundamentals of Software Engineering (Idea, Architecture, Design, Implementation, Testing, Deployment, Support). Development Methodologies. Scrum. Project Management 9
14. Software Quality Assurance. Mocking. 15. Exam Preparation 16. Teamwork Public Defense 17. Final Practical Exam (One big project for 8-10 hours) 10
Nikolay Kostov Manager Software Telerik (A Progress Company) Microsoft Certified Trainer (MCT) Champion from Telerik Academy IT and Informatics competitions winner Student in Sofia University (Computer Science) nikolay.kostov [at] telerik.com Blog: GitHub:
Doncho Minkov Senior Technical Telerik Software Academy Contestant in the Informatics competitions Champion from Telerik Software Academy Experience with Web and Mobile apps Proficient with JavaScript and.NET doncho.minkov [at] telerik.com Blog: GitHub:
Ivaylo Kenov Technical Telerik Academy Mathematical competitions contestant Champion from Telerik Software Academy ivaylo.kenov [at] telerik.com Champion in OOP and DSA Blog: GitHub:
Evlogi Hristov Technical Telerik Software Academy Graduate from the fourth season of Telerik Software Academy Ex-developer, Sharepoint evlogi.hristov [at] telerik.com 15
3 exams?!
Evaluation components Practical exam – 42.5 % Test 1 – 15 % (60 questions / 75 min) Test 2 – 10 % (40 questions / 50 min) Teamwork – 10 % Homework – 10 % Homework evaluation – 5 % Attendance in class – 7.5 % (15 lectures) Bonuses Forums activity – bonus up to 10 % 17
Criteria for pass / pass with excellence / fail Pass with excellence Very high exam results or High total results Pass Average total results Fail Low total results or 0 at the exam 18
We encourage live participation Top performers throughout the years have always spent lots of time in the academy halls Register your barcode scanners Last check-in is listed in your student profile Scanners are next to the doors Use Student ID Card Check in +/- 30 min. before / after lecture starts 19
Teamwork project requirements Teams of 7-8 students (balanced random, OOP) Given a low-quality C# project Refactor the code Improve its quality and make it testable Add new functionalities Write unit tests and documentation Apply design patterns and all SOLID principles Use source control system (GitHub) Each team member should have commits during the whole assignment Public project defense 20
Doing your homework is very important! Programming can only be learned through a lot of practice! After each lecture there are a few exercises Try to solve them in class The rest are your homework Homework assignments due 2 weeks after each lecture – no excuses for being late Deadlines are final & enforced by the system Submit homework through telerikacademy.com telerikacademy.com 21
Everyone will get feedback for their homework Everyone will give feedback for few random homework submissions Students submit homework anonymously Please exclude your name from the submissions! For each homework submitted Students evaluate 3 random homeworks From the same topic, after the deadline Give written feedback, at least 200 characters Low-quality feedback report for punishment 22
What We Need in Addition to this Course Content?
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
The official textbook for C# Courses “Introduction to Programming with C#”, Nakov S. and his team, 2010 Freely downloadable from: The C# programming tracks follows the book High-quality code chapter 21
Telerik Academy Forum for the Course: Discuss the course exercises with your colleagues Find solutions for the exercises Share source code / discuss ideas The High-Quality Code official web site: 26 telerikacademy.com/Forum/Category/19/c#-qpc courses/programming/high-quality-code/ courses/programming/high-quality-code/
The Telerik Academy Learning System Important resource for all students Homework submissions Homework peer reviews Presence cards with barcode Reports about your results 27 telerikacademy.com/Courses/Courses/Details/244
Software needed for this course: Microsoft Windows (7 / 8 / 8.1 / 10) Microsoft Visual Studio 2013 or Visual Studio Community 2013 (free version of VS 2013 ) Visual Studio Community 2013Visual Studio Community 2013 Visual Studio 2012, 2015 is also OK .NET Framework 4.5 (included in Visual Studio) 28
1. dentia 2. topalkata 3. IlianaB 4. Nicky94 5. vassildinev 6. ivo.paunov 7. radenkovn 8. cecunqk 9. mihaylov 10. todorm85 29
форум програмиране, форум уеб дизайн курсове и уроци по програмиране, уеб дизайн – безплатно програмиране за деца – безплатни курсове и уроци безплатен SEO курс - оптимизация за търсачки уроци по уеб дизайн, HTML, CSS, JavaScript, Photoshop уроци по програмиране и уеб дизайн за ученици ASP.NET MVC курс – HTML, SQL, C#,.NET, ASP.NET MVC безплатен курс "Разработка на софтуер в cloud среда" BG Coder - онлайн състезателна система - online judge курсове и уроци по програмиране, книги – безплатно от Наков безплатен курс "Качествен програмен код" алго академия – състезателно програмиране, състезания ASP.NET курс - уеб програмиране, бази данни, C#,.NET, ASP.NET курсове и уроци по програмиране – Телерик академия курс мобилни приложения с iPhone, Android, WP7, PhoneGap free C# book, безплатна книга C#, книга Java, книга C# Николай Костов - блог за програмиране форум програмиране, форум уеб дизайн курсове и уроци по програмиране, уеб дизайн – безплатно програмиране за деца – безплатни курсове и уроци безплатен SEO курс - оптимизация за търсачки уроци по уеб дизайн, HTML, CSS, JavaScript, Photoshop уроци по програмиране и уеб дизайн за ученици ASP.NET MVC курс – HTML, SQL, C#,.NET, ASP.NET MVC безплатен курс "Разработка на софтуер в cloud среда" BG Coder - онлайн състезателна система - online judge курсове и уроци по програмиране, книги – безплатно от Наков безплатен курс "Качествен програмен код" алго академия – състезателно програмиране, състезания ASP.NET курс - уеб програмиране, бази данни, C#,.NET, ASP.NET курсове и уроци по програмиране – Телерик академия курс мобилни приложения с iPhone, Android, WP7, PhoneGap free C# book, безплатна книга C#, книга Java, книга C# Николай Костов - блог за програмиране
C# Telerik Academy csharpfundamentals.telerik.com csharpfundamentals.telerik.com Telerik Software Academy academy.telerik.com academy.telerik.com Telerik Facebook facebook.com/TelerikAcademy facebook.com/TelerikAcademy Telerik Software Academy Forums telerikacademy.com/Forum/Home telerikacademy.com/Forum/Home