Babylonian numerals

The Babylonian civilisation in Mesopotamia replaced the Sumerian civilisation and the Akkadian civilisation. We give a little historical background to these events in our article Babylonian mathematics. Certainly in terms of their number system the Babylonians inherited ideas from the Sumerians and from the Akkadians. From the number systems of these earlier peoples came the base of 60, that is the sexagesimal system. Yet neither the Sumerian nor the Akkadian system was a positional system and this advance by the Babylonians was undoubtedly their greatest achievement in terms of developing the number system. Some would argue that it was their biggest achievement in mathematics.

Often when told that the Babylonian number system was base 60 people's first reaction is: what a lot of special number symbols they must have had to learn. Now of course this comment is based on knowledge of our own decimal system which is a positional system with nine special symbols and a zero symbol to denote an empty place. However, rather than have to learn 10 symbols as we do to use our decimal numbers, the Babylonians only had to learn two symbols to produce their base 60 positional system.

Now although the Babylonian system was a positional base 60 system, it had some vestiges of a base 10 system within it. This is because the 59 numbers, which go into one of the places of the system, were built from a 'unit' symbol and a 'ten' symbol.



Here are the 59 symbols built from these two symbols



Now given a positional system one needs a convention concerning which end of the number represents the units. For example the decimal 12345 represents

1 cross 104 + 2 cross 103 + 3 cross 102 + 4 cross 10 + 5.

If one thinks about it this is perhaps illogical for we read from left to right so when we read the first digit we do not know its value until we have read the complete number to find out how many powers of 10 are associated with this first place. The Babylonian sexagesimal positional system places numbers with the same convention, so the right most position is for the units up to 59, the position one to the left is for 60 cross n where 1 lte n lte 59, etc. Now we adopt a notation where we separate the numerals by commas so, for example, 1,57,46,40 represents the sexagesimal number

1 cross 603 + 57 cross 602 + 46 cross 60 + 40

which, in decimal notation is 424000.



Here is 1,57,46,40 in Babylonian numerals


Now there is a potential problem with the system. Since two is represented by two characters each representing one unit, and 61 is represented by the one character for a unit in the first place and a second identical character for a unit in the second place then the Babylonian sexagesimal numbers 1,1 and 2 have essentially the same representation. However, this was not really a problem since the spacing of the characters allowed one to tell the difference. In the symbol for 2 the two characters representing the unit touch each other and become a single symbol. In the number 1,1 there is a space between them.

A much more serious problem was the fact that there was no zero to put into an empty position. The numbers sexagesimal numbers 1 and 1,0, namely 1 and 60 in decimals, had exactly the same representation and now there was no way that spacing could help. The context made it clear, and in fact despite this appearing very unsatisfactory, it could not have been found so by the Babylonians. How do we know this? Well if they had really found that the system presented them with real ambiguities they would have solved the problem - there is little doubt that they had the skills to come up with a solution had the system been unworkable. Perhaps we should mention here that later Babylonian civilisations did invent a symbol to indicate an empty place so the lack of a zero could not have been totally satisfactory to them.

An empty place in the middle of a number likewise gave them problems. Although not a very serious comment, perhaps it is worth remarking that if we assume that all our decimal digits are equally likely in a number then there is a one in ten chance of an empty place while for the Babylonians with their sexagesimal system there was a one in sixty chance. Returning to empty places in the middle of numbers we can look at actual examples where this happens.

Here is an example from a cuneiform tablet (actually AO 17264 in the Louvre collection in Paris) in which the calculation to square 147 is carried out. In sexagesimal 147 = 2,27 and squaring gives the number 21609 = 6,0,9.



Here is the Babylonian example of 2,27 squared


Perhaps the scribe left a little more space than usual between the 6 and the 9 than he would have done had he been representing 6,9.

Now if the empty space caused a problem with integers then there was an even bigger problem with Babylonian sexagesimal fractions. The Babylonians used a system of sexagesimal fractions similar to our decimal fractions. For example if we write 0.125 then this is 1/10 + 2/100 + 5/1000 = 1/8. Of course a fraction of the form a/b, in its lowest form, can be represented as a finite decimal fraction if and only if b has no prime divisors other than 2 or 5. So 1/3 has no finite decimal fraction. Similarly the Babylonian sexagesimal fraction 0;7,30 represented 7/60 + 30/3600 which again written in our notation is 1/8.

Since 60 is divisible by the primes 2, 3 and 5 then a number of the form a/b, in its lowest form, can be represented as a finite decimal fraction if and only if b has no prime divisors other than 2, 3 or 5. More fractions can therefore be represented as finite sexagesimal fractions than can as finite decimal fractions. Some historians think that this observation has a direct bearing on why the Babylonians developed the sexagesimal system, rather than the decimal system, but this seems a little unlikely. If this were the case why not have 30 as a base? We discuss this problem in some detail below.

Now we have already suggested the notation that we will use to denote a sexagesimal number with fractional part. To illustrate 10,12,5;1,52,30 represents the number

10 cross 602 + 12 cross 60 + 5 + 1/60 + 52/602 + 30/603

which in our notation is 36725 1/32. This is fine but we have introduced the notation of the semicolon to show where the integer part ends and the fractional part begins. It is the "sexagesimal point" and plays an analogous role to a decimal point. However, the Babylonians has no notation to indicate where the integer part ended and the fractional part began. Hence there was a great deal of ambiguity introduced and "the context makes it clear" philosophy now seems pretty stretched. If I write 10,12,5,1,52,30 without having a notation for the "sexagesimal point" then it could mean any of:

0;10,12, 5, 1,52,30

10;12, 5, 1,52,30

10,12; 5, 1,52,30

10,12, 5; 1,52,30

10,12, 5, 1;52,30

10,12, 5, 1,52;30

10,12, 5, 1,52,30

in addition, of course, to 10, 12, 5, 1, 52, 30, 0 or 0 ; 0, 10, 12, 5, 1, 52, 30 etc.

Finally we should look at the question of why the Babylonians had a number system with a base of 60. The easy answer is that they inherited the base of 60 from the Sumerians but that is no answer at all. It only leads us to ask why the Sumerians used base 60. The first comment would be that we do not have to go back further for we can be fairly certain that the sexagesimal system originated with the Sumerians. The second point to make is that modern mathematicians were not the first to ask such questions. Theon of Alexandria tried to answer this question in the fourth century AD and many historians of mathematics have offered an opinion since then without any coming up with a really convincing answer.

Theon's answer was that 60 was the smallest number divisible by 1, 2, 3, 4, and 5 so the number of divisors was maximised. Although this is true it appears too scholarly a reason. A base of 12 would seem a more likely candidate if this were the reason, yet no major civilisation seems to have come up with that base. On the other hand many measures do involve 12, for example it occurs frequently in weights, money and length subdivisions. For example in old British measures there were twelve inches in a foot, twelve pennies in a shilling etc.

Neugebauer proposed a theory based on the weights and measures that the Sumerians used. His idea basically is that a decimal counting system was modified to base 60 to allow for dividing weights and measures into thirds. Certainly we know that the system of weights and measures of the Sumerians do use 1/3 and 2/3 as basic fractions. However although Neugebauer may be correct, the counter argument would be that the system of weights and measures was a consequence of the number system rather than visa versa.

Several theories have been based on astronomical events. The suggestion that 60 is the product of the number of months in the year (moons per year) with the number of planets (Mercury, Venus, Mars, Jupiter, Saturn) again seems far fetched as a reason for base 60. That the year was thought to have 360 days was suggested as a reason for the number base of 60 by the historian of mathematics Moritz Cantor. Again the idea is not that convincing since the Sumerians certainly knew that the year was longer than 360 days. Another hypothesis concerns the fact that the sun moves through its diameter 720 times during a day and, with 12 Sumerian hours in a day, one can come up with 60.

Some theories are based on geometry. For example one theory is that an equilateral triangle was considered the fundamental geometrical building block by the Sumerians. Now an angle of an equilateral triangle is 60degrees so if this were divided into 10, an angle of 6degrees would become the basic angular unit. Now there are sixty of these basic units in a circle so again we have the proposed reason for choosing 60 as a base. Notice this argument almost contradicts itself since it assumes 10 as the basic unit for division!

I [EFR] feel that all of these reasons are really not worth considering seriously. Perhaps I've set up my own argument a little, but the phrase "choosing 60 as a base" which I just used is highly significant. I just do not believe that anyone ever chose a number base for any civilisation. Can you imagine the Sumerians setting set up a committee to decide on their number base - no things just did not happen in that way. The reason has to involve the way that counting arose in the Sumerian civilisation, just as 10 became a base in other civilisations who began counting on their fingers, and twenty became a base for those who counted on both their fingers and toes.

Here is one way that it could have happened. One can count up to 60 using your two hands. On your left hand there are three parts on each of four fingers (excluding the thumb). The parts are divided from each other by the joints in the fingers. Now one can count up to 60 by pointing at one of the twelve parts of the fingers of the left hand with one of the five fingers of the right hand. This gives a way of finger counting up to 60 rather than to 10. Anyone convinced?

A variant of this proposal has been made by others. Perhaps the most widely accepted theory proposes that the Sumerian civilisation must have come about through the joining of two peoples, one of whom had base 12 for their counting and the other having base 5. Although 5 is nothing like as common as 10 as a number base among ancient peoples, it is not uncommon and is clearly used by people who counted on the fingers of one hand and then started again. This theory then supposes that as the two peoples mixed and the two systems of counting were used by different members of the society trading with each other then base 60 would arise naturally as the system everyone understood.

I have heard the same theory proposed but with the two peoples who mixed to produce the Sumerians having 10 and 6 as their number bases. This version has the advantage that there is a natural unit for 10 in the Babylonian system which one could argue was a remnant of the earlier decimal system. One of the nicest things about these theories is that it may be possible to find written evidence of the two mixing systems and thereby give what would essentially amount to a proof of the conjecture. Do not think of history as a dead subject. On the contrary our views are constantly changing as the latest research brings new evidence and new interpretations to light.

References (9 books/articles)

Other Web sites:
Astroseti (A Spanish translation of this article)

An overview of Babylonian mathematics

The Babylonians lived in Mesopotamia, a fertile plain between the Tigris and Euphrates rivers.



Here is a map of the region where the civilisation flourished.

The region had been the centre of the Sumerian civilisation which flourished before 3500 BC. This was an advanced civilisation building cities and supporting the people with irrigation systems, a legal system, administration, and even a postal service. Writing developed and counting was based on a sexagesimal system, that is to say base 60. Around 2300 BC the Akkadians invaded the area and for some time the more backward culture of the Akkadians mixed with the more advanced culture of the Sumerians. The Akkadians invented the abacus as a tool for counting and they developed somewhat clumsy methods of arithmetic with addition, subtraction, multiplication and division all playing a part. The Sumerians, however, revolted against Akkadian rule and by 2100 BC they were back in control.

However the Babylonian civilisation, whose mathematics is the subject of this article, replaced that of the Sumerians from around 2000 BC The Babylonians were a Semitic people who invaded Mesopotamia defeating the Sumerians and by about 1900 BC establishing their capital at Babylon.

The Sumerians had developed an abstract form of writing based on cuneiform (i.e. wedge-shaped) symbols. Their symbols were written on wet clay tablets which were baked in the hot sun and many thousands of these tablets have survived to this day. It was the use of a stylus on a clay medium that led to the use of cuneiform symbols since curved lines could not be drawn. The later Babylonians adopted the same style of cuneiform writing on clay tablets.



Here is one of their tablets

Many of the tablets concern topics which, although not containing deep mathematics, nevertheless are fascinating. For example we mentioned above the irrigation systems of the early civilisations in Mesopotamia. These are discussed in [Historia Sci. (2) 1 (3) (1992), 173-180. ',40)">40] where Muroi writes:-

It was an important task for the rulers of Mesopotamia to dig canals and to maintain them, because canals were not only necessary for irrigation but also useful for the transport of goods and armies. The rulers or high government officials must have ordered Babylonian mathematicians to calculate the number of workers and days necessary for the building of a canal, and to calculate the total expenses of wages of the workers.

There are several Old Babylonian mathematical texts in which various quantities concerning the digging of a canal are asked for. They are YBC 4666, 7164, and VAT 7528, all of which are written in Sumerian ..., and YBC 9874 and BM 85196, No. 15, which are written in Akkadian ... . From the mathematical point of view these problems are comparatively simple ...

The Babylonians had an advanced number system, in some ways more advanced than our present systems. It was a positional system with a base of 60 rather than the system with base 10 in widespread use today. For more details of the Babylonian numerals, and also a discussion as to the theories why they used base 60, see our article on Babylonian numerals.

The Babylonians divided the day into 24 hours, each hour into 60 minutes, each minute into 60 seconds. This form of counting has survived for 4000 years. To write 5h 25' 30", i.e. 5 hours, 25 minutes, 30 seconds, is just to write the sexagesimal fraction, 5 25/60 30/3600. We adopt the notation 5; 25, 30 for this sexagesimal number, for more details regarding this notation see our article on Babylonian numerals. As a base 10 fraction the sexagesimal number 5; 25, 30 is 5 4/10 2/100 5/1000 which is written as 5.425 in decimal notation.

Perhaps the most amazing aspect of the Babylonian's calculating skills was their construction of tables to aid calculation. Two tablets found at Senkerah on the Euphrates in 1854 date from 2000 BC. They give squares of the numbers up to 59 and cubes of the numbers up to 32. The table gives 82 = 1,4 which stands for

82 = 1, 4 = 1 cross 60 + 4 = 64

and so on up to 592 = 58, 1 (= 58 cross 60 +1 = 3481).

The Babylonians used the formula

ab = [(a + b)2 - a2 - b2]/2

to make multiplication easier. Even better is their formula

ab = [(a + b)2 - (a - b)2]/4

which shows that a table of squares is all that is necessary to multiply numbers, simply taking the difference of the two squares that were looked up in the table then taking a quarter of the answer.

Division is a harder process. The Babylonians did not have an algorithm for long division. Instead they based their method on the fact that

a/b = a cross (1/b)

so all that was necessary was a table of reciprocals. We still have their reciprocal tables going up to the reciprocals of numbers up to several billion. Of course these tables are written in their numerals, but using the sexagesimal notation we introduced above, the beginning of one of their tables would look like:



2 0; 30

3 0; 20

4 0; 15

5 0; 12

6 0; 10

8 0; 7, 30

9 0; 6, 40

10 0; 6

12 0; 5

15 0; 4

16 0; 3, 45

18 0; 3, 20

20 0; 3

24 0; 2, 30

25 0; 2, 24

27 0; 2, 13, 20

Now the table had gaps in it since 1/7, 1/11, 1/13, etc. are not finite base 60 fractions. This did not mean that the Babylonians could not compute 1/13, say. They would write

1/13 = 7/91 = 7 cross (1/91) = (approx) 7 cross (1/90)

and these values, for example 1/90, were given in their tables. In fact there are fascinating glimpses of the Babylonians coming to terms with the fact that division by 7 would lead to an infinite sexagesimal fraction. A scribe would give a number close to 1/7 and then write statements such as (see for example [The crest of the peacock (London, 1991).',5)">5]):-

... an approximation is given since 7 does not divide.

Babylonian mathematics went far beyond arithmetical calculations. In our article on Pythagoras's theorem in Babylonian mathematics we examine some of their geometrical ideas and also some basic ideas in number theory. In this article we now examine some algebra which the Babylonians developed, particularly problems which led to equations and their solution.

We noted above that the Babylonians were famed as constructors of tables. Now these could be used to solve equations. For example they constructed tables for n3 + n2 then, with the aid of these tables, certain cubic equations could be solved. For example, consider the equation

ax3 + bx2 = c.

Let us stress at once that we are using modern notation and nothing like a symbolic representation existed in Babylonian times. Nevertheless the Babylonians could handle numerical examples of such equations by using rules which indicate that they did have the concept of a typical problem of a given type and a typical method to solve it. For example in the above case they would (in our notation) multiply the equation by a2 and divide it by b3 to get

(ax/b)3 + (ax/b)2 = ca2/b3.

Putting y = ax/b this gives the equation

y3 + y2 = ca2/b3

which could now be solved by looking up the n3 + n2 table for the value of n satisfying n3 + n2 = ca2/b3. When a solution was found for y then x was found by x = by/a. We stress again that all this was done without algebraic notation and showed a remarkable depth of understanding.

Again a table would have been looked up to solve the linear equation ax = b. They would consult the 1/n table to find 1/a and then multiply the sexagesimal number given in the table by b. An example of a problem of this type is the following.
Suppose, writes a scribe, 2/3 of 2/3 of a certain quantity of barley is taken, 100 units of barley are added and the original quantity recovered. The problem posed by the scribe is to find the quantity of barley. The solution given by the scribe is to compute 0; 40 times 0; 40 to get 0; 26, 40. Subtract this from 1; 00 to get 0; 33, 20. Look up the reciprocal of 0; 33, 20 in a table to get 1;48. Multiply 1;48 by 1,40 to get the answer 3,0.

It is not that easy to understand these calculations by the scribe unless we translate them into modern algebraic notation. We have to solve

2/3cross 2/3 x + 100 = x

which is, as the scribe knew, equivalent to solving (1 - 4/9)x = 100. This is why the scribe computed 2/3 cross 2/3 subtracted the answer from 1 to get (1 - 4/9), then looked up 1/(1 - 4/9) and so x was found from 1/(1 - 4/9) multiplied by 100 giving 180 (which is 1; 48 times 1, 40 to get 3, 0 in sexagesimal).

To solve a quadratic equation the Babylonians essentially used the standard formula. They considered two types of quadratic equation, namely

x2 + bx = c and x2 - bx = c

where here b, c were positive but not necessarily integers. The form that their solutions took was, respectively

x = √[(b/2)2 + c] - (b/2) and x = √[(b/2)2 + c] + (b/2).

Notice that in each case this is the positive root from the two roots of the quadratic and the one which will make sense in solving "real" problems. For example problems which led the Babylonians to equations of this type often concerned the area of a rectangle. For example if the area is given and the amount by which the length exceeds the breadth is given, then the breadth satisfies a quadratic equation and then they would apply the first version of the formula above.

A problem on a tablet from Old Babylonian times states that the area of a rectangle is 1, 0 and its length exceeds its breadth by 7. The equation

x2 + 7x = 1, 0

is, of course, not given by the scribe who finds the answer as follows. Compute half of 7, namely 3; 30, square it to get 12; 15. To this the scribe adds 1, 0 to get 1; 12, 15. Take its square root (from a table of squares) to get 8; 30. From this subtract 3; 30 to give the answer 5 for the breadth of the triangle. Notice that the scribe has effectively solved an equation of the type x2 + bx = c by using x = √[(b/2)2 + c] - (b/2).

In [Math. Gaz. 40 (1956), 185-192.',10)">10] Berriman gives 13 typical examples of problems leading to quadratic equations taken from Old Babylonian tablets.

If problems involving the area of rectangles lead to quadratic equations, then problems involving the volume of rectangular excavation (a "cellar") lead to cubic equations. The clay tablet BM 85200+ containing 36 problems of this type, is the earliest known attempt to set up and solve cubic equations. Hoyrup discusses this fascinating tablet in [Amphora (Basel, 1992), 315-358.',26)">26]. Of course the Babylonians did not reach a general formula for solving cubics. This would not be found for well over three thousand years.

References (50 books/articles)

Other Web sites:

  1. Astroseti (A Spanish translation of this article)
  2. E C Zeeman (Plimpton 322)
  3. Don Allen (Babylonian mathematics)
  4. Kevin Brown (Information about Babylonian square roots)
  5. Brent Byars
  6. D J Melville

XAT 2008 dates announced - Entrance Exam on Jan 6, 2008

XAT is also used by 35 other management institutes for admission.

XAT bulletin containing the details and application procedure for admission to XLRI and other institutes can be obtained from the branches of State Bank of India for Rs 700 or alternatively, one can send Rs 750 by DD in favour of XAT Jamshedpur, payable at SBI, XLRI Branch (code 4660) alongwith the XAT Form that can be downloaded from www.xlri.edu.

Procedure for Obtaining XLRI Prospectus from the Admissions Office, XLRI Jamshedpur and XLRI Registration

1. A candidate interested in XLRI, has to first register for XAT. The XAT ID and password so obtained are required for applying to XLRI.

2. An applicant has to make a demand draft for Rs 750 for XLRI Prospectus. The Demand Draft has to be drawn in favour of XLRI, Jamshedpur payable at SBI, XLRI Branch (Branch Code No 4660)

3. Registration for XLRI Admissions - 2007

The applicant has to log on to the website www.xlri.edu and go to XLRI Registration. Here they have to fill in the XLRI form and have to opt for one of the programmes of XLRI .The candidate has to provide the payment particulars of the demand draft number, date and submit the form online. Please mention your XAT ID and your name on the reverse of the DD.


4. Once the candidates provides the demand draft details they can proceed to take printout of XLRI Payment Advice Form (XLRI PA Form).


5. The candidate has to enclose the demand draft along with the duly completed XLRI PA Form and send it by registered post / speed post / courier so as to reach XLRI Admissions Office, XLRI Jamshedpur on or before November 30, 2007

6. XLRI Prospectus will be sent after receiving the request complete in all respects

7. The list of the short listed candidates for XLRI will be posted at www.xlri.edu . The names of the candidates who subsequently succeed in the selection interviews for admission to XLRI will be intimated individually and also will be posted at www.xlri.ac.in and www.xlri.edu

CA-CPT Question Paper Leaked - Test Cancelled

Test will now be held on August 26, Sunday


Institute of Chartered Accountants of India (ICA) cancelled the Common Proficiency Test (CPT) as the paper had leaked. Now the Test will be held on August 26, ICAI president Sunil Talati said.

The common proficiency test (CPT) conducted by the Institute of Chartered Accountants of India (ICAI) today morning was cancelled later in the day owing to a paper leak at two examination centres.

Nearly 82,000 students appeared at the examination across 209 centres in India and also in Kathmandu and Dubai.

This is for the first time that the CA paper had leaked in its history of 57 years. There are two papers in the test which began at 9 am. However, a channel started showing papers at 8.45 am. The test is for entrance for the CA studies and is held after HSC.

CPT is the entrance examination for those aspiring to be chartered accountants and is conducted by the ICAI, the regulatory body for the profession. Leak of the question paper of one of the toughest exams in the country had created panic among examinees in the morning.

C++ by FunctionX

Introduction to C++
Variable and Data Types
Namespaces
Operators and Operands
Introduction to Functions
Exploring Functions
C++ Projects and Linkage
Logical Comparisons
Conditional Statements
Constructing Expressions
Intermediate Operations
Introduction to Arrays
Introduction to Pointers
Arrays and Pointers
Pointers and Functions
Strings
Data Input/Output
Exception Handling
User-Defined Types
Introduction to Classes
Object Initialization and Tuning
Object Construction and Destruction
Arrays and Pointers of Classes
Operator Overloading
Combining Objects
Exceptions and Classes
Composition and Inheritance
Polymorphism and Abstraction

Topics
Reference Methods

When creating a C++ class, you can add a member function that returns a reference. This is a review of how to proceed. This also includes a comparison of reference methods with set and get accessories.

File Processing (FILE)

This is a review of how to save values to a medium using the FILE structure of the C language.

File Processing (fstream)

The C++ language provides the fstream and its inherited classes used to perform file processing as we review them here

Array-Based Lists

Use a class to create a list that uses an array as the main object of the list.

Object Serialization

This is a brief description of how you can save a whole variable declared from a class, and how you can read or retrieve it from a stream.

Introduction to Templates by James Prasanna
Keywords References
boolbreakProject Creation Depending on Compiler
elseforC++ Operators Precedence
inlinestaticClearing the screen
typedefAnonymous Classes
C/C++ Comments
Inheritance
Introduction to Templates
Example Programs
These are usually small programs that implement a particular or more than one topic, showing how the C++ language is used.
General ConceptsFunctionsClasses
The Simplest ProgramPassing ArgumentsA Simple Class
If-Else ConditionArguments By ValueConstructor Initializer
Exception HandlingReturning a ReferenceArray of Objects
String Data EntryReturning a PointerA Class Member Variable
A Simple ListReturning a double-PointerAn Class As Argument
Linear Search Returning a Reference to a PointerClass Nesting
Linked List 1 An Array of Pointers to Class
Math-Oriented Examples
Absolute Value CalculationSum of a Range of Values Greatest Common Divisor 1
Square Root CalculationMinimum Value Greatest Common Divisor 2
Maximum Value
Applications
Car RentalMultiple Choice Question
External References

You can find additional information on the following

Deakin University (Australia)

Normally, the lessons are for the C language but a couple of chapters make a transition to C++.

EDM/2

These are intermediate articles in C++, covering some areas you should move to once you know the fundamentals of C++.

A few (simple) examples of C++ programs
FLU

Many useful examples of programs, including linked lists

C++ in AP Computer Science

A listing of the programs used in the Advanced Placement exam.

Alex Russell's Dos Game Programming in C for Beginners

Tutorials on developing DOS screens using the C language.

Other Links

See FunctionX website

Engineering News

Central Board of Secondary Education

Architecture News

Management News

Medical News

Journalism News

ss_blog_claim=39d0fbd9150037431cf33bbbf3c7c7ce