Introduction to Algorithms

| Educational level: this is a secondary education resource.

|

| Completion status: this resource is just getting off the ground. Please feel welcome to help!

|

| Subject classification: this is a mathematics resource.

|

| Subject classification: this is an information technology resource.

|

This course is a part of The School of Computer engineering.

## Introduction

[edit | edit source]

Sorting is an example of an algorithm, though the sort shown above is not the most efficient.

The understanding of algorithms is one of the key differences between a good programmer and a bad one. The use of proper algorithms, and the knowledge on how to build one, leads to efficient and sturdy programs. In this course, students will become familiar with these ideas and develop good programming techniques.

Due to the open nature of Wikiversity you are free to browse through these courses at whatever pace you desire. However, before you begin this course you should consider reviewing the material covered in the prerequisite courses (listed below) to ensure that you are prepared to learn this content.

In each lesson there is an objective at the top of the page, review these points and keep them in mind as you go through the lesson. At the end there is an assignment to test your understanding and further explain the material. Once you have finished the entire course you may move on to another course in the unofficial degree.

(Note: Many of these lessons are stubs, and they need a lot of help. Please excuse the mess - and help out if you can!).

## Prerequisites

[edit | edit source]

Prerequisites are courses it is suggested you understand before you attempt this course. If you're having a hard time understanding the material in this course, make sure you understand these prerequisites first.

* Introduction to Programming

## Lessons

[edit | edit source]

1. What is an algorithm?
2. Subalgorithms
3. Variables
4. Efficiency
5. Flow Control
6. Common Algorithms

## Active Participants

[edit | edit source]

### Students

[edit | edit source]

If you are using this course as a learning resource, please sign below by typing 4 tildes (~). Rickerdydoodah (discuss • contribs) 00:47, 20 April 2015 (UTC)

* Ali.samva 21:31, 29 January 2013 (UTC)
* Har,shini 04:52, 04 July 2018
* 164.106.228.253 (discuss) 16:04, 30 April 2013 (UTC)
* 14.139.128.11 (discuss) 10:29, 2 May 2013 (UTC)
* Forbloggerku (discuss • contribs) 22:48, 11 October 2013 (UTC)
* Iliketolearn777 (discuss • contribs) 09:08, 31 May 2014 (UTC)
* Tlozano~enwikiversity (discuss • contribs) 02:17, 16 September 2015 (UTC)

165.199.181.15 (discuss) 16:04, 13 December 2023 (UTC)

* Digitalnamshub (discuss • contribs) 06:54, 17 December 2015 (UTC)
* Quinjica (discuss • contribs 22:54, 11 February 2016 (UTC+1)

Muhammad j yakubu (discuss • contribs) 22:18, 26 December 2016 (UTC)

* Alex.RL 10:35, 10 September 2018 (UTC)
* Ralepop (discuss • contribs) 16:03, 23 August 2024 (UTC)

2601:1C2:500:9561:E05A:C5EC:71E1:E92F (discuss) 22:02, 12 March 2019 (UTC)

Sadicm1 (discuss • contribs) 08:54, 10 April 2017 (UTC) 87.49.146.209 (discuss) 06:25, 27 March 2018 (UTC)

### Teachers or Contributors

[edit | edit source]

If you are helping to develop this resource, or want to help mentor enrolled students - Please sign below by typing 4 tildes (~).

* Azotochtli (talk) 13:50, 13 August 2012 (UTC)

Kearabilwe (discuss • contribs) 17:08, 10 August 2022 (UTC)