Computer Science 413: Design and Analysis of Algorithms I
cpsc 413 computer science faculty of science u of c

About Computer Science 413

Computer Science 413 is an introductory course in the design and analysis of algorithms that is offered by the Department of Computer Science at the University of Calgary. It is a required course for the B.Sc. in Computer Science program and B.Sc. Honours in Computer Science programs, and is an optional course for other Computer Science programs.

The course considers the following questions:

  • How can you prove that an algorithm (that is supposed to solve a given computational problem) is correct?

  • When does a given computational problem have an efficient algorithm, and how can the running time of an algorithm be analyzed?

  • How can we design a correct and efficient algorithm for a given computational problem?

  • How can we prove that (other) computational problems do not have any efficient algorithms, at all?

This is more of a “theory course” than a “programming course.” While programming skills are assumed as background, so that students should be able to implement algorithms that are discussed in the course, programming-related issues will not generally be discussed and students will not be asked to write programs on assignments or tests, except to give reasonably brief and clear pseudocode for algorithms as parts of answers to questions.

On the other hand, prerequisite courses in discrete mathematics and logic, algorithms and data structures, and the theory of computation will all be useful.

The online introduction to this course includes more information about the goals, topics, and expected background for CPSC 413. Information about meeting times and locations for courses, and the grading scheme that will be used, are available in the section on course administration. Information about specific lectures, tutorials, tests and assignment can generally be found by followng links in the menu on the left side of this page or on the course schedule.

About the Textbook

  • There is no textbook! While there is a recommend reference it is not heavily used! This will be discussed a bit more during the first lecture for the course.

More About These Web Pages

  • Unfortunately these pages cannot always be printed when accessed from Blackboard. It should be possible to print the versions of the pages that are available at

    http://www.cpsc.ucalgary.ca/~eberly/Courses/CPSC413/

    instead. (You should bookmark the above link and use it outside of Blackboard when you wish to print course material.)

  • While it should be possible to view these pages using Internet Explorer, students in previous sections of the course have suggested that they work better with Firefox, even on a Windows PC.

  • Finally, some of the pages view a bit better on a Macintosh instead of a Windows PC because of the availability of “script” or “cursive” fonts on a Macintosh. The pages should still be readable on a Windows PC but the differences in fonts might not be as apparent.

Course News

  • April 4: Assignment #6 is now available. Folllowing a discussion with the class an extension has been granted: This is now due at 4:00 pm on Monday, April 16. No further extensions for this assignment will be granted!
  • April 4: Assignment #5 is now available. At the request of the class, an extension has been granted: This is now due at 4:00 pm on Monday, April 9.
  • March 14: Solutions for the questions on Term Test #1 are now available.