# Talk:What is an algorithm

This lesson would be easier for people to find if we remove the quotation marks. Hillgentleman|Talk 01:38, 18 July 2008 (UTC)

the wiki fairy was here :-) ----Erkan Yilmaz uses the Wikiversity:Chat (try) 17:15, 18 July 2008 (UTC)

I found the format in the first lesson helpful (History of computing - http://en.wikiversity.org/wiki/History_of_computing), where you have "required work". Perhaps we could apply that in this lesson, and add as a first task an assignment to get familiar with (possibly write a 1/4-1/2 page summary?) this page on wikipedia - http://en.wikipedia.org/wiki/Algorithm

The flowchart on the wikipedia algorithm page is very simple/helpful in explaining the concept, in particular.

The code would look something like this:

1. Read the following Wikipedia article, and write a 1/2 page summary of how this concept applies to Computer Science.

AdaptiveCampus 17:59, 2 March 2009 (UTC)

I wasn't quite sure where you guys were going with this, but I tried to clean the article up. Should there be any discussions about types of algorithms or some examples (sort is the first which comes to mind). Azotochtli (talk) 22:10, 26 July 2012 (UTC)

## Discussion of an actual computer algorithm

I think some brief discussion of a real algorithm would be beneficial, as presently the only examples are explanations of processes not commonly performed by a computer. I think there should perhaps be one brief example of a task performed by humans, but only as a way of gently introducing the concept. The majority of the examples should be some very simple computer-performed task, in my opinion.

Bkconrad (talk) 17:36, 30 July 2012 (UTC)

I agree, the examples which exist in the lesson are a good starting point for beginners - but something more applicable would be great. As I said above I think a sort algorithm would fit in well. (there are also quite a few good gifs on wikimedia commons for this). I think it should be appended onto the end of the lesson as it stands now. Azotochtli (talk) 20:51, 30 July 2012 (UTC)

## Comment

This is not so much a comment on the resource itself, but computer science education in general. I think there's a strong case to be made that the function should be the point of emphasis rather than the algorithm, with very few exceptions. Anyone who teaches computer science should be familiar with the Church-Turing thesis, which shows they're equivalent in the technical sense. The functional approach is not only more conceptually general, being directly analogous to functions in a mathematical sense, but it also teaches one how to naturally break any given problem down into subcomponents and organize them in a sensible way. Functional languages usually have a clear syntax and lack the confusing boilerplate code that object-oriented languages require. Something like java is awful for education. I cannot tell you how many students I've seen who are well into their program or even grad students, yet are still completely oblivious, not having the first clue how to approach a given problem. A functional language makes it harder to get away with a shallow and vague understanding of the problem, yet easier and more natural if one is thinking about it the right way. I might even make a resource using this approach myself eventually. I can imagine any number of reasons why a college might favor a vocational approach using OOP, fewer theoretical classes, etc. but that's no more scholarly than teaching someone how to be an auto mechanic, and I don't for a moment believe it's for the benefit of the student. It's something that really bothers me. AP295 (discusscontribs) 17:18, 28 October 2023 (UTC)