Main page òÕÓÓËÉÊ
×ÁÒÉÁÎÔ Ðóññêèé âàðèàíò
Last updated: 2005-04-28
Solutions to exercises for various courses we take (Computer
Science major)
Contents
- Why we do it
- Required libraries and software
- How to use the packages
- Packages for the 1st semester
- Packages for the 2nd semester
- Packages for the 3rd semester
- Packages for the 4th semester
All the solutions use only open source / free software (i.e., software
bundled with most GNU/Linux distributions; see http://www.opensource.org and http://www.gnu.org). The files are packaged by
course into gzipped tar-balls (`.tar.gz' files).
The reason for doing this is that we want to help someone get started using
GNU/Linux in their studies. Amazingly enough, it has become possible to run
demonstrations of programs designed for GNU/Linux on the university's computers.
First option is to use local GNU/Linux installations -- computers in some
laboratories are dual-booted into MS Windows or GNU/Linux. Next,
starting in September 2003, a public GNU/Linux server is available for students
(try localnet.elf or 192.168.100.105), although it provides
very limited resources -- 10Mb disk space would not be so bad if not for the 100
inodes limit.
We ourselves are using university's computers only for demonstration
purposes, and do all the development using our home boxes. But it might be
possible to use university's computers for the development, though a few
important things will be lacking (such as TeX / METAPOST and some
documentation).
The packages were developed and tested using the following GNU/Linux distros:
- RedHat 7.3/8.0 -- for the 1st and 2nd semester;
- Debian 3.0 -- for 3rd and 4th semester.
All packages can be managed using GNU Make (except packages for
the 1st semester).
Mostly, the programs were written in C and compiled using gcc
bundled with one of the above distros.
A few assembler sources were compiled using nasm (the Netwide
Assembler).
Some programs use graphics library svgalib (http://www.ibiblio.org/pub/Linux/libs/graphics/).
Some use GTK (http://www.gtk.org/), which
in turn uses X Window.
For documentation, we used TeX and METAPOST (teTeX distribution).
Assume the package's name is: package.tar.gz.
After downloading, untar the package using the command
tar xzvf package.tar.gz
This should create package directory. Change into it. If there are
lower level tar-balls, you can get them untared by running
make install
Now run
make
to build all sources, or
make <progname>
to build just <progname> program. Check out Makefile for
other options you have. See also notes on specific packages below.
- PC Architecture - download
- Programming I - download
- BZhD - download
- Contains two term papers for BZhD
- Programming II - download
- Conference Paper - download
- This is a paper Oleg had prepared for Math & Computer Science Conference
which took place around April 2003
- Computer Graphics
- download
- Operating Systems
- download1
download2
- Although the Operating SystemS [sic] course was based on MS
Windows, we managed to get through with Linux for the exception of
these programs:
- two old projects `4aces' and `planet' which were developed for
MS DOS by Oleg in the good old days. They are available in
download2;
- `chargen' program (character generator programming) is compiled by
nasm from within GNU/Linux but runs under MS DOS
(Linux does not grant to unpriveleged users low-level access needed
for programming character generator).
One program for this course matched another for the Software Design I course, so you can find it
there (`clockgtk')
- Software
Design I - download
- This package has a link to a directory in Computer Graphics, so you'll also need to
download and install that to be able to compile (some) programs in this
package
- Programming III - download
- Theory of
Programming - download
- Software Design
II - download
- System
Programming - download
- One exercise, namely a program utilizing C++ classes, can be taken from
Computer Graphics course (triangulate)
- Ukrainian - download
- Contains some papers we had to write for Ukrainian classes (in Ukrainian
and Russian)
Main page