Novosibirsk State University's Multi-Level Professional Training in Computer Science

by DR. NICKOLAY A. SYCHOV, President Novosibirsk State University College of Informatics Novosibirsk, Russia There are already many approaches to training specialists in computer science. The world's experience is extremely diverse and interesting, and a number of summary works exist in this field, such as Computing Curricula 1991, a report by the ACM/IEEE-CS Joint Curriculum Task Force.1 However, new working conditions and countries' historical experiences continually create newer approaches for preparing specialists. One new approach is a system of training used by the Novosibirsk State University's College of Informatics (NSUCI).2 The work being carried out by this college is original and perhaps of interest to specialists in computer science education. The Multi-Level System, in Brief In this system, studies begin at the age of 15, two years before students complete their secondary education. The levels are: 0 Level: two years of study, analogous to regular secondary school but on a deeper level. 1st Level: two years of post-secondary (university) education and mid-level professional education. (Russia's mid-level professional education is comparable to a two/three-year U.S. education in a narrow field where the student d'es not intend to continue his or her education at the university level.) 2nd Level: four years of university education (bachelor's degree). 3rd Level: six years of university education (master's degree). Subsequent: post-graduate work. Distinctive features of this model are: Students begin their studies two years earlier than normal, so it is possible to include students in the university's training system and to remove them from the standard high school at an earlier age. The first two years of university study are arranged so that upon their completion students are also able to receive a mid-level professional education. Continued studies are oriented towards education of the scientifically elite at NSU. While this system of education took shape due to a series of specific historical circumstances, it has one indisputable advantage: Students begin to study according to university standards two years earlier than usual. 0 Level and 1st Level education take place at Novosibirsk State University College of Informatics (NSUCI). Subsequent levels take place in NSU's Mechanics-Mathematics Dept. NSUCI is perhaps the only educational institution in Russia that prepares specialists in the field of computer science on various levels -- secondary and university -- simultaneously. Such conditions, and NSU's accumulated experience in computer science education, have led to this original system of professional training. System of Professional Training Specific distinctive features of NSUCI's professional education carried out within this multi-level framework are: Uninterrupted training in computer science throughout the entire education process; Students receive a professional qualification upon completion of the 1st level of study; Combining theoretical and practical study (study of general principles using concrete examples); Active use of what is studied as students carry out professional projects; Close ties to the scientific community. Of course, within this process, the fundamentals of a university education are retained. Students' projects are a very important part of this professional training. Projects entail the solving of professional tasks (developing programs, creating databases, etc.). At first students solve simple problems corresponding to their level of study. Projects then get increasingly more complex, up to and including professional work solving real-world problems. At NSUCI students begin working on projects on their very first day; this process continues throughout their entire study. In this system of education, it is assumed that beginning with the fourth year of study (second year at university level), students will be carrying out real-world research projects in their areas of specialization. Figure 1 shows the system of training viewed as a whole. Projects & Courses at the 0 Level Introductory Session: (2 weeks) A series of tests determine each student's level of preparation in mathematics, physics and programming. There are also introductory lectures in computer science. Introductory Project: (12 weeks, 6 hrs. per week) Students develop their first program with a graphic interface (game or simulation). At the same time they master the language of programming (Turbo Pascal) and basic concepts: types of data, program structures, algorithms, etc. Basic Project- Computer Simulation: (12 weeks, 6 hrs. per week) Students develop a program that models some sort of physical phenomenon or process, deepening their knowledge of programming. It must include a graphic user interface. Turbo Pascal or Borland C++ is used. Basic Project- Information Systems: (12 weeks, 6 hrs. per week) Students develop an information system based on a relational database. Relational algebra and database management are simultaneously studied. FoxPro, Clipper or Paradox are currently being used; Oracle may be used in the future. Basic Project- Rule-Oriented Programming: (12 weeks, 6 hrs. per week) Students develop a program on the basis of logical derivation (Prolog). They also study the basics of rule-oriented programming. In another variation, students develop a simple expert system. Level Projects Courses -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - Introductory Session 0 Level * Intro Project * Informatics * Basic Projects- * Methods of Programming (5 projects done in * Computer Architecture random order via & Operating Systems student's choice) -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 1st Level * Project * Accompanying special courses * Diploma Project- (mid-level professional education project) Training is carried out according to specialization -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - 2nd Level * Project * General & elective courses in computer science to include courses in student's area of specialization Training is carried out according to specialization -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 3rd Level * Scientific work in computer science on real problems in Siberian Branch of the Russian Academy of Sciences Basic Project- Image Processing: (12 weeks, 6 hrs. per week) Students develop a separate model for programs for image processing and study basic concepts and methods for forming dot-matrix and calligraphic images and their mapping. Borland C++ and special programs are used. Basic Project- System Programming: (12 weeks, 6 hrs. per week) Students develop a program that needs an understanding of the peculiarities of system programming, language translators for example. Informatics: (24 hours) This course covers the basic representation and processing of information using IBM-compatible systems. Also studied are conceiving information, data-processing problems, information as a source of profit, elements of base system software, and hardware in different fields of application. Finally, students study the job market for computer science experts, vocational association structure and informatics' roles in today's society. Programming Methods: (144 hours) This course examines models of data organization and methods of their processing on three levels of representation: machine, language and abstract. Particular attention is paid to estimating algorithm efficiency and problems of effectual program development. Some special applications, such as computer-aided language parsing, are also examined. Computer Architecture of Operating Systems: (144 hours) This course studies the basic concepts of computer architecture and operating systems. How to make more effective use of the possibilities of computers is also discussed. IBM PCs, MS-DOS, Microsoft Windows and UNIX are all used. Study at the 1st Level Study at the 1st Level is carried out according to each student's area of specialization. Presently there are three: Systems Programming; Knowledge-Based Systems; Computer Simulation. Study at the 1st Level is carried out in narrow fields in the form of projects and courses. It is concluded by a diploma project and results in conferment of a mid-level professional education degree. At this level, study is characterized by a large amount of material on mathematics plus one day per week for professional training. Study at this level is carried out by scientific research specialists; since these specialists work at the university, in the future they will be teaching these same students during their 2nd Level. At the 1st, 2nd and 3rd Levels, students have general courses and also specialize in one of the majors. Content of the special training in the 2nd and 3rd Levels follows. Major: Computer Simulation Special courses: (72 hrs) Intro to numerical methods of computer modeling theory and X Windows; Intro to numerical methods of direct and inverse problem of mathematical physics. Projects (144 hrs) examples from List 1: a) Develop a program for algebraic and transcendential equation numeric solution; b) Develop a program for single-fold integrals; c) Develop a program for ordinary differential equation numeric solution; e) Modeling and study of parametric resonance phenomenon. Projects: examples from List 2: a) Develop an interactive system for visualizing and editing multi-channel seismic prospecting data in X Windows; b) Develop an interactive software package complex for special analysis and seismic prospecting data filtering; c) Wave field in non-uniform medium modeling. Major: Systems Programming Special courses: (56 hrs) Translation methods; Methods and tools to make software reliable (debugging, testing, etc). Projects: (144 hrs) Assembler-type language design and implementations for its interpreter/compiler/debugger. Projects, examples from a list: a) High-level language design and implementations for it: parser, interpreter, programming system; b) Design and implement a description language translator and hierarchical networks; c) Implement a processing unit for data about distributed system modeling process. Major: Knowledge-Based Systems Special courses: (36 hrs, one per semester) Interpretation and knowledge-processing methods; Natural language interface design methods. Special courses (72 hrs) examples of list: a) Under-defined knowledge models and their processing methods; b) Semantic-oriented analysis as the basis for natural language interface development. Projects: (72 hrs, one per semester) Design and develop an intelligent system database for varied applications; Design and develop interfaces from natural languages to databases. Projects: (144 hrs) from a list: a) Develop knowledge bases based on under-defined models; b) Develop natural languages based on semantic-oriented analysis. Study at the 2nd and 3rd Levels At the 2nd Level students continue their studies in NSU's Mechanics-Mathematics Dept. They have two possibilities: Continued studies in computer science, including a specialization. These students receive a much stronger education in computer science than normal NSU students. Specialization in different areas of mathematics. In this case, they will have an advantage over other students due to their acquired skills in computer science. At NSUCI, the training of students in each area of specialization is conducted in educational laboratories closely connected with scientific research collectives and NSU departments. Thus, students who specialize in Computer Simulation work with the Institution of the Siberian Branch of the Russian Academy of Sciences' Computer Center and NSU's Dept. of Mathematical Methods of Geophysics. Those who choose either Systems Programming or Knowledge-Based Systems as their major work with the Academy's Institute of Informatics Systems and NSU's Dept. of Computer Programming. At the 2nd Level, students are offered a larger selection of elective courses and directions for their training. They also have additional possibilities from the Mechanics-Mathematics Dept. Students who continue to specialize in computer science will take part in scientific research groups' current projects. Study at the 2nd Level also concludes with a university-level diploma project. It is at the 3rd Level that students conduct real-world scientific research projects in various institutions of the Siberian Branch of the Russian Academy Sciences. A sampling of the coursework and projects for 2nd and 3rd Levels of study in each of the three majors is detailed below. Major: Computer Simulation Special courses, a sampling: Numerical methods of geophysics direct problems solving; Numerical methods of geophysics inverse problems; Mathematical physics inverse problem; Numerical methods and modeling. Projects, sampling (diploma defense): a) Seismic and acoustic propagation modeling; b) Inverse dynamic tasks theory; c) Passive location problems; d) Ocean dynamic research models and methods. Major: Systems Programming Special courses, a sampling: Graph theory application; Comparison of languages; Functional methods; Parallel theory; Technique; Large-system development. Projects, a sampling (diploma defense): a) Implement structural-design tools; b) Design and implement user interface; c) Develop program-analysis tools; e) Implement problem-oriented systems verification. Major: Knowledge-Based Systems Special courses, a sampling: Methods of system development in intelligent program conditions; Languages, methods and systems of artificial intellect; Pseudophysical models of knowledge, non-monotonous logic, etc. Projects, a sampling (diploma defense): a) Design and develop a support system for training in expert systems; b) Specify and implement problem-solving products using under-defined types; d) Design and implement an intelligent interface in object-oriented systems for knowledge representation; i) Search realization according to patterns in large semantic networks; m) Resource planning based on under-defined models. Main Results Achieved by this System This multi-level training system allows students to analyze their development and state as a specialist every two years, and to choose their further path of training. Additional advantages for students are also inherent. The main ones follow. Students always realize where and how their acquired theoretical knowledge can be used, both in general and in their projects. This is especially important since training begins at such an early age (15-16 years). At the 0 Level, students acquire wide knowledge in different areas of computer science. At the 1st Level, deep knowledge in one area is achieved. Finally, in 2nd and 3rd Levels, they return to the wide spectrum of computer science problems but now have new, deeper theoretical understanding. Such a succession of training corresponds to the natural process of human cognition. Problem solving is continually complicated for students. They must work hard to obtain practical results and use different vocational relations for success. It is quite natural that students begin to work on real projects carried out by scientific-research bodies in their fourth year of study. The width of the material covered makes students unafraid of new tasks or of the depth of individual problems. It is just this combination -- width and depth, practicum and theory -- that is the main merit of the suggested training system. While this experiment in training computer specialists by the described multi-level framework has only just begun, it is already possible to discuss certain successes. The first group of students studying on the advanced levels of this system are showing better results in the realm of professional training. Scientific groups are happy to work with these students and anxiously await their involvement in the real-world projects. This alone is an extremely strong argument in favor of this new system of education. There have even been cases of research groups comprised solely of students.3 Scientific groups fully understand what gains a well-trained body of students can bring. New Directions; Other Opportunities Presently, NSUCI is opening one more direction of training -- Economics and Computer Science. This will be a collaboration with the Economics Dept. At the 1st Level students will study according to the educational plan of NSU's Economics Dept. but will also study computer science with an emphasis on economic problems. NSUCI also trains specialists in Computer Systems (hardware), in collaboration with the Physics Dept., with the following areas of specialization: Automation of Processes, and Devices and Telecommunications. An important part of the training now being developed involves work with students prior to their entrance into the college. This is being carried out within the framework of the Program for Young Informaticians of Siberia. At the present time NSUCI is actively continuing its experiment. We are very interested in cooperation with various organizations involved in the field of computer science education. Nickolay Sychov is president of the College of Informatics at Novosibirsk State University, in Novosibirsk, Russia. E-mail: [email protected] References: 1. Computing Curricula, Report of the ACM/IEEE-CS Joint Curriculum Task Force, ACM Press IEEE, Computer Society Press, 1991. 2. Sychov N.A., "Conceptions of Professional Training," Preprint #18, Institute of Informatics Systems of the Siberian Branch of the Russian Academy of Science, 1993, p. 39. 3. Pottosin, I.V., "The Organization of the Scientific Work of Students in Computer Programming at Novosibirsk State University," A collection of reports of the third seminar: "Problems of Informatics and their Application in Management, Education, and Scientific Research," University of Sofia, 1984, pp. 48-58.

This article originally appeared in the 01/01/1995 issue of THE Journal.

Whitepapers