Забавно со сортирање

Овој час ги запознава студентите со сортирање, еден од најосновните и најосновните проблеми во компјутерските науки. Студентите работат во тимови за да откријат алгоритми и да изнајдат начини за подредување броеви.

  • Внимавајте како може да има повеќе начини на подредување броеви и како некои начини се поефикасни од другите.
  • Внимавајте како алгоритам е „постапка“ и не треба да зависи од влезот.
  • Дознајте дека алгоритмот мора да биде многу експлицитен во неговите упатства.

Возрасни нивоа: 10-16

Изградба на материјали (за секој тим)

Потребни материјали

  • Картон или градежна хартија
  • 1 Голем маркер
  • Лента
  • Големи пластични блокови за играње
  • Големи картонски кутии

Дизајн предизвик

Вие сте дел од тим инженери со оглед на предизвикот да ги сортирате предметите во списокот со поставување специфични прашања, како споредба на два предмети според нивната нумеричка вредност.

Критериуми

  • Објектите со скриен број ќе го формираат списокот.
  • Мора да ги подреди списоците со поставување на низа прашања.

Ограничувања

  • Броевите се видливи само за „контролорот“.
  1. Пауза од часови во тимови од 3-5.
  2. Поделете го работниот лист Забава со сортирање, ако сакате учениците да ги пополнат прашањата на работниот лист. Во спротивно, може да ја спроведете активноста без работниот лист.
  3. Погледнете во Делот за концепти на позадината за совети и смена на проблеми.
  4. Постои основно подредување, а потоа четири активности. Активноста # 2 и # 3 треба да се заврши заедно. Активноста # 3 & # 4 треба да се заврши заедно. Се проценува дека секој од нив трае 90 минути.
  5. Прегледајте ги Основните инструкции за сортирање подолу со часот и од учениците нека ја направат Основната активност за сортирање.
    Основни инструкции за сортирање:
    ● Чекор 1: Студентите ќе изберат 8 објекти за да ја претстават листата што треба да се сортираат. Тие можат да изберат што било за да ја претстават нивната листа на броеви. Некои идеи за списокот се: а. Големи пластични блокови за играње b. Големи картонски кутии
    ● Чекор 2: Студентите избираат едно лице во тимот за да биде „контролор“.
    ● Чекор 3: Контролорот треба да напише случајни броеви на парче хартија и да ги залепи предметите за да бидат скриени од другите ученици. Само контролорот треба да може да ги гледа.
    ● Чекор 4: Тимот сега ќе се обиде да го подреди списокот по растечки редослед. За да го направат ова, студентите можат да ги направат овие три работи:
    а Прашајте го контролорот „Дали овој број е поголем од тој број?“ што им овозможува на студентите да споредат кои било два броја. Контролорот може да одговори само со да или не.
    б Побарајте од контролорот да размени кои било два предмети. Потоа контролорот ќе ги замени предметите, осигурувајќи се дека нема да ги открие броевите на нив.
    в Побарајте од контролорот да премести кој било објект во одредена позиција, т.е. „Преместете го овој објект на трета позиција“ или „Преместете го овој предмет помеѓу тие два предмети“.
    ● Чекор 5: Контролорот ќе брои број на поставени прашања да / не. Студентите треба да се обидат да ги подредат броевите, притоа сведувајќи го бројот на прашањата на минимум.
    ● Чекор 6: Откако учениците ќе почувствуваат дека списокот е подреден, тие ќе го замолат контролорот да ги открие броевите. Ако списокот не е подреден, тогаш контролорот ја меша листата и започнува одново.
  6. Прегледајте ја Активноста # 1 - Упатства за сортирање единечно вметнување подолу со часот и од учениците нека направат сортирање за единечно вметнување.
    Активност # 1 - Инструкции за сортирање единечно вметнување:
    ● Чекор 1: Користете блокови или полиња, поставете го првичниот список на следниов начин: еден од броевите треба да се издвои, а останатите треба да се однапред подредени по растечки редослед. Потоа, издвоениот број треба да се стави на едниот крај од сортираниот дел од списокот. Тимот не треба да ги гледа броевите, но треба да знае дека целата листа е подредена, освен еден број на крајот, што не е на свое место.

    ● Чекор 2: Студентите треба потоа да ги следат упатствата во Чекор # 4, наведени во Основниот вид погоре, и да се обидат целосно да го сортираат списокот. Ова се нарекува единечно вметнување и помага како основен градежен блок за други алгоритми за сортирање како сортирање на вметнување.
    ● Чекор 3: Објаснете им на учениците дека ако можат да ги видат броевите, ќе биде очигледно дека тие едноставно можат да постават 4 помеѓу 3 и 5 и списокот ќе биде целосно подреден. Сепак, тоа не е начинот на работа на компјутерите. Затоа, студентите мора да започнат со споредување на броеви, а потоа да нарачаат свопови и / или потези. Во овој случај, студентите знаат дека целата листа е во растечки редослед, освен последниот број. Студентите треба природно да сфатат дека едноставно треба да ја утврдат позицијата во која треба да се вметне последниот нереден број. Вметнете 6 слики од примерот ОВДЕ
    Горенаведената низа на дијаграми покажува што идеално треба да се случи во училницата. Во текот на целата активност, учениците не се свесни за броевите на списокот и едноставно му даваат збир на упатства на контролорот за споредување на броевите.
    Оваа активност ги запознава студентите со концептот на повторување. Повторувањето е чекор во Процесот на инженерско дизајнирање. Студентите треба да повторуваат одново и одново за правилно сортирање на броевите.
  7. Прегледајте ја Активноста # 2 - Упатства за подредување на вметнување подолу со часот и од учениците нека направат сортирање на вметнување.
    Активност # 2 - Инструкции за сортирање на вметнување:
    ● Чекор # 1: Користејќи блокови или полиња, наредете го списокот по случаен избор.
    ● Чекор # 2: Студентите сега треба да се обидат да го сортираат користејќи го нивното претходно знаење за единечно вметнување.
    ● Чекор # 3: Студентите треба да го расчленат проблемот во серија единечни вметнувања. Осамен број сам по себе е подреден список. На пример, можеме да кажеме дека единствениот број на крајната лева страна на случајно подредената листа е подредена листа.
    ● Чекор # 4: Студентите сега треба да ја земат предвид оваа подредена листа со 1 елемент и да направат Сортирање на вметнување третирајќи го вториот елемент како број надвор од местото во единечно вметнување.
    ● Чекор # 4: Откако ќе заврши, студентите сега имаат подреден список со 2 елементи. Постапката потоа се повторува третирајќи го третиот елемент како број надвор од местото, така што ќе добиеме подредена листа од 3 елементи.
    ● Чекор # 5: Студентите продолжуваат да ја повторуваат оваа низа на единечни вметнувања, сè додека конечно не ја добијат целата подредена листа. Следниот редослед на дијаграми покажува што студентите треба идеално да се обидат. Забележете како со текот на времето расте жолтото поле, кое означува подреден дел од списокот. Имајте на ум дека Единствено вметнување се изведува постојано со користење на жолтиот дел од списокот како подредена листа, а следниот елемент од десната страна како број надвор од местото Постапката на крајот ќе го сортира целиот список!
    Вметнете 10 слики од примерот ТУКА
  8. Прегледајте ја Активноста # 3 - Инструкции за сортирање со список со две списоци подолу со часот и од учениците нека направат сортирање со спојување со две списоци.
    Активност # 3 - Инструкции за сортирање со список со две списоци:
    ● Чекор # 1: Поставете ја првичната листа на следниов начин: Поделете ги 8-те предмети на 2 листи со по 4 предмети, и двете списоци треба да бидат сортирани независно.
    ● Чекор # 2: Списоците треба да се постават рамо до рамо, а студентите сега треба да се обидат да ги „спојат“ двете подредени списоци во една сортирана листа следејќи ги упатствата од Основното сортирање.
    ● Чекор # 3: Овој вид е корисна почетна точка и градежен блок за пософистициран алгоритам: Спојување на сортирање. Ова исто така бара од студентите да се потсетат и повторно да го користат своето знаење за единечно вметнување.
    ● Чекор # 4: Списокот лево е подреден, така што можете да го третирате 5-тиот број како не-место и да го подредите во левата листа. Сепак, има нешто што учениците мора да го откријат сами. Тие мора да го искористат фактот дека списокот десно е исто така подреден, така што следниот број што треба да се вметне е секогаш поголем од последниот вметнат број.
    ● Чекор # 5: Кога учениците сакаат да го спојат вториот елемент во десната листа во левата листа, не треба повторно да извршуваат единечно вметнување од крајната лева страна, туку едноставно да започнат од точката во која го вметнаа последниот елемент.
    ВИДИ 3 СЛИКИ ЗА ПРИМЕР ОВДЕ Забележете дека во горниот чекор, не ги започнувате прашањата од почеток на жолтиот список, што е направено во Сортирање на вметнување. Ова е затоа што знаеме дека следниот број што треба да се вметне во жолтата листа е веќе поголем од бројот внесен последен, бидејќи розовата листа веќе беше подредена.
  9. Прегледајте ја Активност # 4 - Спојте ги упатствата за сортирање подолу со часот и од учениците нека направат сортирање за вметнување.
    Активност # 4 - Спојување на инструкции за сортирање:
    ● Чекор # 1: Поставете го списокот по случаен избор. Студентите треба да се обидат да го подредат списокот користејќи го нивното претходно знаење за спојување на две списоци.
    ● Чекор # 2: Главната идеја зад Спојување на сортирање е принципот на поделба и освојување. Тој е еден од основните концепти зад секој денешен софистициран алгоритам за сортирање. Студентите ќе треба да го земат предвид секој број како индивидуална подредена листа со големина 1.
    ● Чекор # 3: Оттаму, студентите ќе се обидат да го извршат познатото спојување со две списоци на списоците. Сепак, на прв поглед, она што студентите ќе се обидат нема да биде многу различно од Сортирање на вметнување. Прво ќе спојат два броја, а потоа трет, а потоа четврти и така натаму. Ова во суштина е Сортирање на вметнување.
    ● Чекор # 4: Трикот за спојување на сортирањето е следен:
    ○ Од рандомизираната листа, третирајте го секој број како подредена листа со големина 1.
    ○ Потоа, формирајте парови на соседни списоци и спојте ги, така што сега ќе имаме 4 подредени списоци, секој со големина 2.
    ○ Потоа, повторно формирајте парови на списоци и спојте ги, за да добиете 2 списоци, секој со големина 4.
    ○ Едно последно спојување, и добиваме комплетен подреден список со големина 8. Овој пристап гарантира дека повторувањата над секој поединечен број се минимизирани, така што бројот на поставени прашања со да / не е исто така минимизиран.
  10. За повеќе содржини на темата, видете во делот „Копање подлабоко“.

Модификација на времето

Лекцијата може да се заврши во период од само 1 час за постари ученици. Сепак, за да им помогнете на студентите да се почувствуваат избрзани и да обезбедат успех на студентите (особено за помладите ученици), поделете ја лекцијата во два периоди, давајќи им на студентите повеќе време за бура на идеи, тест идеи и финализирање на нивниот дизајн. Спроведете тестирање и дебрифија во следниот час.

Совети и смена на проблеми

Во текот на вежбите, на студентите треба да им се даде секоја можност да излезат сами со одговорите. Целта на играта е учениците да „играат“ околу проблемот и самите да видат што работи, а што не. Оваа форма на учење базирано на откритие е исклучително ефикасна при развивање на високо ниво на когнитивно размислување и решавање проблеми на студентите. Исто така, треба да се охрабруваат дискусии меѓу студенти.

Цртежот на слики и дијаграми може да биде многу ефикасен во комуникацијата на оваа студија со студентите. Графиките дадени во Делот за упатства за активност може да се користат како упатства за нацртување на различните чекори. Студентите исто така можат да бидат охрабрени да цртаат дијаграми што ги прикажуваат нивните предложени алгоритми и решенија.

Ако студентите имаат потешкотии да започнат, еве неколку совети за тоа како да ги натерате студентите на вистинскиот пат:

  • Охрабрете ги учениците да разговараат за задачата. Почесто отколку не, учениците ненамерно ќе смислуваат решенија сами, кога „ќе размислат гласно“ и ќе разговараат за проблемот и / или за неговото решавање со своите врсници.
  • Започнете ја дискусијата прашувајќи ги студентите за нивните гледишта и охрабрувајќи ги студентите со различни гледишта да се вклучат во активни дискусии.
  • Понудете потенцијално решение и прашајте ги студентите што мислат дека би се случило доколку се обиде да се обиде. Ваквото прашање, најверојатно, ќе предизвика нов процес на размислување во умовите на студентите и ќе им помогне да видат каде излегуваат од колосек. Самото прашање може да се однесува на она што часот веќе го дискутирало, или може да биде сосема нова, но не и нужно точна мисла. Целта не е да се даде точен одговор, туку да се охрабрат учениците да ги проценуваат можните решенија и да размислуваат и да размислуваат за себе.

Ефикасно искористете ги натпреварите меѓу екипите. Обидете се да нацртате корелација помеѓу бројот на поставени прашања наспроти времето потребно за сортирање на списокот и дали има корелација помеѓу освојувањето и поставувањето помалку прашања.

Интернет конекции

Препорачано четиво

  • Уметност на компјутерско програмирање, том 3 од Доналд Е. Кнут (ISBN: 0321751043)

Активност за пишување

Компјутерите обично имаат тенденција да трошат околу цела четвртина од својата моќ за обработка на сортирање на различни податоци. Како пример, компјутер во болница може да одржува многу голема база на податоци за сите пациенти кои некогаш биле во болница на лекување во изминатите 5 години. Различни луѓе во болницата можеби сакаат различни списоци на пациенти. Лице што управува со финансии во болница можеби ќе посака список на пациенти нарачани според нивните болнички трошоци. Истражувач можеби ќе посака список нарачан од болеста за која се лекувале. Администратор можеби ќе посака список нарачан од докторот кој го лекувал пациентот. Додека ги генерирате овие списоци, компјутерот ќе мора да ги подредува податоците секојпат според потребите на корисникот. Можете ли да помислите на некое друго сценарио во кое сортирањето е важно? Кои предности се одржуваат сортирани податоци во однос на несортирани податоци? Кои се можните недостатоци?

Усогласување со рамки на наставните програми

Забелешка: Плановите за лекции во оваа серија се усогласени со еден или повеќе од следниве групи на стандарди:  

Национални стандарди за образование во наука Оценки К-4 (возраст 4 - 9)

СТАНДАРД СОДРИНА А: Наука како истражување

Како резултат на активности, сите ученици треба да се развиваат

  • Способности неопходни за вршење на научни истражувања 

СОДРИНА СТАНДАРД Б: физички науки

Како резултат на активностите, сите ученици треба да развијат разбирање за

  • Карактеристики на предмети и материјали 

СТАНДАРД СОДРИНА Е: Наука и технологија 

Како резултат на активности, сите ученици треба да се развиваат

  • Способности на технолошки дизајн 
  • Разбирање за науката и технологијата 

СТАНДАРД СОДРИНА Ф: Наука во лични и социјални перспективи

Како резултат на активности, сите ученици треба да развијат разбирање за

  • Видови ресурси 
  • Наука и технологија во локалните предизвици 

СТАНДАРД СОДРИНА Г: Историја и природа на науката

Како резултат на активности, сите ученици треба да развијат разбирање за

  • Науката како човечки потфат 

Национални стандарди за образование во наука Одделение 5-8 (возраст од 10 до 14 години)

СТАНДАРД СОДРИНА А: Наука како истражување

Како резултат на активности, сите ученици треба да се развиваат

  • Способности неопходни за вршење на научни истражувања 
  • Разбирање за научни истражувања 

СОДРИНА СТАНДАРД Б: физички науки

Како резултат на нивните активности, сите студенти треба да развијат разбирање за

  • Својства и промени на својствата во материјата 

СТАНДАРД СОДРИНА Е: Наука и технологија

Како резултат на активности во 5-8 одделение, сите ученици треба да се развиваат

  • Способности на технолошки дизајн 
  • Разбирање за науката и технологијата 

Национални стандарди за образование во наука Одделение 5-8 (возраст од 10 до 14 години) (продолжение)

СТАНДАРД СОДРИНА Ф: Наука во лични и социјални перспективи

Како резултат на активности, сите ученици треба да развијат разбирање за

  • Ризици и придобивки 
  • Наука и технологија во општеството 

Принципи и стандарди за училишна математика (возраст од 6 до 18 години)

Мерење

  • разбере мерливи атрибути на објектите и единиците, системите и процесите на мерење. 
  • примени соодветни техники, алатки и формули за одредување на мерењата. 

Решавање на проблеми

  • градат нови математички знаења преку решавање на проблеми.
  • решаваат проблеми што се јавуваат во математиката и во други контексти.
  • применуваат и прилагодуваат различни соодветни стратегии за решавање на проблемите. 
  • следи и размислува за процесот на решавање на математички проблеми. 

Врски

  • да препознава и применува математика во контексти надвор од математиката.

Застапеност

  • создаваат и користат репрезентации за организирање, снимање и комуницирање на математички идеи. 
  • изберете, применете и преведете меѓу математички претстави за решавање на проблеми. 

Стандарди за технолошка писменост - сите векови

Природата на технологијата

  • Стандард 1: Студентите ќе развијат разбирање за карактеристиките и обемот на технологијата.
  • Стандард 3: Студентите ќе развијат разбирање за односите меѓу технологиите и врските помеѓу технологијата и другите области на студии.

Технологија и општество

  • Стандард 4: Студентите ќе развијат разбирање за културните, социјалните, економските и политичките ефекти на технологијата.
  • Стандард 6: Студентите ќе развијат разбирање за улогата на општеството во развојот и употребата на технологијата.

дизајн

  • Стандард 9: Студентите ќе развијат разбирање за инженерскиот дизајн.

Стандарди за технолошка писменост - сите векови (продолжение)

Способности за технолошки свет

  • Стандард 13: Студентите ќе развијат способности за проценка на влијанието на производите и системите.

Дизајнираниот свет

  • Стандард 14: Студентите ќе развијат разбирање за и ќе можат да изберат и да користат медицински технологии.
  • Стандард 19: Студентите ќе развијат разбирање за и ќе можат да изберат и да користат технологии на производство.

Сесија 1 - Сортирање на вметнување

Ова е групна вежба. Пред да започнете, ве молиме формирајте група од 3-5 студенти.


Единечно вметнување

Нацртајте 8 картички, секоја со различен број. Нека еден ученик од вашата група е контролор, а другите треба да играат заедно. Само контролорот е дозволен да ги гледа броевите.

Контролорот треба да ги постави картичките за единечно вметнување, а другите треба да играат за да го сортираат списокот. Направете го тоа најмалку 5 пати и пополнете ја табелата подолу.

 

Круг Број на поставени прашања да / не Кој беше бројот што не беше на место?
1
2
3
4
5

Врз основа на информациите што ги внесовте погоре, одговорете на следниве прашања:

  1. Кој е просечниот број на прашања поставени во еден круг?

 

______________________

 

  1. Да претпоставиме дека треба да ја пополните горната табела за 5000 единечни вметнувања. Што мислите, која би била најголемата можна вредност во втората колона (Број на поставени прашања да / не)?

 

______________________

 

  1. Да претпоставиме дека работевте со список од 10 броја наместо 8. Кој би бил вашиот одговор на прашањето 2 во тој случај?

 

______________________

 

  1. Дали сега можете да ја поврзете големината на списокот со бројот на прашања поставени во најлош случај? Дајте многу краток одговор за тоа како мислите за големината на списокот и прашањата поставени во најлош случај (Запомнете, колку е помал бројот на прашања, толку подобро. Значи, кога велиме „најлош случај“, мислиме на најголем можен број на поставени прашања)

 

__________________________________________________________________

 

__________________________________________________________________

 

__________________________________________________________________

 

__________________________________________________________________

 

 

Вметнување Подреди

Сега, со истите тие карти, играјте ја играта Вметнување сортирај. Запомнете да започнете со целосно случајна листа.

Направете сортирање со вметнување најмалку 5 пати и пополнете ја табелата подолу. Контролорот треба да води евиденција за третата колона пред да започне со сортирање и да го открие откако списокот ќе биде подреден.

 

Круг Број на поставени прашања да / не Која беше почетната листа?
1
2
3
4
5

 

Врз основа на информациите што ги внесовте погоре, одговорете на следниве прашања:

  1. Кој е просечниот број на прашања поставени во еден круг?

 

______________________

 

  1. Сигурно сфативте дека Сортирањето на вметнување е само серија единечни вметнувања. Дајте многу краток одговор за тоа како би го поврзале бројот на единечни вметнувања со големината на списокот што треба да се сортира.

 

__________________________________________________________________

 

__________________________________________________________________

 

__________________________________________________________________

 

__________________________________________________________________

 

 

  1. Запомнете го вашиот одговор на прашањето 2 од вежбата Единствено вметнување. Користете го тој одговор за да пресметате број на прашања што треба да ги поставите во Сортирање на вметнување во „најлош случај“. Покажете ги своите чекори.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Конечен одговор: __________________

 

  1. Одете во глава со друга група во натпревар за сортирање за да видите кој може побрзо да сортира рандомизирана листа. Eachе има по еден контролор од секој тим, во интерес на правичноста. Правилата за игра треба строго да се следат, но можете да користите која било постапка што сакате.

 

Број на прашања што ги поставивте: _______________________

 

Број на прашања што ги поставил противникот: _______________________

 

Дали победивте? _______________________

 

Сесија 2 - Спојување на сортирање

Ова е групна вежба. Пред да започнете, ве молиме формирајте група од 3-5 студенти.


Спој со две списоци

Нацртајте 8 картички, секоја со различен број. Нека еден ученик од вашата група е контролор, а другите треба да играат заедно. Само контролорот е дозволен да ги гледа броевите.

Контролорот треба да ги постави картичките за спојување со две списоци, а другите треба да играат за да го сортираат списокот. Направете го тоа најмалку 5 пати и пополнете ја табелата подолу.

 

Круг Број на поставени прашања да / не Која беше почетната листа?
1
2
3
4
5

 

Врз основа на информациите што ги внесовте погоре, одговорете на следниве прашања:

  1. Кој е просечниот број на прашања поставени во еден круг?

 

______________________

 

  1. Да претпоставиме дека треба да ја пополните горната табела за 5000 спојувања со две списоци. Што мислите, која би била најголемата можна вредност во втората колона (Број на поставени прашања да / не)?

 

______________________

 

  1. Да претпоставиме дека работевте со список од 10 броја наместо 8. Кој би бил вашиот одговор на прашањето 2 во тој случај?

 

______________________

 

  1. Сега вратете се и погледнете ги одговорите што ги дадовте за вежбата за единечно вметнување. Какви сличности гледате? Кои разлики? Како се разликуваат броевите? Дали се разликуваат малку, или се разликуваат многу? Запишете ги вашите размислувања за ова.

 

__________________________________________________________________

 

__________________________________________________________________

 

__________________________________________________________________

 

__________________________________________________________________

 

__________________________________________________________________

 

__________________________________________________________________

 

__________________________________________________________________

 

__________________________________________________________________

 

__________________________________________________________________

 

Спојување Сортирај

Сега, со истите тие карти, играјте ја играта Спои Сортирај. Запомнете да започнете со целосно случајна листа.

Направете спојување сортирање најмалку 5 пати и пополнете ја табелата подолу. Контролорот треба да води евиденција за третата колона пред да започне со сортирање и да го открие откако списокот ќе биде подреден.

 

Круг Број на поставени прашања да / не Која беше почетната листа?
1
2
3
4
5

 

Врз основа на информациите што ги внесовте погоре, одговорете на следниве прашања:

  1. Кој е просечниот број на прашања поставени во еден круг?

 

______________________

 

  1. Сигурно сфативте дека Сортирањето на спојувањето е само серија спојувања со две списоци. Колку спои со две списоци направивте за да споите Сортирање на списокот од 8 броја?

 

______________________

 

  1. Запомнете го вашиот одговор на прашањето 2 од вежбата Спојување со две списоци. Користете го тој одговор за да пресметате број на прашања што треба да ги поставите во Спојување на сортирање во „најлош случај“. Покажете ги своите чекори.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Конечен одговор: __________________

 

  1. Одете во глава со друга група во натпревар за сортирање за да видите кој може побрзо да сортира рандомизирана листа. Eachе има по еден контролор од секој тим, во интерес на правичноста. Правилата за игра треба строго да се следат, но можете да користите која било постапка што сакате.

 

Број на прашања што ги поставивте: _______________________

 

Број на прашања што ги поставил противникот: _______________________

 

Дали победивте? _______________________

Превод на план за час

[менувач на јазик]

Преземање на студентски сертификат за завршување