Jane Prusakova
Educational Background
Master of Science in Computer Science, University of Illinois at
Urbana-Champaign. Concentration in Distributed Systems.
Thesis "Distributed File Systems".
(available: compressed PostScript.)
Classes at University of Illinois at
Urbana-Champaign
- Computer Systems Analysis
Development of
analytical models of computer systems and application of such
models to performance evaluation; topics include
scheduling policies, paging algorithms, multiprogrammed
resource management, and queueing theory.
- Artificial Intelligence:
Computer Models of Cognitive Processes
Formal models and concepts in vision and language;
detailed analysis of computer vision, language, and learning
problems; relevant psychological results and linguistic systems;
and survey of the state of the art in artificial intelligence.
Programming Assignments on Lisp.
- Compiler Construction
Compiler structure, syntax analysis, syntax-directed translation,
automatically constructed recognizers, semantic analysis,
code generation, intermediate language, optimization techniques.
Project: front end for a Pascal compiler. (Tools: FLEX, bison, GIRA,
etc.)
Language: C++
- Combinatorial Algorithms
Advanced data structures, graph algorithms, arithmetic algorithms,
geometric algorithms, string problems, parallel algorithms,
NP-completeness.
Project: Priority Queues.
Implement three types of priority queues: with ordinary heaps,
binomial heaps and Fibonacci heaps.
Language: Java
- Computer System Organization
Computer system analysis and design.
Organizational dependence on computations to be performed.
Speed and cost of parts and overall machines. Instruction set design.
Pipeline and vector machines. Memory hierarchy design. Quantitative
approach.
- Computer Networks and Distributed Systems
Introduction to concepts of transport connections and sessions;
design issues in transport layer and session layer protocols, terminal
and file transfer protocols, message handling protocols, etc. ;
methods to ensure network security and privacy; algorithms for
deadlock detection, concurrency control and synchronization in
distributed systems; models of distributed computation; networking
facilities and resource control and management methods in network and
distributed operating systems.
Project: Distributed file system.
Implemented a distributed filesystem on top of Unix sockets interface
Language: C
Classes at Boston University
- Artificial Intelligence
Course covered basics of AI, introducing some of the more important
searching algorithms, game space, organization of knowledge(META
knowledge), fault diagnosis, neural networks, learning.
Quick reference to logic, applied AI, etc..
Project: implementation of auction.
Test different bidding strategies in an auction.
Language: C
- Operating Systems
Examines process synchronization, I/O techniques, buffering, file
systems, processor scheduling, memory management, virtual memory,
job scheduling, resource allocation, system modeling, and performance
measurement and evaluation.
- Introduction to Parallel Computing
The course introduces undergraduates to the theory of parallel
computation, parallel architectures, languages, and applications.
This course is the first of an interdisciplinary sequence of
computational science courses, coordinated through the
Center for
Computational Science
Project: text analyzer. Histograming usage of different letters
and combination of letters in a text.
Language: parallel extension of C (CM5)
- Introduction to Computer Graphics
The course focuses on the fundamentals of 2D and 3D graphics algorithms
and geometry, with some discussion of input/output devices, animation
techniques, and visual realism.
Project: SmartCubes. A graphical toy program, allows to create
objects, move them around, record and play back.
Language: C++, using OpenGL and Forms library
Project: 3D graphics.
Produces 3D stereo image that can be moved around,
looked at from different prospectives, cut.
Language: C, *not* using OpenGL or other graphics tools for the image.
Using Forms library for creating controls.
- Concepts of Programming Languages
Concepts involved in design and choice of programming languages.
Bindings, argument transmission, control structures. Environments;
compile-time, load-time, and run-time. Interpreters.
- Introduction to Formal Languages and Automata Theory
The basic notations of formal languages and their relation to automata.
- Computer Systems
The fundamental concepts of computer systems and systems programming.
Thorough introduction to assembly language, discussion of various
basic system components, including editors, compilers, assemblers and
loaders.
- Introduction to Computer Science II plus Introduction to C
Intensive introduction to the C programming language and a complete
survey of fundamental ideas of computer language programming.
Introduction to list processing, dynamic storage allocation, data
storage structures, lists, strings, arrays, representation and use
of trees and graphs, stacks, queues, pointers, tables.
Sorting and searching techniques.
Economics classes covered intro and intermediate topics in micro and macro
economics, and economics statistics.
I majored in Applied Mathematics while studying at Gorky University
Classes :
- Mathematical Analysis
- Linear Algebra
- Analytical Geometry
I also have done some Computer Programming(Basic, Fortran) there.