University Homepage
DRPS Homepage
DRPS Search
DRPS Contact
DRPS : Course Catalogue : School of Informatics : Informatics

Undergraduate Course: Computer Algebra (INFR11111)

Course Outline
SchoolSchool of Informatics CollegeCollege of Science and Engineering
Credit level (Normal year taken)SCQF Level 11 (Year 4 Undergraduate) AvailabilityAvailable to all students
SCQF Credits10 ECTS Credits5
SummaryComputer graphics uses various shapes such as ellipsoids for modelling. Consider the following problem: we are given an ellipsoid, a point from which to view it, and a plane on which the viewed image is to appear. The problem is to find the contour of the image as an equation (a numerical solution is not good enough for many applications). The problem does not involve particularly difficult mathematics, but a solution by hand is very difficult. This is an example of a problem that can be solved fairly easily with a computer algebra system. These systems have a very wide range of applications and are useful both for routine work and research. From a computer science point of view they also give rise to interesting problems in implementation and the design of algorithms. The considerations here are not only theoretical but also pragmatic. The design of efficient algorithms in this area involves various novel techniques.
The course addresses the underlying principles and supporting mathematics by considering a few key areas and algorithms. There is also emphasis on developing an intuitive understanding of techniques. There is a two way process in which the desire to solve mathematical problems motivates the design of new algorithms and in turn the process of designing algorithms motivates supporting mathematical material. The course uses the open source computer algebra system Axiom to support coursework and as an example of algorithms in practice.
Course description * Axiom: general design principles, user facilities, data structures, domains, etc.
* Brief comparison of systems.
* Algebraic structures: overview, basic concepts and algorithms.
* Arbitrary precision operations on integers, rationals, reals, polynomials and rational expressions.
* Importance of greatest common divisors and their efficient computation for integers and univariate polynomials (using modular methods).
* Multivariate polynomial systems: solution of sets of equations over the complex numbers; construction and use of Groebner bases; relevant algebraic structures and results.
* Reliable solution of systems of polynomial equations in one variable; Sturm sequences, continued fractions method.

Relevant QAA Computing Curriculum Sections: Data Structures and Algorithms, Simulation and Modelling, Theoretical Computing
Entry Requirements (not applicable to Visiting Students)
Pre-requisites It is RECOMMENDED that students have passed Discrete Mathematics and Mathematical Reasoning (INFR08023)
Prohibited Combinations Other requirements It is recommended that students have passed Discrete Mathematics and Mathematical Reasoning or a course providing equivalent practice at mathematical reasoning.
Information for Visiting Students
High Demand Course? Yes
Course Delivery Information
Academic year 2017/18, Available to all students (SV1) Quota:  None
Course Start Semester 2
Timetable Timetable
Learning and Teaching activities (Further Info) Total Hours: 100 ( Lecture Hours 20, Summative Assessment Hours 2, Programme Level Learning and Teaching Hours 2, Directed Learning and Independent Learning Hours 76 )
Assessment (Further Info) Written Exam 80 %, Coursework 20 %, Practical Exam 0 %
Additional Information (Assessment) Three sets of exercises involving the use of Axiom as well as pencil and paper work.

You should expect to spend approximately 24 hours on the coursework for this course.

If delivered in semester 1, this course will have an option for semester 1 only visiting undergraduate students, providing assessment prior to the end of the calendar year.
Feedback Not entered
Exam Information
Exam Diet Paper Name Hours & Minutes
Main Exam Diet S2 (April/May)2:00
Learning Outcomes
On completion of this course, the student will be able to:
  1. Use the computer algebra system Axiom as an aid to solving mathematical problems, e.g., by implementing appropriate algorithms and evaluating results.
  2. Explain the gap between ideal solutions and actual systems (the need to compromise for efficiency reasons).
  3. Discuss the mathematical techniques as well as data structures used in the course and relate them to computational concerns.
  4. Discuss and apply various advanced algorithms and the mathematical techniques used in their design, applying them to related problem areas.
  5. Use the techniques of the course to design and justify an efficient algorithm for a given mathematical problem (of a fairly similar nature to those discussed in the course).
Reading List
* J. von zur Gathen and J. Gerhard, Modern Computer Algebra, Cambridge University Press, second edition, 2003.
* K. O. Geddes, S. R. Czapor and G. Labahn, Algorithms for Computer Algebra, Kluwer Academic Publishers (1992).
* J.H. Davenport, Y. Siret and E. Tournier, Computer Algebra; systems and algorithms for algebraic computation, Academic Press 1988.
* D.E. Knuth, Seminumerical Algorithms, second dedition, Addison-Wesley 1981.
Additional Information
Course URL
Graduate Attributes and Skills Not entered
KeywordsNot entered
Course organiserDr Kyriakos Kalorkoti
Tel: (0131 6)50 5149
Course secretaryMr Gregor Hall
Tel: (0131 6)50 5194
Help & Information
Search DPTs and Courses
Degree Programmes
Browse DPTs
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Combined Course Timetable
Important Information