Menu logo

Thoughts on Software Engineering

High-Quality Code Course – Open for All Universities in Sofia

I am happy to announce that I and my team of experienced speakers will teach the “High Quality Code Construction” course again starting in February. The course will be held in Sofia University at the Faculty of Mathematics and Informatics and in parallel in the Telerik Academy (for students from TU-Sofia, NBU and UNIBIT). Students from all universities and even school students are invited to attend this course. The course is free and is open, without any obligations for the attendees.

The course “High-Quality Programming Code” provides fundamental principles and practices for building high-quality software with focus on the source code, unit testing and refactoring. The course is held as elective training in few Bulgarian universities and targets the students from the computer science related specialties.

Course Annotation

The „High-quality programming code” course objective is to introduce the students to the principles of high-quality programming code construction during the software development process. The quality of the code is discussed in its most important characteristics – correctness, readability and maintainability. The principles of construction of high-quality class hierarchies, classes and methods are explained. Two fundamental concepts – “loose coupling” and “strong cohesion” are defined and their effect on the construction of classes and subroutines is discussed. Some advices for correctly dealing with the variables and data are given, as well as directions for correct naming of the variables and the rest elements of the program. Best practices for organization of the logical programming constructs are explained. Some methodologies for testing, debugging and code optimization are introduced. Special attention is given also to the “refactoring” as a technique for improving the quality of the existing code, unit testing and test-driven development. The principles of good formatting of the code are defined and explained. The concept of “self-documenting code” as a programming style is introduced. The techniques and practices for constructing high-quality programming code discussed in the course are independent of the programming languages. To graduate the course students are assigned two practical projects and a test examination. The practical projects consist of refactoring existing low-quality code, making the code testable, adding unit tests and measuring the code coverage to ensure the code is well tested.

Certification and Awards

Best students will get certification signed by the trainers team and will be awarded by our sponsor – Telerik Corp.


  1. Course Overview. Introduction to High-Quality Programming Code. Entrance Project
  2. Fundamentals of Software Engineering
  3. Naming Identifiers in the Source Code. Naming Classes, Methods, Variables, Parameters and Other Elements of the Code
  4. Designing High-Quality Classes and Class Hierarchies. Best Practices in the Object-Oriented Design
  5. High-Quality Methods. Strong Cohesion and Loose Coupling
  6. Using Variables, Data, Expressions and Constants Correctly
  7. Using Control Structures, Conditional Statements and Loops Correctly
  8. Correctly Formatting the Code. Code Documentation, Comments and Self-Documenting Code. Code Conventions
  9. Defensive Programming. Using Exceptions Correctly. Performance Tuning and Code Optimization
  10. Code Integration. Refactoring Existing Code to Improve Its Quality
  11. Software Quality Assurance. Testing and Debugging. Unit Testing. Test-Driven Development
  12. Development Tools. Development Environments. Change Management Systems. Code Analysis Tools. Automated Testing Tools. Automated Build Tools. Continuous Integration Tools
  13. Test Covering the All Studied Topics
  14. Course Projects: Assignment, Guidelines and Discussion
  15. How to Become a Ninja Developer?


Eligible Students

The course will be held in parallel for students in the following universities:

  • Faculty of Mathematics and Informatics (FMI), Sofia University “St. Kliment Ohridski” (SU)
  • Technical University – Sofia
  • New Bulgarian University (NBU)
  • University of Library Studies and Information Technologies (UNIBIT)


The course will be held:

  • Every Tuesday, 18:00-21:00 h, starting from 22.02.2011 at FMI, lab 101 (Sofia, James Baucher 5 –
  • Every Wednesday, 18:00 – 21:00 h, starting from 16.02.2011 at Telerik Academy’s training lab (Sofia, Mladost-1, bul. Alexander Malinov 33, ground floor –

Official Discussion Group

The official discussion group of the course is open for your questions, discussions and feedback:

Official Web Site

Visit the official Web site of the course for more information:

Registration for the Course

Please register for attending the course at:

Comments (2)

2 Responses to “High-Quality Code Course – Open for All Universities in Sofia”

  1. Kristian says:

    Is it necessary the students from FMI to be registered in the web site?

  2. nakov says:

    Yes, everyone should register.

RSS feed for comments on this post. TrackBack URL