RI4OS Operating systems VII: 2+2+0 VIII: 2+2+0




RI4PP Compilers VII: 3+2+0 VIII: 2+2+0


Lexical analyzer. Finite-state recognizers. Transition tables. Empty string. Regular expressions. Deterministic and nondeterministic automata. Automata construction from regular expressions. Extraneous states. Machine minimization. Implementation of a recognizer. Representation of input, states and transition table. Word identificationi. Prefix detection. Lexical analyzer generation. LEX generator. Context-free grammars. Formal languages and formal grammars. Leftmost and rightmost derivation in grammar. Grammatical transformations. Special forms of context-free grammars. Language generation from grammar. Ambiguous grammars. Elimination of left recursion. Left factorization. Elimination of extraneous nonterminals. Regular and right-linear grammars. Pushdown machines. Primitive operations. Extended operations. Translation by pushdown machines. Infinite loops. Syntax-directed translation. Attributed grammars. Inherited and synthesized attributes. Attributed-translation grammars. Dependency graph and its construction. Top-down syntax analysis. Control table. S, Q and LL(1) grammars. Processing of S, Q and LL(1) translation grammars. Error recovery. Recursive descent. Processing of attributed grammars. L-attributed grammars. Grammars of simple assignment form. Design of an extended machine. Recursive descent for attributed grammars. Bottom-up syntax analysis. Shift-identify machine. Control table construction. Suffix-free grammars. Weak-precedence grammars. Simple mixed-strategy-precedence grammars. Parser construction for shift-identify machines. Parser table optimization. Error recovery. Shift-reduce machines. Construction of pushdown and control tables. Error recovery. LR(0) and SLR(1) grammars. Parser construction for shift-reduce machines. Processing of attributed and translation grammars. S-attributed grammars. Configuration approach to syntax analysis. Configurations for LR(0) and SLR(1) grammars. Configuration set closure. Construction of configuration parsers for LR(0) and SLR(1) grammars. Configuration sets for LR(1) grammars and their closure. Configuration sets for LALR(1) grammars and their closure. An efficient algorithm for obtaining configuration sets for LALR(1) grammars. Run-time environment. Activation tree. Control stack. Association. Memory organization in compilers. Activation records. Static allocation. Stack allocation. Dangling reference. Heap allocation. Access to nonlocal names. Static scope without and with procedure nesting. Displays. Dynamic scope. Parameter passing. Call by value. Call by address. Call by copy-restore. Call by name. Code generation. Instruction selection. Register allocation. Target machine. Instruction cost. Run-time memory management. Basic blocks and graph flows. Transformation of basic blocks. Representation of basic blocks. Information on next use. Simple code generator. Address and register descriptors. Code generation algorithm. Symbol tables. Interface to symbol tables. Space for array of names. Block-structured symbol tables. Indivudual and global symbol tables. Extension of block-structured symbol tables. Record representation. Export and import rules. Forward reference. Name overloading. Dynamic memory allocation. Implicit deallocation. Garbage collection. Case study. Memory allocation in FORTRAN. Processing of COMMON declaration. Equivalence tree construction. Data area mapping. Memory allocation to variables.


RI4BP Databases VII: 3+2+0


Fundamentals and Principles of DBMS. Data Abstraction. Instances and Schemes. Data Independence. The ANSI/SPARC three level hierarchy. Data Models. DDL, DML and Data Dictionaries.

Entity-Relationship Model. Entities and Entity Sets. Relationships and Relationship Sets. Mapping Constraints. Keys. E-R Diagram. Generalization, Specialization, Aggregation.

Relational Data Model. Relational languages: Relational Algebra & Calculus, SQL. Relational completeness. Optimization of Relational Queries. Actual systems.

Relational Database Design. Design requirements. Integrity Constraints: Existence Constraints, Functional Dependencies, Multivalued Dependencies, Join Dependencies. Normalization. Alternative Approaches.

Object Oriented Databases. Abstraction. Encapsulation. Modularity. Hierarchy. Typing. Concurrency. Persistence. Objects. Classes. Interfaces. Relational Model Object Oriented Extension.

Concurrency. Transaction processing. Serializability. Locking: Two-Phase Locking, Graph-Based protocols. Time Stamp Ordering. Validation techniques.

Crash recovery. Failure Classification. Incremental Log with Deferred Updates. Incremental Log with Deferred Updates. Checkpoints. Buffer Management. Shadow Paging.


RI4MS Microprocessor systems VII: 3+1+2


Theory and practice of microprocessor assembly level programming. Examples. Case study: ix86. Class project: Ten assembly level programs of interest for the students. Theory and practice of input/output programming. Interrupt i/o, peripherals i/o, and DMA programming in microprocessor environment. Examples. Case study: ix86. Class project: One large i/o program which changes each semester. Theory and practice of microprocessor interface hardware. Examples. Case study: ix86. Class project: Assembly/dissasembly or analysis/synthesis of a hardware/software system for general purpose computing. Theory and practice of microprocessor assembly level programming. Examples. Case study: ix86. Class project: Assembly/dissasembly or analysis/synthesis of a hardware/software system for special purpose computing. Theory and practice of Pentium, Pentium Pro, Pentium MMX, and Pentium II. Architectural, organizational, and design issues. Pipeline, cacheing, branch prediction, interrupt, support for SMP and DSM. Engineering issues. Theory and practice of Merced and Beyond. Architectural, organizational, and design issues. Instruction level parallelism, cacheing, branch prediction strategies, i/o, multithreading, issues of interest for SMP and DSM.


RI4PRS Computer systems performance VII: 3+2+0


Computer performance analysis - problems, techniques and areas of application. Performance evaluation of processors. Performance indicators of memory systems. Memory throughput. Memory utilization. Memory hierarchy. Effective address space. Performance evaluation of disks (linear, discrete and continuous models). Performance models of CD ROMs and magnetic tapes. Computer system modeling based on queuing networks. Poasson process. Birth-death process. Exponential and non-exponential models. Pollaczek-Khinchin formula. Closed networks. Cyclic model of multiprogramming. Central server model. Gordon-Newell's equations. Buzen's algorithm. Open networks, Jackson's theorem. Equivalent transformations (serial and parallel connection, cyclic connection). Interactive systems, deterministic and stochastic modeling. Operational analysis - open networks, closed networks, central-server networks, MVA algorithm. How to choose the most suitable technique for computer system performance analysis (analytical models, measurement techniques, simulation). Presentation and interpretation of results.


RI4SP System programming VII: 3+2+0


Testing. Manual and automatic testing. White-box testing. Black-box testing. Incremental and nonincremental testing. Higher-order testing. Criteria for stopping the testing process. Editors. Classification of editor commands. Line and screen editors. The analysis of basic editor commands. Global text processing. Regular editing expressions. The editor construction without the scratch file. The editor construction with the scratch file. Macroprocessing in editors. Case study. Macrolanguages. Basic principles of macrolanguages. Macrodefinitions and macrocalls without nesting and with nesting. Half-bootstrapping and full-bootstrapping. FLUB machine and STAGE2 macroprocessing. ML/I macroprocessor. Communication between macros. The history of the macrolanguage development. Assembler construction. Functional structure of an assembler. Lexical analysis. Tables of operational codes, symbols and literals. Syntax and semantic processing of expressions. Internal form of assembling. The outputs of an assembler. Algorithms of first and second pass. Incremental assembler. Error processing. Macroprocessor construction. Basic principles in construction. Construction of two-pass and one-pass macroprocessors without nesting. Construction of macroprocessors with nesting of macrodefinitions. Construction of macroprocessors with nesting of macrocalls. Construction of macroprocessors with nesting of macrodefinitions and macrocalls. Case study. Loader construction. The history of the loader development. Basic loader functions. Loader construction with direct linking. Linker construction. Dynamic loading and linking. Linking with overlapping. Construction of a linkage editor for multiprogramming environment.


RI4DRS Distributed compting VIII: 2+2+0




RI4ES Expert systems VIII: 2+2+0


Introduction. Classification. History. Architecture. Searching. Searching problem definition. States and operators. Heuristics. Cost function. Branching factor. Searching algorithms. Knowledge representation. Knowledge represenation in formal logic. Predicate logic of first order. Knowledge technique and inference in formal logic. Bringing WFF in conjunctive normal form. Application of resolution in inference. Unification. Semantic nets. Inher Uncertain environment. Types of uncertainty. Monotonic and nonmonotonic reasoning. TMS. Inference based on certainty factor. Fuzzy sets and their forming. Representation of fuzzy sets. Fuzzy set operations. Fuzzy reasoning. Production rules with multiple premises. Defuzzification. Multiple fuzzy rules. Inductive learning systems. Induction as searching. Inductive algorithm ID3. Functioning of ID3. Algorithm CLS. Advantages and disadvantages of ID3. Development of an inductive expert system. The study of sensitivity. Advantages and disadvanteges of inductive learening. Solving problem strategy. Exhaustive searching. Generate and test. STRIPS. Space transformation. Fixed-ordered subproblems. Planning. Principle of least commitment and constraint propagation. Classification model. Blackboard model. Explanation facilities. Basic and casual models. PRESS, CLEAR, XPLAIN. Tutorial systems. Development of expert systems. Life cycle. Problem selection. Prototype construction. Formalization. Implementation. Evaluation. Longterm development. Knowledge acquisition. Interaction between an expert and a knowledge engineer. Techniques of knowledge acquisition. Implementation of a problem sample. Concept definition. Tools for expert system development.


RI4RT Telecommunications in computing VIII: 3+1+0


Introduction. ISO (OSI) reference model. Distributed system architectures. Transmission media, signal types. Physical layer interface standards. Data transmission basics. Clock synchronization. Error detection and correction methods. Data link protocols. Error control, flow control, link management. ARQ, FEC, hybrid procedures. Computer networks, LAN, MAN, WAN. Higher OSI protocol layers. Multiple access communications. Data compression techniques. Information theory and cryptography. Data security and secrecy in public networks. Public key systems. DES standard.


RI4ST Software engineering VIII: 2+1+2


Introduction. Software as a product. Software life cycles. Quality attributes. Life cycle models. Waterfall. Evolutionary model. Spiral model. Automation as a paradigm of software development. The role of standards. Specification techniques. Operational specifications. Declarative specifications. Verification. Software verification and validation. Reviews and walkthroughs. Testing, analysis, symbolic execution, debugging. Measures of complexity and quality. Project management. Project planning. Auditing. Organizing teams. Risk management. Tools and Environments. Integrated development environments. Modeling tools. Version control systems. Bug and change request tracking systems. Testing tools. Basic principles of modern user interface design. Event driven programming. Object oriented GUI frameworks.