in English   по-русски
Main page Short CV Books Papers Projects Teaching Travels ZX Spectrum

My LiveJournal
My Picasa Albums
My Habrahabr blog
ZX Recoloring project
Joe Blade 3 Remake 2010

ZX Certified webmaster


Англо-русский толковый словарь-справочник V. Rychkov, M. Mozgovoy
English-Russian Explanatory and Reference Dictionary for the Users of PCs, Laptops, Tablets, and Digital Hardware
Nauka i tekhnika, 2011, 304 p.

I admit this book could have a shorter name! We were making just "a dictionary", but then the publisher renamed it a bit. However, the name looks quite adequate on the cover. The book itself has grown from an earlier (and sold out) work of the principal author. My initial role was of a co-pilot: I had to select articles for the new edition (remove obsolete terms, add new ones), to re-read all the articles, and to fix obvious mistakes. The very principle of dictionary composition presumes a very precise text structure, and I found interesting to experiment with automation. As a result, dictionary articles were placed into an Excel table, and then they were automatically exported to a Word document with all necessary layout elements, such as indentations, italics, bold font ready; they are so easy to forget if the text is typed manually. During the final project phase, I had to participate in authoring new articles as an equal contributor, and to deal with endless proofreading, of course. At the end, the publisher decided to include some pictures into the dictionary.

Algorithms, Languages, Automata, and CompilersMaxim Mozgovoy
Algorithms, Languages, Automata, and Compilers: A Practical Approach
Jones and Bartlett Publishers, 2009, 345 p.

Finally! The English editition of the book of the same name (reworked and updated) is now released in the USA. Clearly, getting the first book published in English was a big event for me. Especially keeping in mind an awful amount of work I invested into the project. Hope to continue this practice.

An excerpt from the press release: [The book] covers the standard "theory of computing" topics through a strong emphasis on practical applications rather than theorems and proofs. Finite automata, Turing machines, models of computation, complexity, solvability, and other topics that form a foundation of modern programming are discussed - first with a gentle theoretical orientation, and then applied through programming code and practical examples. JFLAP projects and applications are integrated throughout the book, and code, simulations, and projects are on an accompanying CD-ROM.

Enhancing Computer-Aided Plagiarism DetectionMaxim Mozgovoy
Enhancing Computer-Aided Plagiarism Detection
VDM Verlag, 2008, 120 p.

Actually, this is not a real book. It is my PhD thesis, published as a book. VDM Verlag specializes in such kinds of projects. Hope they will manage to sell at least five to ten copies.

Since I have a plenty of space here, let's fill it with the abstract. "This work is dedicated to the problem of computer- aided plagiarism detection, i.e. to the development and the use of software instruments that help to reveal plagiarism. The creation of such tools raises specific algorithmic problems that deserve attention. The results covered in this work, include: (a) Building the taxonomy of existing plagiarism detection methods according to their speed and reliability characteristics. (b) Studying and improving string matching algorithms used in plagiarism detection. Introducing "tokenizers" for the natural language texts, applying natural language parsers for plagiarism detection in order to enhance the quality of the detectors. (c) Optimizing the speed performance of string matching based plagiarism detection algorithms by applying a combined fast and reliable scoring scheme. Developing an efficient parameterized matching procedure. (d) Developing a fast string matching based plagiarism detection algorithm."

C++ мастер-класс Maxim Mozgovoy
C++ Masterclass: 85 Nontrivial Projects, Solutions and Problems
Nauka i tekhnika, 2007, 272 p.

The story of this book is quite funny. Postgraduate students of Russian universities have to do (in addition to exams) a so-called "pedagogical practice", by teaching some subject to first- or second-year students. The idea iself is rather questionable, but that's not the matter now. Since almost the whole period of my postgraduate studies in SPbSU I actually spent in Finland, it was problematic to teach in St. Petersburg. The head of our department suggested a simple tradeoff: instead of teaching, I had to compose about one hundred tasks for younger students' courseworks. I liked the idea, so we parted pleased with each other.

It was boring to copy tasks from books. Moreover, I discovered that almost all the tasks in collections are either "typical" (i.e. they are simple exercises that train some specific skills), or "olympic" (complex algorithmic brain-teasers having no relation to the real world). Having realized that the books of problems are not useful, I began to recall the problems that ever interested me, incidentally inventing my own exercises. The problems had to be not too simple and not too hard, interesting and practical. As a result, having composed about one hundred definitions for the courseworks, I settled down.

Although, it was vexing to work just for a checkmark. I wanted to find a more decent use for my collection. After some thinking, I decided to convert it into a book. After some critical evaluation, I threw away half of all the problems, and spent two or three more months composing new assignments. Finally, the total number of problems became eighty-five.

The publisher appreciated the idea of the book, but adviced me to change its ideology: instead of a standard "from problem to the solution" style I was proposed to focus on solutions. Thus, instead of a book of problems (handy mostly for teachers) we got a book that illustrates practical algorithms and techniques of modern computer science with interesing examples. To me, the result appears to be quite worthy.

Алгоритмы, языки, автоматы, компиляторы Maxim Mozgovoy
Classics of Programming: Algorithms, Languages, Automata, Compilers. A Practical Approach
Nauka i tekhnika, 2006, 320 p.

The idea of this book came to my mind after I got acquainted with the so-called theory of computing. From the scientific point of view, this theory tries fo find the answers to some of the fundamental questions of computer science: what is algorithm? what is problem? why one problem is easy to solve, while another is hard? how to create a machine that solves problems? From the practical point of view the development of the theory of computing led to invention of numerious useful algorithms and models, suitable for everyday use.

Theoretical aspects have been described in different well-known books for decades, but introductory texts for practitioneers are not common. While some books describe parsing algorithms or finite automata models, the theory of computing is usually not mentioned.

In this book I tried, on the one hand, to give an idea of the theory of computing as such (on the most basic level I was able to do), and on the other hand, to provide some practical ready-to-use algorithms. I believe that familiarity with the theory of computing is useful for any programmer — both for general education, and for improving one's practical skills.

Занимательное программирование Maxim Mozgovoy
Entertaining Programming
Piter Publishing, 2004, 208 p.

This book is very dear to me as my first independent work in spite all its drawbacks. The topic of "entertaining" programming is still close to my heart, so I will definitely consider it in some later works. While similar good books are common nowadays, they seldom follow the style I like, so it means I should return to writing.

During the past years I collected enough materials on various entertaining aspects of programming. Computer models, animation, 3D graphics, graph and maze processing, game development — all the things that looked exciting to me. Here I tried to bring these topic altogether, and, I believe, the result turned out to be not that bad. What I personally like in this work is relatively high complexity of materials for a book of such title. So the book can both entertain and teach something.

VB.NETV. Dolzhenkov, M. Mozgovoy
Visual Basic.NET: Training Course
Piter Publishing, 2003, 464 p.

I remember I was so happy to receive a proposal to become one of the book authors! That's the real thing! My name will be on the cover page! Clearly, abition is a terrible thing (especially in early 20s); due to my ambitions I put great efforts and spent a lot of time for the project, while I could just walk in the city or play some computer game.

Since this book is purely technical, a real tandem of authors (like in case of Ilf and Petrov) is not needed. It is possible just to divide the work into two parts and write independently. So we did. As a result, we got a rather adequate textbook. I can't say I am really proud of this work, but I am not going to disown it either. The book does its job, and nobody expects it to be full of stylistic or scientific gems.

MS Excel 2002 V. Dolzhenkov, Yu. Kolesnikov
Microsoft Excel 2002: The Complete Guide
BHV-Petersburg, 2002, 1072 p.

This is my first experience in book publishing. The task was not very exciting: to prepare several chapters for the new edition. The book is not new: it was first entitled "Microsoft Excel 97", then "Microsoft Excel 2000", and only after that — "Microsoft Excel 2002" appeared. Now there are subsequent editions available, but I have no relation to them.

The essense of such "preparation" was simple: to ensure that existing text does not contradict with the new Excel version, to make new screenshots, and to invent new examples (to make the book less similar to the previous one). Except inventing examples, this work is quite boring, so I tried to introduce "creative elements" into the daily routine. During the work we got a "trip" from our beloved Microsoft. When the book was almost ready, we found that these gentlemen decided to exclude a tool called Microsoft Map from the MS Office package. I don't know whether somebody uses it or not, but we had a separate chapter about Microsoft Map. And that chapter was mine. And I was supposed to receive some money for it... Cool, isn't it? Later Microsoft got rid of Photo Editor in Office 2003 in a similar way (wrong decision, in my opinion). Finally we found a Solomonic decision: keep the Microsoft Map chapter, and tell our readers that Microsoft definitely was wrong, but it is not a problem, since your wonderful authors will teach you how to extract this tool from Office 2000 package, and to insert it into Office 2002 by means of some manipulations with the system registry. Yep, I got my money for that chapter.


©2004-2014 RG Software