Description
A Brief Historical Overview
Education and research in computer science starts in the early 1970s when the Department of cybernetics and control theory was created at the Unified Center of Mathematics and Mechanics. (The latter was a joint venture unit between the Institute of Mathematics and Mechanics at the Bulgarian Academy of Science (BAS) and the Faculty of Mathematics and Mechanics (FMM) at the University of Sofia). That department headed by worldly recognized scientists like D. Dobrev, P. Burnev and others was in the origin of the now a days Department of Computing Systems at the Faculty of Mathematics and Informatics (FMI).
Education in Computer Science at FMM (now FMI) began in 1972 when the first students were admitted into a MSc. program. Prof. D. Dobrev delivered a course in FiniteState Machines (FSM) and Prof. Jordan Denev started delivering a course in Discrete Functions. At the end of 1970s for the first time in Bulgaria began the reading of an introductory course in Discrete Mathematics in the BSc. program at FMM. First lecturers were Prof. Jordan Denev and Prof. Radoslav Pavlov. The topics covered in these lectures were entered in the first textbook on Discrete Mathematics in Bulgaria (coauthors Jordan Denev, Radoslav Pavlov and Ivan Demetrovich). Later as lecturers in Discrete Mathematics joined Vladimir Tonchev and Krasimir Manev. In the late 1980s, Prof. Krasimir Manev started reading the first course in Analysis and Design of Algorithms. With the introduction of new BSc. Program in Computer Science the course in Discrete Mathematics was divided into two courses: Discrete Structures and Languages and Automata and Computability. The course Design and Analysis of Algorithms becomes a fundamental course. The first reader is Prof. Krasimir Manev.
The first PhD thesis in Computer Science was defended in 1972 by Jordan Denev at the Moscow State University, where he works in the field of Boolean functions under the supervision of the renowned scientist in the field, Prof. Yablonskiy. Later, in 1988, with the restructuring of the FMI and the introduction of a BSc program in Informatics Prof. Jordan Denev established the Department of Computing Systems. One of the main priorities of the department is to train graduate students in computer science. One of the first students that graduated from the Department in 1978 was Raphael Cohen. He defended a PhD thesis on Universal Boolean Functions. Then, under the supervision of Prof. Denev a PhD thesis (dissertation) in the in the field of combinatorial block designs was defended by Vladimir Tonchev. The results of the latter were globally recognized. Prof. Krasimir Manev as selfeducating doctoral student completed his dissertation in 1988. It was dedicated to the automation of research in discrete mathematics. Vladimir Tonchev supervised the doctorship of Ivan Landzhev (now professor at New Bulgarian University) dedicated to the connections between combinatorial block designs and noise suppressing codes. Vl. Tonchev supervised one more Ph.D. student  Dimo Solakov. At that time six PhD theses were defended at the Department of Computing Systems in all. In the late 1990s successfully defended their dissertations Minko Markov and Stela Ruseva. Two PhD students completed successfully their period of study supervised by Prof. Anton Petkov. Currently, Prof. Dimitar Birov and Kamen Spassov supervise four PhD students each.
Areas Covered by the Ph.D, Education
PhD program in Computer Science is aimed to upgrade and enrich knowledge and skills obtained by students during their BSc and MSc degree studies in accordance with the latest advances in the field of informatics and computer science.
Education and research in the doctoral program will facilitate the development of key areas in the field of computer science and information technology such as:

Theory of Computation: computability and complexity of formal languages;
Algorithms and Data Structures: the creation and testing of algorithms, mathematical tools for the analysis of algorithms, data structures, algorithmic schemes; 
Coding Theory: theoretical foundations of cryptography, compression, transmission of information on insecure channels;

Theory of Programming Languages: types of languages, theory for specification and implementation;

Formal Methods: formal mathematical methods for the specification and verification of software and hardware systems;

Concurrent, Parallel and Distributed Systems: theoretical foundations and models;

Network Algorithms and Protocols: search for optimal paths in computer networks and load balancing;

Security in Network Communications: analysis and synthesis of methods for overload protection, denial of services , etc.;

Network Programming;

Software Architectures;

Theory of ebusiness: business process analysis and the search for optimal solutions.
Achieving the main goals and objectives suggests that PhD students should have:

solid knowledge achieved in the course of study in their BSc program in Computer Science or other related undergraduate program;

solid knowledge achieved in the course of study in their MSc programs in Mathematical Logic, Electronic Business Management, Software Engineering or other related graduate programs;

strong motivation and opportunities for hard and focused work;

high degree of selforganization and willingness to work independently and expression.
In the course of education doctoral students in the doctoral program should achieve some of the following qualities: 
to master the theories of computation complexity, formal languages;

to master algorithms and data structures, analysis of correctness and complexity of algorithms, mathematical tools for this analysis and the various algorithmic schemes;

to master the theoretical foundations of cryptography, compression, transmission of information in insecure communication environments;

to master the theory of programming languages: types of languages, theories of specification and implementation, compilers and methods of translation;

to master the formal mathematical methods for the specification and verification of hardware and software systems;

to master the theoretical basis and practical application of software technology and formal methods of research in the field of software technologies and architectures;

to master advanced concepts in software architecture, enterprise architecture, business models, cloud technologies and their application in practice;

to master the theoretical foundations and models of concurrent, parallel and distributed systems;

to master competing models and formalisms for the specification, methodologies and algorithms for verification of competitive programs, correctness and reliability of competing programs, design and integration of competing models in programming languages;

to master the theoretical foundations of computer networks: optimizing topologies, routing algorithms, network programming;

to conduct independent theoretical and empirical research by applying mathematical and statistical tools;

to apply and justify innovative solutions and proposals in the field of computer science, mathematical logic and software technologies;

to use modern information and communication technologies in research and training in computer science;

to promote the achievements of computer science among the public and private sector;
to master the theoretical foundations of computer networks : optimizing topologies, routing algorithms, network programming; 
to conduct independent theoretical and empirical research by applying mathematical and statistical tools;

to use modern information and communication technologies in the conduct of research.
How is Education at FMI
Since 2008 a total of 12 graduate students have been trained in the PhD program in Computer Science and 11 new PhD students have been admitted.
FMI regularly hosts scientific seminars where scientists and PhD students report results of their research. Specialized workshops where PhD students have the opportunity to learn about achievements of their colleagues, to seek advice from teachers, etc.
PhD students regularly participate in the seminar of Algorithms at FMI and in the following seminars of the Institute of Mathematics and Informatics (IMI) at BAS:

Colloquium on Mathematical Logic, organized by the Section of Algebra and Logic at IMIBAS and the Department of Mathematical Logic and Applications at FMI;

Coding Theory, organized by the section of Mathematical Foundations of Informatics at IMI BAS, etc.
Qualifications of Supervisors
Academic staff participating in the process of education in the PhD program in Computer Science includes outstanding scientists in the field of informatics and computer science with broad experience in teaching BSc and MSc courses at FMI. They are involved in numerous national and international projects in the field of mathematics and informatics.
Members of academic staff from the Department of Computing Systems actively participate in research related to the theory of computation, algorithms and data structures, coding theory, theory of programming languages, formal methods, concurrent, parallel and distributed systems, network algorithms and protocols, network programming, software architectures. Over the past few years, they are active participants in international projects funded by the National Science Fund ( NSF) to the Ministry of Education and Science, University of Sofia SF, etc.
Members of academic staff from the Department of Computing Systems actively participate in international scientific and educational projects:

Bulgarian Korean project "Development of a prototype system for biometric access control (to premises, software, etc.)"  a joint project of the University of Sofia and the National Information Agency (NIA) of the Republic of Korea;

“Implementation Management Systems for Customer Relationship Management (CRM)”;

“Automatic extraction from source code of business rules and business processes”;

“Workshop on Algorithmic Graph Theory”, event, Nipissing University, Canada

"Event 1003146  Workshop on Algorithmic Graph Theory". Approved for funding from MITACS (Mathematics of Information Technology and Complex Systems), Canada

“Support for PhD students, postdocs and young scientists”

“Development of electronic forms of distance learning in higher education”.
Members of academic staff from the Department of Computing Systems participated in many prestigious scientific events abroad:
International Workshop "Algebraic and Combinatorial Coding Theory";

International Workshop "Optimal Codes and Related Topics";

8th International Conference on Computer Science and Education, Boston, July 610, 2012;
International Conferences on Information Systems & GRID Technologies ISGT; 
Workshop on Algorithmic Graph Theory, Nipissing University, North Bay, Ontario, Canada;

International Conference "Modelling and Development of Intelligent Systems", Sibiu, Romania;

Fourth International Bulgarian  Greek Scientific Conference, Kavala, Greece, 2008.
Miscellaneous
Research work of PhD students in Computer Science should be directly related to national and international research projects, to the research topics in the Department of Computing Systems.
PhD students in the doctoral program have the opportunity to publish scientific results in different journals like Proceedings of the University of Sofia, Serdica Math. Journal, Serdica Journal of Computing, in the proceedings of national and international seminars, conferences, etc.
Within the PhD students project, participation of young scientists and doctoral students in international scientific conferences around the European Union is supported by covering participation fees, travel and accommodation expenses.