0% found this document useful (0 votes)
37 views28 pages

High Quality Code Course Introduction

This document provides an introduction and overview of the High-Quality Code course at Telerik Software Academy. It outlines the course program, trainers, evaluation criteria, exams, recommended resources and software. The course focuses on quality coding practices, unit testing, refactoring, software engineering principles and design patterns. It is evaluated based on a practical exam, team project, homework and attendance.

Uploaded by

Mohammed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views28 pages

High Quality Code Course Introduction

This document provides an introduction and overview of the High-Quality Code course at Telerik Software Academy. It outlines the course program, trainers, evaluation criteria, exams, recommended resources and software. The course focuses on quality coding practices, unit testing, refactoring, software engineering principles and design patterns. It is evaluated based on a practical exam, team project, homework and attendance.

Uploaded by

Mohammed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 28

High-Quality Code:

Course Introduction
Course Program, Evaluation, Exams, Resources
Table of Contents
 Next step in Telerik Software Academy
 The High-Quality Code Course Program
 The Trainers Team
 Teamwork Project
 Exams and Evaluation
 The Practical Exam
 Recommended Books
 Resources for the Course

2
High-Quality Code
The Next Module in the Software Academy
(Programming Track)
Next Step in Telerik Software
 High-Quality Code
 Continuation of OOP course
 Quality coding, unit testing, refactoring,
software engineering, design patterns
 Lectures once a week
 The course exam?
 Team work project
 Practical exam

4
High-Quality Code
Course Program
What Will Be Cover in the Course?
The Course Program
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
6
The Course Program (2)
5. Defensive Programming and Exceptions.
Performance Tuning and Code Optimization
6. Unit Testing. Mocking. Test-Driven Development
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. Design Patterns: the Classical GoF Patterns

7
The Course Program (3)
10. Fundamentals of Software Engineering (Idea,
Architecture, Design, Implementation, Testing,
Deployment, Support). Development
Methodologies. Scrum. Project Management
11. Exam Preparation
12. Teamwork Projects
13. Teamwork Public Defense
14. Practical Exam

8
The Trainers Team
Trainers Team
 Nikolay Kostov
 Team Lead, Senior Developer
and Trainer @ Telerik Corp.
 Student at Sofia University
 Computer Science
 IT and Informatics competitions contestant
 Graduate from the second season of
Telerik Software Academy
 Email: nikolay.kostov [at] telerik.com
 Blog: http://nikolay.it
10
Trainers Team (2)
 Doncho Minkov
 Senior Technical Trainer
@ Telerik Software Academy
 Student in Sofia University
 Software Engineering
 Contestant in the Informatics competitions
 Graduate from the first season of
Telerik Software Academy
 Email: doncho.minkov [at] telerik.com
 Blog: http://minkov.it
Trainers Team (3)
 Ivaylo Kenov
 Junior Technical Trainer
@ Telerik Software Academy
 Graduate from the fourth season
of Telerik Software Academy
 Mathematical competitions contestant
 E-mail: ivaylo.kenov [at] telerik.com
 Champion in OOP and DSA

12
Evaluation Code
Thank God There Are Bonuses! Qua
lity
High-Quality Code – Evaluation
 Evaluation components
 Practical exam – 60%
 Team work – 15%
 Homework – 10%
 Homework evaluation – 5%
 Attendance in class – 10%
 Bonuses
 Forums activity – bonus up to 5%

14
Pass / Excellence / Fail Criteria
 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
15
Homework Peer Reviews
 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
16
Teamwork Project
 Teamwork project requirements
 Teams of 3-5 students (balanced random)
 Given a low-quality C# project
 Refactor the code
 Improve its quality and make it testable
 Write unit tests (with high coverage) + docs
 Use source control system
 Each team member should have commits
during the whole assignment
 Public project defense
17
Practical Exam
 You will be given a C# interface
 You need to implement it (write the code)
 According to the documentation
 Write unit tests
 High code coverage
 Catch all possible defects
 Assessment
 Unit tests will be automatically checked
 Additional manual check
18
Use the Same Email!
 Please use the same email address in:
 http://telerikacademy.com
 http://bgcoder.com
 http://forums.academy.telerik.com
 Otherwise your score could be incorrectly
calculated!

19
Recommended Books
The C# Textbook

The official textbook for the course


 “Introduction to Programming with
C#”, Nakov S. and his team, 2010
 Freely downloadable from:
www.introprogramming.info

 The C# programming tracks follows the book


 High-quality code  chapter 21
21
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
22
Resources
What We Need in Addition to this Course Content?
Course Web Site & Forums
 Register for the "Telerik Academy Forums":
forums.academy.telerik.com/high-quality-code

 Discuss the course exercises with your colleagues


 Find solutions for the exercises
 Share source code / discuss ideas
 The High-Quality Code official web site:
http://academy.telerik.com/student-courses/pro
gramming/high-quality-code
/
24
Telerik Integrated
Learning System (TILS)
 The Telerik Integrated Learning System (TILS)
 www.telerikacademy.com
 Important resource for all students
 Homework submissions
 Homework peer reviews
 Presence cards with barcode
 Reports about your results

telerikacademy.com/Courses/Courses/Details/174
25
Required Software
 Software needed for this course:
 Microsoft Windows (XP / Win7 / Win8)
 Microsoft Visual Studio 2012/2013 or Visual
Studio Express 2012/2013 (free version of VS)
 .NET Framework 4.5 (included in Visual Studio)
 Visual Studio 2005, 2008 or 2010 is also OK

26
High-Quality Code:
Course Introduction

Questions?

http://academy.telerik.com
Free Trainings @ Telerik Academy
 C# Programming @ Telerik Academy
 csharpfundamentals.telerik.com
 Telerik Software Academy
 academy.telerik.com
 Telerik Academy @ Facebook
 facebook.com/TelerikAcademy
 Telerik Software Academy Forums
 forums.academy.telerik.com

You might also like