Materials are freely available. I've created them between years 1998-2004 while I was a student of Faculty of Electrical Engineering, CTU Prague, Computer Science department.

Some materials are in Czech only. Please do not hesitate to contact me if you have questions.

36DP Diploma Thesis
Final Diploma Thesis Internet support for seminar exercises of undergraduate course Logical Circuits 36dp/
36SCP Human-Computer Interaction
Text input in Windows XP Tablet PC Edition 2005 Cognitive walk-through heuristic for hand written text recognition input panel in Windows XP Tablet PC Edition. 36scp/
36APZ2 Architectures of Peripheral Devices
Implementation study of ATM adaptation layer's (AAL5) functions into a programmable logic array Implementation study of ATM adaptation layer's (AAL5) functions into a programmable logic array. 36apz2/
36PAR2 Parallel Systems and Algorithms
Concatenated checkers At the beginning there is a random number of pieces (q) on a square draughtboard of random size and one queen (this disposition is called starting configuration). One movement is one queen's jump over neighbouring piece to an empty swatch immediately after it when the queen captures the jumped piece. The queen can move in 8 different directions. The length of a jump is always 2. The goal is to collect all the pieces with concatenated move.
Sequential and parallel implementation in C++ with MPI library, tested with max. 12 processors of x686 family, connected together with Myrinet and Ethernet networks. including source code, results and with the final report.
All support scripts are written for Linux; however, you can compile the project under any OS.
36APC Automated Design of Digital Systems
Mastermind Mastermind game for Digilab IIE with Digilab DIO1 I/O board (Xilinx Spartan IIE) in VHDL, Xilinx ISE development environment. With HTML documentation. 36apc/
36PAA Problems and Algorithms
Travelling salesman problem Solved with Hopfield's neural network. With source codes.
Click on the APPLET link to get straight into JAVA action!
Knapsack problem With source code. 36paa/knap1/index.html
Water bucket problem With brutal force and heuristic. With source codes. 36paa/bucks/index.html
Knapsack problem 2 With branches and borders algorithm and with different heuristics. With source codes. 36paa/knap2/index.html
Experimental classification of knapsack's algorithms
36LOS Local Area Networks
BOOTP client BSD sockets BOOTP client. Write gained IP address on console only, does not change it for network interface. 36los/
36SPA Special Architectures
Neural microchips Quick introduction to neural microchips. What neural networks are, RBF network and ZISC chip. In PDF format. 36spa/neuro.pdf
Pictures of ZISC chip Supplementary pictures for previous paper. Chip is mounted on PCI and ISA cards. On the third picture is someone from French IBM where the hardware was designed.. 36spa/pci.png
36POB2 Programmable Circuits
Mouse coordinates read with Spartan 2E board Create a circuit that reads coordinates of mouse connected in serial port and that will shown these coordinates on LED display. Designed in Xilinx ISE (project file mouse.npl), in VHDL (mouse.vhd). It contains mappings for Digilab D2E-DIO1 combo in addition (design board with XILINX Spartan 2E; manufacturer Digilent) (emouse.ucf). Documentation in HTML format (index.html). BEWARE! Have functional problems see documentation. 36pob2/mouse/index.html
36SIM Simulations
n-digit BCD counter Simulation in VHDL language 36sim/nbcd.vhd
Shift register with parallel inputs Specify shift register with parallel inputs in VHDL language. 36sim/shift.vhd
Generator of even parity Simulation in VHDL language 36sim/parity.vhd
ALU Implementation and simulation in VHDL language 36sim/alu.vhd
RS RS flip-flop in VHDL with test bench. 36sim/rs.vhd
36PZ Peripheral devices
SCSI bus Measurement on SCSI bus, giving the answers to following questions:
  1. monitoring of bus,
  2. identification of devices,
  3. erase of tape device,
  4. writing and reading of tape.
In HTML format with front page in DOC.
Experiments with VGA
  1. By direct programming of inner VGA registers show 4x4 array of 16 basic colours on the screen,
  2. in coordinates x=100 and y=100 show a black hair-cross.
  3. By D-A converter programming transform the picture to 16 gray scales.
  4. Create a procedure for writing of eight neighbour hooding pixels to any x position.
  5. Create procedures to make save a snapshot to disk and load it back.
Paper in HTML format, its front page in DOC and PASCAL source.
Measurements on disc Find the answers to following questions:
  1. What is angular velocity of the disc?
  2. What is approximate length of sector and its header (in ms)?
  3. How many sectors per track does disc have?
  4. Which signal of controller is condition forINDEX signal?
  5. What seek time is?
  6. Is it a ST506 or ST412 interface in this case?
  7. Does the disc use MFM or RLL coding?
Paper in HTML format together with its front page in DOC.
Serial communication Program for serial line communication done by direct programming of UART 8250 registers.
  • Write program for sending characters over serial line.
  • Write program for receiving those characters.
Compare 8250 behaviour at different speeds. First, write without interrupts, latter with them.
Contains paper (serial.html), its front page (fp.doc), appendix with source codes (app[1-3].html), source codes (serial.pas for normal communication, int.pas for communication with interrupts and 300.pas and 600.pas for different speeds communication).
USB - Universal Serial Bus Study in HTML format. Contains following parts:
  • Introduction
  • Topology
  • Hardware
  • Communication (this part is incomplete, general description and transactions are missing)
  • Descriptors
  • Conclusion
36POB Programmable Circuits
Engine control with keypad Drive engine's revolutions with 16 keys keypad. Speed has four degrees in each direction (4, 3, 2, 1, -1, -2, -3, -4). In addition, there is smooth speed control, two buttons for boosting and for decreasing. Another button is for stopping the engine. Current speed with reversing sense is shown on 7-segment display. 36pob/sem2/index.html
Address generator With D/A converter generate function which both half-waves and both halves of that half-wave are symmetrical (e.g. sinus). So in the memory are stored values just for first quarter of the function. Make an address generator that can create values in correct order. As HTML document, WinPlace files are included. 36pob/sem1/index.html
36PJ Programming Languages
SQL Interpretation Design program for SQL's subset interpretation. Create lexical, syntax and semantic analyzer together with interpreter. problem analysis, choose of SQL subset, RBNF, translation grammar, lexical analyzer, syntax and semantic analyzer, disc data format.. Source code in Java (file src/, batches for compilation and running - small changes are needed according your pathes (make.bat and go.bat files), example SQL batch (sql.txt), compiled classes (file classes/ and research paper in HTML (docs/sql.html link). 36pj/src/
36DSY Distributed Systems
Sliding window protocol Design a protocol for secure data trasition. Take into account possible packet lost, their duplications and their order change. Implement the protocol in C on the top of UDP packets. Size of packet is 128 byte. Use sliding window protocol. 36dsy/
36NAN Neural networks
Travelling Salesman Problem Travelling Salesman Problem solution with Hofiled's neural network. Description of problem, theory of Hopfield's networks, description of implementation, Java applet. You can download source code (file src/, documentation in JAVADOC (docs/index.html link) and paper in HTML (includes link to the applet, file sem2.html).
Value prediction of exp(cos(x)) function Value prediction of exp(cos(x)) with Back-propagation neural network. Choose of optimal network, influence of multiplicative and additive constants and impact of noise and effect of different window's size. In HTML format.
36PJC Programming Language C
Chess Chess for single player, computer is the opponent. With source codes and project file for Borland C 4 (file Documentation in HTML and binary file for DOS.
Possible missing WEP4UTIL.DLL library can be downloaded here also.
32PD Data Transition
Repeater of pulse code modulation signal Exercise elaboration, as a DOC file. 36pd/
MDS 1200 MDS 1200 - standard Czechoslovakian modem according to ITU-T V.23 36pd/mds1200.html
36SI Software Engineering
Electronic Mall Presentation of project's outcome on the internet. 36si/index.html
36SOJ Machine Oriented Languages
Some programs from classes in assembler
  • Adding in array from given number
  • Generating of arrays with interesting shapes
  • Next generation of arrays with interesting shapes
  • Adding in arrays with usage of macros and sub-programs
  • Viewing of text file bigger than screen size. Reading 'read' file.
  • Piano keyboard with mouse
36APS Architecture of Computer Systems
Motorola 88110 - Memory Bus
  • Structure of the bus, overview of most important signals and their description
  • Coherence cache, snooping, example of transaction with coherency and with snooping
  • MESI protocol
  • Allocation of bus, Split Bus regime
  • Single-beat transaction, xmem transaction
  • Burst transaction
File contains Structure, Coherence cache and Allocation parts, file rest. File contains both parts packed.
36LS Logical Systems
Synchronous state machine Complete class work from 2001.
  • Task
  • Minimization of inner states
  • Coding of inner states
  • Maps for flip-flop circuits inputs and for the output variable
  • Schema of state machine (for both stable and unstable states as OrCAD file)
  • Computation of maximal frequency
  • Conclusion
If it is of any help, I have added EXCEL tables for calculations.
36DBS Database Systems
Personal Accounting Application Personal Accountancy in Access 97 with ERM model. File accdb.mdb contains only tables and is connected to application file account.mdb. Open the second one and UPDATE interconnection to data file: choose Wizard for Connected Tables from Tools/Add-ons. Application will not be functional either! Contains analytical part in DOC and SQL commands for Oracle in addition. Study in HTML and ERM diagram added. 36dbs/
36TI Theoretic Informatics
Bipartite Graphs Algorithm for bipartite graph resolution. Description and pseudo-algorithm in DOC format. 36ti/bipartit.doc
36PT Programming Techniques
Algebra of rectangle areas in 2 dimensional Euclidean space Set's operations with 2D rectangle areas (UNION, INTERSECTION, version DIFF too). Version is developing, more possibilities, less correct results. Source codes in PASCAL and description in DOC format. 36pt/
02F2 Physics 2
Sound absorption measurement of material in acoustic interferometer
Research of light bending - Fraunhofer's and Fresnel's bend
Research of photoeffect and determination of Planck's constant
31TO2A Theory of Electrical Circuits 2A
Frequency characteristic Laboratory measurement of module and phase characterictic for electrical parts. 31to2a/
02F1 Physics 1
Electrochemical equivalent of copper and Faraday's constant
Temperature coefficient of resistance for metals